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.stereotype.Service; import com.pms.common.JsonUtil; import com.pms.common.Message; 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 ProductionPlanningService { /** * 이슈관리 상세 조회 * @param paramMap * @return */ public Map issueFormPopUp(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("productionplanning.selectPlanningIssueInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** 이슈등록 * @param request * @param paramMap * @return */ public Map saveissueInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); int cnt = sqlSession.update("productionplanning.mergeissueInfo", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); } sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 이슈 삭제 * @param request * @param paramMap * @return */ public Map planningDelete(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkParam = CommonUtils.checkNull(paramMap.get("checkArr")); String[] targetObjIdList = checkParam.split(","); if(null != targetObjIdList && 0 < targetObjIdList.length){ HttpSession session = request.getSession(); sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String userId = person.getUserId(); for(int i=0;i saveReleaseMgmtInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); String releaseWriter = CommonUtils.checkNull(paramMap.get("RELEASE_WRITER")); String releaseDate = CommonUtils.checkNull(paramMap.get("RELEASE_DATE")); if("".equals(releaseDate)){ paramMap.put("STATUS", "0000200"); }else{ paramMap.put("STATUS", "0000201"); } paramMap.put("WRITER", releaseWriter); System.out.println("paramMap :: " + paramMap); sqlSession.insert("releaseMgmt.saveReleaseMgmtInfo", paramMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 조립 WBS * @param paramMap * @return */ public List getassemblyWbsList(HttpServletRequest request,Map paramMap){ List> spareList = new ArrayList(); List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ spareList = sqlSession.selectList("productionplanning.selectStructureAscendingList", paramMap); int maxLevel = 0; if(null != spareList && 0 < spareList.size()){ for(int i=0;i"+saveMap); sqlSession.update("productionplanning.mergeassemblyList", saveMap); } dateMap = sqlSession.selectOne("productionplanning.selectAssemblyDate", paramMap); dateMap.putAll(paramMap); sqlSession.update("project.mergeAssemblyDate",dateMap); } resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 담당자별 작업현황 리스트 (프로젝트) * @param paramMap * @return */ public List getWorkStatusByImployeeList(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); //Map pageMap = (HashMap)sqlSession.selectOne("productionplanning.workStatusByImployeeListCnt", paramMap); //pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); ///paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); //paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = (ArrayList)sqlSession.selectList("productionplanning.workStatusByImployeeList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 담당자별 작업현황 리스트 (비프로젝트) * @param paramMap * @return */ public List getWorkStatusByImployeeNPList(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); resultList = (ArrayList)sqlSession.selectList("productionplanning.workStatusByImployeeNPList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트별 작업현황 리스트 * @param paramMap * @return */ public List getworkStatusByProjectList(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), Constants.ADMIN_COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); //Map pageMap = (HashMap)sqlSession.selectOne("productionplanning.workStatusByImployeeListCnt", paramMap); //pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); ///paramMap.put("PAGE_END", CommonUtils.checkNull(pageMap.get("PAGE_END"))); //paramMap.put("PAGE_START", CommonUtils.checkNull(pageMap.get("PAGE_START"))); resultList = (ArrayList)sqlSession.selectList("productionplanning.workStatusByProjectList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 생산관리 -> 공정실적 등록 History 조회 * @param paramMap * @return */ public List getAssemblyWbsHistoryInfo(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("productionplanning.getAssemblyWbsHistoryList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } @SuppressWarnings({ "rawtypes", "unchecked" }) public Map deleteassemblyWbsHistoryList(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("productionplanning.deleteassemblyWbsHistoryList", paramMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** 인수인계 History 내용을 저장한다. * @param request * @param paramMap * @return */ public Map saveAssemblyWbsHistory(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); paramMap.put("WRITER", person.getUserId()); String parentObjId = CommonUtils.checkNull(request.getParameter("projectObjId")); String partObjList[] = request.getParameterValues("OBJID"); if(parentObjId != null){ HashMap sqlParamMap = new HashMap(); sqlParamMap.put("parentObjId", parentObjId); sqlSession.delete("productionplanning.deleteAllAssemblyHistoryList",sqlParamMap); } if(null != partObjList && 0 < partObjList.length){ for(String targetObjId:partObjList){ Map sqlParamMep = new HashMap(); sqlParamMep.put("OBJID" , targetObjId); sqlParamMep.put("PART_OBJID" , CommonUtils.checkNull(request.getParameter("PART_OBJID_"+targetObjId ))); sqlParamMep.put("PARENT_OBJID" , CommonUtils.checkNull(request.getParameter("PARENT_OBJID_"+targetObjId ))); sqlParamMep.put("TRANSFER_USER_ID" , CommonUtils.checkNull(request.getParameter("TRANSFER_USER_ID_"+targetObjId ))); sqlParamMep.put("RECEIVE_DATE" , CommonUtils.checkNull(request.getParameter("RECEIVE_DATE_"+targetObjId ))); sqlParamMep.put("RECEIVE_QTY" , CommonUtils.checkNull(request.getParameter("RECEIVE_QTY_"+targetObjId ))); sqlParamMep.put("RECEIVE_USER_ID" , CommonUtils.checkNull(request.getParameter("RECEIVE_USER_ID_"+targetObjId ))); sqlParamMep.put("WRITER" , paramMap.get("WRITER")); System.out.println("sqlParamMep::"+sqlParamMep); sqlSession.update("productionplanning.saveAssemblyWbsHistory", sqlParamMep); } } resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 작업일지 상세 조회 * @param paramMap * @return */ public Map workDiaryFormPopUp(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("productionplanning.selectWorkDiaryInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** 작업일지 등록 * @param request * @param paramMap * @return */ public Map saveWorkDiaryInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; List resultTempList = new ArrayList(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); List> dataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("dataListJson"))); if(CommonUtils.isNotEmpty(dataList)){ for (Map data : dataList) { String OBJID = CommonUtils.checkNull(data.get("OBJID")); if (OBJID.isEmpty()) { OBJID = CommonUtils.createObjId(); } paramMap.put("objId" , OBJID); paramMap.put("division" , data.get("DIVISION")); paramMap.put("project_objid" , data.get("CONTRACT_OBJID")); paramMap.put("unit_code" , data.get("UNIT_CODE")); paramMap.put("task_name" , data.get("TASK_NAME")); paramMap.put("work_start_date" , data.get("WORK_START_DATE")); paramMap.put("work_end_date" , data.get("WORK_END_DATE")); paramMap.put("work_hour" , data.get("WORK_HOUR")); paramMap.put("sourcing_type" , data.get("SOURCING_TYPE")); paramMap.put("worker_id" , data.get("WORKER_ID")); paramMap.put("remark" , data.get("REMARK")); paramMap.put("production_type" , data.get("PRODUCTION_TYPE")); paramMap.put("writer" , person.getUserId()); sqlSession.insert("productionplanning.mergeWorkDiaryInfo", paramMap); } } resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 작업일지 삭제 * @param request * @param paramMap * @return */ public Map workDiaryDelete(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkParam = CommonUtils.checkNull(paramMap.get("checkArr")); String[] targetObjIdList = checkParam.split(","); if(null != targetObjIdList && 0 < targetObjIdList.length){ HttpSession session = request.getSession(); sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String userId = person.getUserId(); for(int i=0;i