package com.pms.service; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.ibatis.session.SqlSession; import org.springframework.stereotype.Service; import com.pms.common.Message; import com.pms.common.SqlMapConfig; import com.pms.common.bean.PersonBean; import com.pms.common.service.BaseService; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; @Service public class QualityService extends BaseService{ /*jmpark start*/ /** * 품질검사 중복체크 * 차종, 제품, 검사명, 단계1,2별 한개씩만 등록 가능하다. * 반환값 : true (중복), false (중복아님) * @param paramMap * @return */ public Map checkDuplicateQualityTestInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map map = sqlSession.selectOne("quality.getDuplicateQualityTestCnt", paramMap); if(map != null){ int cnt = Integer.parseInt(CommonUtils.checkNull(map.get("CNT"), "0")); System.out.println("cnt : "+cnt); if(cnt > 0){ resultMap.put("result", true); }else{ resultMap.put("result", false); } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 품질검사 갑지 등록 * @param paramMap * @return */ public Map saveQualityTestInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); String objId = CommonUtils.checkNull(request.getParameter("objId")); if("".equals(objId)){ objId = CommonUtils.checkNull(CommonUtils.createObjId()); } paramMap.put("objId", objId); paramMap.put("writer", writer); int cnt = sqlSession.insert("quality.insertQualityTestInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }else{ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 품질검사 갑지내용 조회 * @param paramMap * @return */ public Map getQualityTestInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("quality.getQualityTestInfo", paramMap); String writer = CommonUtils.checkNull(resultMap.get("WRITER")); //작성자 및 관리자 권한을 확인한다. resultMap.put("IS_WRITER", CommonUtils.setWriterChecker(request, writer)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 품질검사 임시목록 조회 * @param paramMap * @return */ public List getQualityTestTempList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); //paging start PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); paramMap.put("connectedUserId", person.getUserId()); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("quality.getQualityTestTempListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage); paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); //paging end resultList = sqlSession.selectList("quality.getQualityTestTempList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 품질검사 확정목록 조회 * @param paramMap * @return */ public List getQualityTestList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); //paging start PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); paramMap.put("connectedUserId", person.getUserId()); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("quality.getQualityTestListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap, countPerPage); paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); //paging end resultList = sqlSession.selectList("quality.getQualityTestList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 품질검사 상세 Part 목록조회 * @param paramMap * @return */ public List getQualityTestDetailPartList(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("quality.getQualityTestDetailPartList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 품질검사 Part별 정보 저장 * @param paramMap * @return */ public Map saveQualityTestPartInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); List partList = sqlSession.selectList("quality.getQualityTestDetailPartList", paramMap); for(int i = 0 ; i < partList.size() ; i++){ Map partInfo = (HashMap)partList.get(i); String objId = CommonUtils.checkNull(partInfo.get("QUALITY_SLAVE_OBJID")); String targetObjId = CommonUtils.checkNull(paramMap.get("targetObjId")); String partNo = CommonUtils.checkNull(partInfo.get("PART_NO")); String score = CommonUtils.checkNull(paramMap.get("score_"+partNo)); String result = CommonUtils.checkNull(paramMap.get("result_"+partNo)); String type1 = CommonUtils.checkNull(paramMap.get("type1_"+partNo)); String type2 = CommonUtils.checkNull(paramMap.get("type2_"+partNo)); System.out.println(); System.out.println("objId : "+objId); if("".equals(objId)) objId = CommonUtils.createObjId(); System.out.println("objId2 : "+objId); System.out.println("targetObjId : "+targetObjId); System.out.println("partNo : "+partNo); System.out.println("score : "+score); System.out.println("result : "+result); System.out.println(); Map sqlParamMap = new HashMap(); sqlParamMap.put("objId", objId); sqlParamMap.put("targetObjId", targetObjId); sqlParamMap.put("partNo", partNo); sqlParamMap.put("score", score); sqlParamMap.put("result", result); sqlParamMap.put("type1", type1); sqlParamMap.put("type2", type2); sqlParamMap.put("writer", writer); int cnt = sqlSession.update("quality.saveQualityTestPartInfo", sqlParamMap); if(cnt == 0){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); return resultMap; } } resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 품질검사 확정 * @param paramMap * @return */ public Map completeQualityTestInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("quality.completeQualityTestInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }else{ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /*jmpark end*/ /*edhwang start*/ /*edhwang end*/ }