package com.pms.service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.pms.common.SqlMapConfig; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; @Service public class ProtoDevMngService { CommonService commonService = null; @Autowired public void setCommonService(CommonService commonService){ this.commonService = commonService; } /** * 시작품 입고관리 목록을 가져온다. * @param request * @param paramMap * @return */ public List getProtoStockList(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("protoDevMng.getProtoStockMngListCnt", 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("protoDevMng.getProtoStockMngList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 시작품 검사관리 목록을 가져온다. * @param request * @param paramMap * @return */ public List getProtoTestMngList(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("protoDevMng.getProtoTestMngListCnt", 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("protoDevMng.getProtoTestMngList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 시작품 개발일정 갑지 목록을 가져온다. * @param request * @param paramMap * @return */ public List getProtoPlanMngList(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("protoDevMng.getProtoPlanMngListCnt", 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("protoDevMng.getProtoPlanMngList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 시작품 입고관리 갑지 상세 내용을 가져온다. * @param request * @param paramMap * @return */ public Map getProtoStockBaseInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String objId = CommonUtils.checkNull(paramMap.get("objId")); if(!"".equals(objId)){ resultMap = sqlSession.selectOne("protoDevMng.getProtoStockBaseInfo",paramMap); }else{ resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 검사관리 갑지 상세 내용을 가져온다. * @param request * @param paramMap * @return */ public Map getProtoTestBaseInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String objId = CommonUtils.checkNull(paramMap.get("objId")); if(!"".equals(objId)){ resultMap = sqlSession.selectOne("protoDevMng.getProtoTestBaseInfo",paramMap); }else{ resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 개발일정 갑지 상세 내용을 가져온다. * @param request * @param paramMap * @return */ public Map getProtoPlanBaseInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String objId = CommonUtils.checkNull(paramMap.get("objId")); if(!"".equals(objId)){ resultMap = sqlSession.selectOne("protoDevMng.getProtoPlanBaseInfo",paramMap); }else{ resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 입고관리 갑지의 중복여부를 확인한다. * @param request * @param paramMap * @return */ public Map checkDuplicate(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("protoDevMng.checkDuplicateStockBaseInfo",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 검사관리 갑지의 중복여부를 확인한다. * @param request * @param paramMap * @return */ public Map checkTestBaseInfoDuplicate(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("protoDevMng.checkDuplicateTestBaseInfo",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 개발일정 갑지의 중복여부를 확인한다. * @param request * @param paramMap * @return */ public Map checkPlanBaseInfoDuplicate(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("protoDevMng.checkDuplicatePlanBaseInfo",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 입고관리 갑지를 저장한다. * @param request * @param paramMap * @return */ public Map saveStockBaseInfo(HttpSession session,HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", CommonUtils.checkNull(person.getUserId())); sqlSession.update("protoDevMng.saveStockBaseInfo",paramMap); sqlSession.commit(); resultMap.put("result",true); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result",false); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 검사관리 갑지를 저장한다. * @param request * @param paramMap * @return */ public Map saveTestBaseInfo(HttpSession session,HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", CommonUtils.checkNull(person.getUserId())); sqlSession.update("protoDevMng.saveTestBaseInfo",paramMap); sqlSession.commit(); resultMap.put("result",true); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result",false); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 개발일정 갑지를 저장한다. * @param request * @param paramMap * @return */ public Map savePlanBaseInfo(HttpSession session,HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", CommonUtils.checkNull(person.getUserId())); sqlSession.update("protoDevMng.savePlanBaseInfo",paramMap); sqlSession.commit(); resultMap.put("result",true); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result",false); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 시작품 입고관리 파트 정보를 가져온다. * @param request * @param paramMap * @return */ public List getProtoStockPartInfo(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("protoDevMng.getStockConnectPartInfoList",paramMap); if(null != resultList && 0 < resultList.size()){ for(Map partMap : resultList){ Map shapeFileMap = new HashMap(); shapeFileMap.put("targetObjId", CommonUtils.checkNull(partMap.get("PART_OBJID"))); shapeFileMap.put("docType", CommonUtils.checkNull(Constants.FILE_DOC_TYPE_PART_SHAPE_CODE)); //해당 Row에 해당하는 첨부파일을 가져온다. ArrayList shapeFileList = commonService.getFileList(shapeFileMap); if(null != shapeFileList && 0 < shapeFileList.size()){ for(int i = 0 ; i < shapeFileList.size() ; i++){ Map fileResultMap = (HashMap)shapeFileList.get(i); partMap.put("PROTO_RESULT_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); partMap.put("PROTO_RESULT_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); partMap.put("PROTO_RESULT_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); partMap.put("PROTO_RESULT_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); } } } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 시작품 검사관리 파트 정보를 가져온다. * @param request * @param paramMap * @return */ public List getProtoTestPartInfo(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("protoDevMng.getTestConnectPartInfoList",paramMap); if(null != resultList && 0 < resultList.size()){ for(Map partMap : resultList){ Map shapeFileMap = new HashMap(); shapeFileMap.put("targetObjId", CommonUtils.checkNull(partMap.get("PART_OBJID"))); shapeFileMap.put("docType", CommonUtils.checkNull(Constants.FILE_DOC_TYPE_PART_SHAPE_CODE)); //해당 Row에 해당하는 첨부파일을 가져온다. ArrayList shapeFileList = commonService.getFileList(shapeFileMap); if(null != shapeFileList && 0 < shapeFileList.size()){ for(int i = 0 ; i < shapeFileList.size() ; i++){ Map fileResultMap = (HashMap)shapeFileList.get(i); partMap.put("PROTO_RESULT_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); partMap.put("PROTO_RESULT_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); partMap.put("PROTO_RESULT_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); partMap.put("PROTO_RESULT_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); } } } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 시작품 개발일정 파트 정보를 가져온다. * @param request * @param paramMap * @return */ public List getProtoPlanPartInfo(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("protoDevMng.getPlanConnectPartInfoList",paramMap); if(null != resultList && 0 < resultList.size()){ for(Map partMap : resultList){ Map shapeFileMap = new HashMap(); shapeFileMap.put("targetObjId", CommonUtils.checkNull(partMap.get("PART_OBJID"))); shapeFileMap.put("docType", CommonUtils.checkNull(Constants.FILE_DOC_TYPE_PART_SHAPE_CODE)); //해당 Row에 해당하는 첨부파일을 가져온다. ArrayList shapeFileList = commonService.getFileList(shapeFileMap); if(null != shapeFileList && 0 < shapeFileList.size()){ for(int i = 0 ; i < shapeFileList.size() ; i++){ Map fileResultMap = (HashMap)shapeFileList.get(i); partMap.put("PROTO_RESULT_ATTACH_FILE_PATH", CommonUtils.checkNull(fileResultMap.get("FILE_PATH"))); partMap.put("PROTO_RESULT_ATTACH_SAVED_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("SAVED_FILE_NAME"))); partMap.put("PROTO_RESULT_ATTACH_UPPER_FILE_EXT", CommonUtils.checkNull(fileResultMap.get("UPPER_FILE_EXT"))); partMap.put("PROTO_RESULT_ATTACH_REAL_FILE_NAME", CommonUtils.checkNull(fileResultMap.get("REAL_FILE_NAME"))); } } } } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 시작품 입고관리 파트 정보를 저장한다. * @param request * @param paramMap * @return */ public Map saveProtoStockPartInfo(HttpSession session,HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); String[] relObjIds = request.getParameterValues("relObjId"); String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId")); if(null != relObjIds && 0 < relObjIds.length){ for(int i=0;i