package com.pms.service; import java.io.File; import java.io.FileInputStream; import java.sql.Clob; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.session.SqlSession; import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; 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; import com.pms.common.utils.MailUtil; @Service public class ProjectService { CommonService commonService = null; @Autowired AdminService adminService; @Autowired public void setCommonService(CommonService commonService){ this.commonService = commonService; } /*jmpark start*/ /** * 이슈 목록 조회 * @param paramMap * @return */ public List getIssueList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; Map pageMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("project.getIssueListCnt", 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"))); resultList = sqlSession.selectList("project.getIssueList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 이슈 저장 * @param request * @param paramMap * @return */ public Map saveIssueMgmtInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; System.out.println(paramMap.get("project_no")); System.out.println(paramMap.get("parent_objid")); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)) objId = CommonUtils.createObjId(); paramMap.put("writer", writer); paramMap.put("objId", objId); int cnt = sqlSession.update("project.saveIssueMgmtInfo", paramMap); String checWpstCd = CommonUtils.checkNull(paramMap.get("appr_wpst_cd")); if(!checWpstCd.equals("")){ int cnt1 = sqlSession.update("project.updateIssueMgmtInfo", 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 request * @param paramMap * @return */ public Map issueWpstStatusUpdate(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); Map issueMap = 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(paramMap.get("objId")); java.util.Calendar cal = java.util.Calendar.getInstance(); int year = cal.get ( cal.YEAR ); issueMap = getIssueNo(issueMap); //if("".equals(objId)) objId = CommonUtils.createObjId(); //paramMap.put("writer", writer); paramMap.put("objId", objId); paramMap.put("issueNo", String.valueOf(issueMap.get("ISSUNO"))); int cnt = sqlSession.update("project.issueWpstStatusUpdate", 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; } public Map getIssueNo(Map paramMap){ SqlSession sqlSession = null; Map resultMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getIssueNo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 이슈 상세조회 * @param paramMap * @return */ public Map getIssueInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getIssueInfo", 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(); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)) objId = CommonUtils.createObjId(); paramMap.put("writer", writer); paramMap.put("objId", objId); int cnt = sqlSession.update("project.saveIssueInfo", 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; } /** * Gate관리 內 프로젝트 목록조회 * @param paramMap * @return */ public List getProjectList_byGate(Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("project.getProjectList_byGate", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * Project Gate별 일정조회 * @param paramMap * @return */ public Map getProjectGateScheduleInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getProjectGateSchedule", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * Project Gate별 일정 저장 * @param paramMap * @return */ public Map saveProjectGateScheduleInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ objId = CommonUtils.createObjId(); paramMap.put("objId", objId); } int cnt = sqlSession.update("project.saveProjectGateScheduleInfo", 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; } /** * Gate1 현황 * @param paramMap * @return */ public Map getGate1StatusInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getGate1Status", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * Gate2 현황 * @param paramMap * @return */ public Map getGate2StatusInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getGate2Status", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * Gate3 현황 * @param paramMap * @return */ public Map getGate3StatusInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getGate3Status", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * Gate4 현황 * @param paramMap * @return */ public Map getGate4StatusInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getGate4Status", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /*jmpark end*/ /*edhwang start*/ /** * 프로젝트 목록을 가져온다. * @param request * @param paramMap * @return */ public List getProjectList(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("project.getProjectListCnt",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("project.getProjectList", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트 목록조회 * @param paramMap * @return */ public List getContractCompleteList(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("project.getContractCompleteListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); paramMap.put("PAGE_END", pageMap.get("PAGE_END")); paramMap.put("PAGE_START", pageMap.get("PAGE_START")); resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("project.getContractCompleteList", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트 목록조회 * @param paramMap * @return */ public List getProjectMgntList(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("project.projectMgmtListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); paramMap.put("PAGE_END", pageMap.get("PAGE_END")); paramMap.put("PAGE_START", pageMap.get("PAGE_START")); resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("project.projectMgmtList", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트 현황 대시보드용 * @param paramMap * @return */ public List dashboardProjectMgmtList(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("project.projectMgmtListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); paramMap.put("PAGE_END", pageMap.get("PAGE_END")); paramMap.put("PAGE_START", pageMap.get("PAGE_START")); resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("project.dashboardProjectMgmtList", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 대시보드 리스트 * @param paramMap * @return */ public List getProjectMainBoardList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("project.projectMainDashboardList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 이슈 목록을 가져온다. * @param request * @param paramMap * @return */ public List getIssueListInfo(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("project.getIssueListInfoCnt",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("project.getIssueListInfo", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트 상세 조회 * @param paramMap * @return */ public Map getProjectMgmtInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("project.getProjectMgmtInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** 프로젝트 수정 * @param request * @param paramMap * @return */ public Map saveProjectMgmt(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; String MANUFACTUR_COST1 = CommonUtils.checkNull(paramMap.get("manufactur_cost1")); String MANUFACTUR_COST2= CommonUtils.checkNull(paramMap.get("manufactur_cost2")); String CONTRACT_AMOUNT = CommonUtils.checkNull(paramMap.get("contract_amount")); String MANUFACTUR_SCOST= CommonUtils.checkNull(paramMap.get("manufactur_scost")); MANUFACTUR_COST1 = MANUFACTUR_COST1.replaceAll(",", ""); MANUFACTUR_COST2 = MANUFACTUR_COST2.replaceAll(",", ""); CONTRACT_AMOUNT = CONTRACT_AMOUNT.replaceAll(",", ""); MANUFACTUR_SCOST = MANUFACTUR_SCOST.replaceAll(",", ""); paramMap.put("manufactur_cost1", MANUFACTUR_COST1); paramMap.put("manufactur_cost2", MANUFACTUR_COST2); paramMap.put("contract_amount", CONTRACT_AMOUNT); paramMap.put("manufactur_scost", MANUFACTUR_SCOST); int cnt = 0; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); cnt = sqlSession.update("project.updateProjectMgmt", 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; } /** * 프로젝트 WBS TASK 조최 * @param paramMap * @return */ public List getProjectWbsList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("project.getProjectTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트 WBS TASK 조최 * @param paramMap * @return */ public String getProjectAverage(HttpServletRequest request,Map paramMap){ SqlSession sqlSession = null; String average = ""; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); //프로젝트 TASK 공정진척율 조회 average = CommonUtils.checkNull(sqlSession.selectOne("project.getProjectTaskAverage", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return average; } /** TASK삭제 * @param request * @param paramMap * @return */ public Map delProjectMgmtInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; Map sqlMap = new HashMap(); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); String Key = (String) paramMap.get("delKey"); String [] delKey = Key.split(","); sqlMap.put("delObjKeyarr", delKey); int cnt = sqlSession.delete("project.deleteProjectmgmtinfo", sqlMap); if(cnt > 0){ resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 수주활동 목록을 가져온다(수주활동 품목X). * @param request * @param paramMap * @return */ public List getProjectConceptList(HttpServletRequest request, Map paramMap){ ArrayList resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = (ArrayList)sqlSession.selectList("project.getProjectConceptList", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트의 상세 정보를 가져온다. * @param request * @param paramMap * @return */ public Map getProjectInfo(HttpServletRequest request, Map paramMap){ HashMap resultMap = new HashMap(); String objId = CommonUtils.checkNull(paramMap.get("objId")); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ if(!"".equals(objId)){ resultMap = (HashMap)sqlSession.selectOne("project.getProjectInfo", paramMap); } }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * 프로젝트를 저장한다. * @param request * @param paramMap * @return */ public Map saveProjectInfo(HttpSession session,HttpServletRequest request, Map paramMap)throws Exception{ HashMap resultMap = new HashMap(); String objId = CommonUtils.checkNull(paramMap.get("objId")); boolean result = false; SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", CommonUtils.checkNull(person.getUserId())); try{ //작성된 프로젝트 내용을 저장한다. sqlSession.update("project.saveProjectInfo", paramMap); //기존에 연결된 제품을 삭제하고 다시 제품을 연결한다. connectProjectProduct(sqlSession, request, paramMap); mergeProjectMilestone(sqlSession, request, paramMap); Map sqlMap = new HashMap(); sqlMap.put("targetUserId", CommonUtils.checkNull(paramMap.get("cft_userid"))); sqlMap.put("carObjId", CommonUtils.checkNull(paramMap.get("carObjId"))); sqlMap.put("objId", CommonUtils.createObjId()); // CFT인원 리셋 sqlSession.update("admin.resetCarMemberLeader", sqlMap); //CFT장 등록 sqlSession.update("admin.mergeCarTFTLeader", sqlMap); result = true; sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); e.printStackTrace(); throw e; }finally{ sqlSession.close(); } resultMap.put("result", result); return resultMap; } /** * 프로젝트의 중복여부를 확인한다. * @param request * @param paramMap * @return */ public Map checkProjectDuplicate(HttpServletRequest request, Map paramMap)throws Exception{ HashMap resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ resultMap = sqlSession.selectOne("project.checkProjectDuplicate", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * 프로젝트의 상태를 확정상태로 변경한다. * @param request * @param paramMap * @return */ public Map changeProjectStatus(HttpServletRequest request, Map paramMap)throws Exception{ Map resultMap = new HashMap(); String[] projects = request.getParameterValues("projectCheckBox"); String status = CommonUtils.checkNull(request.getParameter("status")); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ if(null != projects && 0 < projects.length){ for(int i=0;i" + projectObjId); System.out.println("*******************************"); String carObjId = CommonUtils.checkNull(projectObjId+"_carObjId"); String oemObjId =CommonUtils.checkNull(projectObjId+"_carObjId"); //담당자 매핑 String manager_pm = CommonUtils.checkNull(paramMap.get("manager_pm")); String design_pm = CommonUtils.checkNull(paramMap.get("design_pm")); String production_pm = CommonUtils.checkNull(paramMap.get("production_pm")); String electro_pm = CommonUtils.checkNull(paramMap.get("electro_pm")); String se_pm = CommonUtils.checkNull(paramMap.get("se_pm")); String purchase_pm = CommonUtils.checkNull(paramMap.get("purchase_pm")); boolean result = false; try{ if(!"".equals(projectObjId) && !"".equals(carObjId)){ //표준 WBS 목록을 가져온다. List standardWBSTaskList = new ArrayList(); standardWBSTaskList = getStandardWBSTask(sqlSession, request, paramMap); if(null != standardWBSTaskList && 0 < standardWBSTaskList.size()){ //String lv1parentObjId = ""; //String lv2parentObjId = ""; for(int i=0;i> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectWBSTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 검색조건에 해당하는 프로젝트의 WBS Task 목록을 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getSearchProjectWBSTaskList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getSearchProjectWBSTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 선택된 Function Task와 WBS Task를 연결한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map connectProjectWBSTask(HttpSession session,HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); String taskType = CommonUtils.checkNull(request.getParameter("connectTaskType")); String targetData = CommonUtils.checkNull(request.getParameter("targetObjId")); String[] targetList = null; if(targetData.contains(",")){ targetList = targetData.split(","); } String[] wbsTaskList = request.getParameterValues("wbsTaskCheckBox"); if(null != targetList && 0 < targetList.length ){ for(int i=0;i resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getWBSTaskConnectFNTaskList",paramMap); for(Map resultMap:resultList){ String taskTitle = ""; String taskType = CommonUtils.checkNull(resultMap.get("TASK_TYPE")); if(Constants.CONNECT_TYPE_CODE_DEV_MASTER.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_DEV_MASTER; }else if(Constants.CONNECT_TYPE_CODE_DFMEA.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_DFMEA; }else if(Constants.CONNECT_TYPE_CODE_PROTO_STOCK.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_PROTO_STOCK; }else if(Constants.CONNECT_TYPE_CODE_PROTO_PLAN.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_PROTO_PLAN; }else if(Constants.CONNECT_TYPE_CODE_PROTO_TEST.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_PROTO_TEST; }else if(Constants.CONNECT_TYPE_CODE_EO_APPLY.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_EO_APPLY; }else if(Constants.CONNECT_TYPE_CODE_QUALITY_TEST.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_QUALITY_TEST; }else if(Constants.CONNECT_TYPE_CODE_APPLY_HISTORY.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_APPLY_HISTORY; }else if(Constants.CONNECT_TYPE_CODE_STRUCTURE_REVIEW_REPORT.equals(taskType)){ taskTitle = Constants.CONNECT_TYPE_NAME_STRUCTURE_REVIEW_REPORT; } resultMap.put("TASK_TYPE_TITLE", taskTitle); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * Function Task에 연결된 WBS Task 목록을 가져온다. * * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getFNTaskConnectedTaskList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getFNTaskConnectWBSTaskList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * WBS Task의 내용을 저장한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map saveProjectWBSTaskInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ sqlSession.update("project.mergeProjectWBSTaskInfo",paramMap); resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task의 상세화면을 보여준다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map getProjectWBSTaskInfo(HttpServletRequest request, Map paramMap){ Map wbsMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ String taskObjId = CommonUtils.checkNull(paramMap.get("taskObjId")); if(!"".equals(taskObjId)){ paramMap.put("taskObjId", Integer.parseInt(taskObjId)); wbsMap = sqlSession.selectOne("project.getProjectWBSTaskInfo",paramMap); wbsMap = CommonUtils.keyChangeUpperMap(wbsMap); }else{ String parentTaskObjId = CommonUtils.checkNull(paramMap.get("parentObjId")); Map parentWBSMap = new HashMap(); if(!"".equals(parentTaskObjId)){ paramMap.put("taskObjId", Integer.parseInt(parentTaskObjId)); parentWBSMap = sqlSession.selectOne("project.getProjectWBSTaskInfo",paramMap); parentWBSMap = CommonUtils.keyChangeUpperMap(parentWBSMap); } wbsMap.put("OBJID", CommonUtils.createObjId()); wbsMap.put("TARGET_OBJID", CommonUtils.checkNull(parentWBSMap.get("TARGET_OBJID"))); wbsMap.put("PARENT_OBJID", CommonUtils.checkNull(paramMap.get("parentObjId"))); wbsMap.put("PROJ_STEP", CommonUtils.checkNull(parentWBSMap.get("PROJ_STEP"))); wbsMap.put("TASK_TYPE", CommonUtils.checkNull(request.getParameter("taskType"))); wbsMap.put("IS_TEMPLATE_TASK", 1); wbsMap.put("STATUS", CommonUtils.checkNull(paramMap.get("status"))); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return wbsMap; } /** * 해당 인원의 권한을 확인한다. * @param request * @param paramMap * @return */ public Map getWBSTaskMemberAuth(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getWBSTaskMemberAuth", paramMap); System.out.println("resultList.size():"+resultList.size()); if(0 < resultList.size()){ resultMap.put("isTFTLeader", true); }else{ resultMap.put("isTFTLeader", false); } String writer = CommonUtils.checkNull(paramMap.get("writer")); if("plm_admin".equals(writer)){ resultMap.put("isTFTLeader", true); } }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * WBS에 해당하는 프로젝트의 TFT 인원 정보를 가져온다. * @param request * @param paramMap * @return */ public List getWBSTaskProjectMemberList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getWBSTaskProjectMemberList", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * WBS TASK를 제출하여 TFT 장에게 메일을 발송한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map submissionTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ List carTFTMemberList = new ArrayList(); carTFTMemberList = getWBSTaskProjectMemberList(request, paramMap); //프로젝트의 상세 정보를 가져온다. Map projectSqlMap = new HashMap(); projectSqlMap.put("taskObjId", CommonUtils.checkNull(request.getParameter("objId"))); Map wbsTaskMap = new HashMap(); wbsTaskMap = sqlSession.selectOne("project.getWBSTaskSubmissionInfo", projectSqlMap); if(null != carTFTMemberList && 0 < carTFTMemberList.size()){ for(Map memberMap:carTFTMemberList){ String tftMemberAuth = CommonUtils.checkNull(memberMap.get("IS_TFT_LEADER")); if("0".equals(tftMemberAuth)){ String userId = CommonUtils.checkNull(memberMap.get("MEMBER_USER_ID")); String email = CommonUtils.checkNull(memberMap.get("EMAIL")); if(!"".equals(email)){ Map mailParamMap = new HashMap(); String subject = "["+CommonUtils.checkNull(wbsTaskMap.get("CAR_CODE"))+" ("+CommonUtils.checkNull(wbsTaskMap.get("CAR_NAME"))+")] "+Message.MAIL_SUBJECT_WBS_TASK_SUBMISSION; mailParamMap.put("SUBJECT", subject); mailParamMap.putAll(wbsTaskMap); String bodyContents = MailUtil.getHTMLContents("wbsTaskSubmissionMailTemplate", mailParamMap); String receiverId = CommonUtils.checkNull(userId); String receiverEmail = CommonUtils.checkNull(email); MailUtil.sendMail(Constants.ADMIN_USER_ID, Constants.FROM_ADDR, receiverId, receiverEmail, null, subject, bodyContents, Constants.MAIL_TYPE_PROBLEM_RES_DISTRIBUTE); } } } } resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task의 TFT/PL가 작성한 확인 내용 목록을 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getTaskConfirmHistoryList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getTaskConfirmHistoryList",paramMap); for(Map resultMap:resultList){ resultMap.put("CONTENTS", CommonUtils.getClobToString((Clob)resultMap.get("CONTENTS"))); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * WBS Task의 TFT/PL가 작성한 단건 내용을 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map getTaskConfirmHistoryInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ String objId = CommonUtils.checkNull(paramMap.get("confirmObjId")); if(!"".equals(objId)){ resultMap = sqlSession.selectOne("project.getTaskConfirmHistoryInfo",paramMap); resultMap.put("CONTENTS", CommonUtils.getClobToString((Clob)resultMap.get("CONTENTS"))); }else{ resultMap.put("OBJID",CommonUtils.createObjId()); resultMap.put("TARGET_OBJID",CommonUtils.checkNull(paramMap.get("objId"))); resultMap.put("CONFIRM_TYPE",CommonUtils.checkNull(paramMap.get("userType"))); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task의 TFT/PL가 작성한 단건 내용을 저장한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map saveTaskConfirmHistoryInfo(HttpSession session,HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", CommonUtils.checkNull(person.getUserId())); sqlSession.insert("project.insertTaskConfirmHistoryInfo",paramMap); String result = CommonUtils.checkNull(request.getParameter("result")); //승인 시 if("ok".equals(result)){ paramMap.put("status", "complete"); //반려 시 }else if("ng".equals(result)){ //메일발송 sendTaskNgMail(request,paramMap); paramMap.put("status", "reject"); } sqlSession.update("project.taskConfirmChangeStatus",paramMap); resultMap.put("result", true); sqlSession.commit(); }catch(Exception e){ resultMap.put("result", false); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 통합문제점 제기완료 메일발송 * @param request * @param paramMap */ public Map sendTaskNgMail(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); System.out.println("paramMap : "+paramMap); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); Map userInfo = person.getLoginInfo(); //1. 메일 발송할 대상의 정보조회 Map info = sqlSession.selectOne("mail.getsendTaskNgMail", paramMap); String OEM_NAME = CommonUtils.checkNull(info.get("OEM_NAME")); String CAR_NAME = CommonUtils.checkNull(info.get("CAR_NAME")); String TASK_NAME = CommonUtils.checkNull(info.get("TASK_NAME")); String SENDMAIL = CommonUtils.checkNull(info.get("SENDMAIL")); String subject = "[PMS 시스템] 고객사 : "+OEM_NAME+" 차종 : "+CAR_NAME+" Task ["+TASK_NAME+"] CFT장 반려 알림"; String bodyContents = ""; bodyContents = "[PMS 시스템] 고객사 : "+OEM_NAME+" 차종 : "+CAR_NAME+" Task ["+TASK_NAME+"] 가 반려되었습니다."; bodyContents += "
Task Name : "+TASK_NAME+"
진양 PMS System에 접속해서 해당 Task를 확인하시기 바랍니다."; bodyContents += "
"; bodyContents += "▶ 시스템 바로가기"; //담당자에게 메일 발송 MailUtil.sendMail1(SENDMAIL, subject, bodyContents); resultMap.put("result", true); resultMap.put("msg", Message.SEND_MAIL_SUCCESS); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.FAILED); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 검색조건에 해당하는 Task의 목록을 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getTaskList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map pageMap = new HashMap(); try{ PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); //paging start String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("project.getTaskListCnt", 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("project.getTaskList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트에 해당하는 제품을 연결한다. * @param request * @param paramMap * @return */ public void connectProjectProduct(SqlSession sqlSession,HttpServletRequest request, Map paramMap)throws Exception{ Map sqlMap = new HashMap(); //프로젝트의 objid String targetObjId = CommonUtils.checkNull(paramMap.get("objId")); String message = ""; String[] projectProductList = request.getParameterValues("addedOrderProductObjId"); ArrayList projectProductArrList = new ArrayList(); projectProductArrList = new ArrayList(Arrays.asList(projectProductList)); sqlMap.put("targetObjId",targetObjId); sqlMap.put("projectProductArrList",projectProductArrList); sqlSession.delete("project.deleteConnectedProjectProduct", sqlMap); if(null != projectProductList && 0 < projectProductList.length){ for(int i=0;i 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; } /** * 프로젝트 차종에 해당하는 TFT 인원의 목록을 가져온다. * @param request * @param paramMap * @return */ public List getProjectMemberList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectMemberList", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * 등록된 Part Master 목록을 가져온다. * @param request * @param paramMap * @return */ public List getPartMasterList(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("getPartMasterListCnt",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("project.getPartMasterList", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * Part Master 내용을 저장한다. * @param request * @param paramMap * @return */ public Map savePartMasterInfo(HttpSession session,HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", CommonUtils.checkNull(person.getUserId())); sqlSession.update("project.mergePartMasterInfo", paramMap); resultMap.put("result", true); sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); resultMap.put("result", false); e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * Part Master에 해당하는 내용의 중복 여부를 확인하다. * @param request * @param paramMap * @return */ public Map checkPartMasterDuplicateCnt(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.checkPartMasterDuplicateCnt", paramMap); resultMap.put("resultCnt", resultList.size()); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * Part Master 내용을 가져온다. * @param request * @param paramMap * @return */ public Map getPartMasterInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultMap = sqlSession.selectOne("project.getPartMasterInfo", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * Part Master에 연결된 Part 목록을 가져온다. * @param request * @param paramMap * @return */ public List getPartMasterConnectedPartList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getPartMasterConnectedPartList", paramMap); }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultList; } /** * Part Master에 Part를 연결한다. * @param request * @param paramMap * @return */ public Map partMasterConnectPart(HttpSession session,HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkedPartList[] = request.getParameterValues("searchPartCheckbox"); String targetObjId = CommonUtils.checkNull(request.getParameter("targetObjId")); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); if(0 < checkedPartList.length){ for(int i=0;i connDevMasterList = new ArrayList(); connDevMasterList = sqlSession.selectList("project.getConnectDevMasterList", paramMap); if(null != checkedPartList && 0 < checkedPartList.length){ for(int i=0;i connectTaskList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ connectTaskList = sqlSession.selectList("project.getConnectedTaskList", paramMap); if(null != connectTaskList && 0 < connectTaskList.size()){ for(Map taskMap:connectTaskList){ String taskObjId = CommonUtils.checkNull(taskMap.get("OBJID")); Map sqlMap = new HashMap(); sqlMap.put("taskObjId", taskObjId); //WBS Task를 삭제한다. sqlSession.delete("project.deleteProjectWBSTask", sqlMap); //WBS Task와 연결된 연결정보를 삭제한다. sqlSession.delete("project.deleteTaskRelInfo", sqlMap); } } sqlSession.commit(); resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 부서 정보를 저장한다. * @param paramMap * @return */ public Map changeTaskDept(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ sqlSession.update("project.changeTaskDept", paramMap); sqlSession.commit(); resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 담당자 정보를 저장한다. * @param paramMap * @return */ public Map changeTaskChargerId(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ sqlSession.update("project.changeTaskChargerId", paramMap); sqlSession.commit(); resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /*edhwang end*/ /*msryu start*/ /** * 검색조건에 해당하는 My Task의 목록을 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getMyTaskList(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); Map pageMap = new HashMap(); try{ String searchDeptName = CommonUtils.checkNull(request.getParameter("search_deptName")); String searchUserName = CommonUtils.checkNull(request.getParameter("search_userName")); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); if("".equals(searchDeptName)){ paramMap.put("search_deptName", CommonUtils.checkNull(person.getDeptName())); } if("".equals(searchUserName)){ paramMap.put("search_userName", CommonUtils.checkNull(person.getUserName())); } //paging start String countPerPage = CommonUtils.checkNull(request.getParameter("countPerPage"), ""+Constants.COUNT_PER_PAGE+""); paramMap.put("COUNT_PER_PAGE", Integer.parseInt(countPerPage)); pageMap = (HashMap)sqlSession.selectOne("project.getMyTaskListCnt", 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("project.getMyTaskList",paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /*msryu end*/ /** * 프로젝트의 PM 권한을 가져온다 * @param request * @param paramMap * @return */ public Map getProjectPmAuth(HttpServletRequest request, Map paramMap){ List resultList = new ArrayList(); Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("project.getProjectPmAuth", paramMap)); System.out.println("resultList.size():"+resultList.size()); if(0 < resultList.size()){ resultMap.put("isTFTLeader", true); }else{ resultMap.put("isTFTLeader", false); } //관리자는 권한 주기 String writer = CommonUtils.checkNull(paramMap.get("writer")); if("plm_admin".equals(writer)){ resultMap.put("isTFTLeader", true); } }catch(Exception e){ e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 확정 기능. * @param paramMap * @return */ public Map completeProjectWBSTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String ObjId = CommonUtils.checkNull(paramMap.get("ObjId")); String[] subObjId = ObjId.split(","); Map sqlMap = new HashMap(); for(int i=0; i < subObjId.length; i++){ String valObjId = subObjId[i]; sqlMap.put("objId", valObjId); //WBS Task를 삭제한다. sqlSession.update("project.completeProjectWBSTask", sqlMap); sqlSession.commit(); } sqlSession.close(); resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 삭제. * @param paramMap * @return */ public Map deleteWBSTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String ObjId = CommonUtils.checkNull(paramMap.get("ObjId")); String[] subObjId = ObjId.split(","); Map sqlMap = new HashMap(); for(int i=0; i < subObjId.length; i++){ String valObjId = subObjId[i]; sqlMap.put("taskObjId", valObjId); //WBS Task를 삭제한다. sqlSession.delete("project.deleteProjectWBSTask", sqlMap); sqlSession.commit(); } sqlSession.close(); resultMap.put("result", true); }catch(Exception e){ resultMap.put("result", false); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** WBS 상태변경 * @param request * @param paramMap * @return */ public Map changewbsstatus(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); int cnt = sqlSession.update("project.changewbsstatus", 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; } /** * 프로젝트 목록조회(제품별로 Row 구성) * @param paramMap * @return */ public List getProjectProductList(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; System.out.println("getProjectConceptProductList"+paramMap); 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("project.getProjectProductListCnt", 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("project.getProjectProductList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 투자비 관리 추가 * @param paramMap * @return */ public Map addSaveInvestCostMng(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String objId = CommonUtils.checkNull(CommonUtils.createObjId()); paramMap.put("OBJID", objId); sqlSession.update("project.mergeInvestCostMng", paramMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }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 saveInvestCostMng(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String paramObjid = request.getParameter("checkArr"); String[] objidArr = paramObjid.split(","); System.out.println("objidArr : " + objidArr); for(int i=0; i < objidArr.length; i++){ String objId = CommonUtils.checkNull(objidArr[i]); String title = CommonUtils.checkNull(request.getParameter("title_"+objId)); String dueDate = CommonUtils.checkNull(request.getParameter("dueDate_"+objId)); String amount = CommonUtils.checkNull(request.getParameter("amount_"+objId)); String status = CommonUtils.checkNull(request.getParameter("status_"+objId)); System.out.println("objId"+i+" : " + objId); System.out.println("title"+i+" : " + title); System.out.println("dueDate"+i+" : " + dueDate); System.out.println("amount"+i+" : " + amount); System.out.println("status"+i+" : " + status); HashMap wbsTaskMap = new HashMap(); wbsTaskMap.put("OBJID", objId); wbsTaskMap.put("addTitle", title); wbsTaskMap.put("addDueDate", dueDate); wbsTaskMap.put("addAmount", amount); wbsTaskMap.put("addStatus", status); sqlSession.update("project.mergeInvestCostMng", wbsTaskMap); } sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 삭제. * @param paramMap * @return */ public Map saveWBSTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String[] objidArr = request.getParameterValues("OBJID"); String targetObjId = request.getParameter("TARGET_OBJID"); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); for(int i=0; i < objidArr.length; i++){ String objId = CommonUtils.checkNull(objidArr[i]); String deptCode = CommonUtils.checkNull(request.getParameter("DEPT_CODE_"+objId)); String managerUserId = CommonUtils.checkNull(request.getParameter("MANAGER_USER_ID_"+objId)); String expectedPoint = CommonUtils.checkNull(request.getParameter("EXPECTED_POINT_"+objId)); String taskPerformDay = CommonUtils.checkNull(request.getParameter("TASK_PERFORM_DAY_"+objId)); String planStartDate = CommonUtils.checkNull(request.getParameter("PLAN_START_DATE_"+objId)); String planEndDate = CommonUtils.checkNull(request.getParameter("PLAN_END_DATE_"+objId)); String resultStartDate = CommonUtils.checkNull(request.getParameter("RESULT_START_DATE_"+objId)); String resultEndDate = CommonUtils.checkNull(request.getParameter("RESULT_END_DATE_"+objId)); String pmConfirmStatus = CommonUtils.checkNull(request.getParameter("PM_CONFIRM_STATUS_"+objId)); String remark = CommonUtils.checkNull(request.getParameter("REMARK_"+objId)); HashMap wbsTaskMap = new HashMap(); wbsTaskMap.put("OBJID", objId); wbsTaskMap.put("TARGET_OBJID", targetObjId); wbsTaskMap.put("DEPT_CODE", deptCode); wbsTaskMap.put("MANAGER_USER_ID", managerUserId); wbsTaskMap.put("EXPECTED_POINT", expectedPoint); wbsTaskMap.put("TASK_PERFORM_DAY", taskPerformDay); wbsTaskMap.put("PLAN_START_DATE", planStartDate); wbsTaskMap.put("PLAN_END_DATE", planEndDate); wbsTaskMap.put("RESULT_START_DATE", resultStartDate); wbsTaskMap.put("RESULT_END_DATE", resultEndDate); wbsTaskMap.put("PM_CONFIRM_STATUS", pmConfirmStatus); wbsTaskMap.put("REMARK", remark); wbsTaskMap.put("WRITER", writer); sqlSession.update("project.mergeProjectWBSTask", wbsTaskMap); } sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.SAVE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 투자비 관리 목록 * @param request * @param paramMap * @return */ public List investCostMngList(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); List list = sqlSession.selectList("project.investCostMngList", paramMap); return list; } /** * 투자비 관리 삭제 * @param paramMap * @return */ public Map deleteInvestCostMng(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); //1. 수주활동 제품별 협력부서정보 삭제 // int cnt1 = sqlSession.delete("projectConcept.deleteProjectConceptProductDeptInfo", paramMap); String checkObjId = (String) paramMap.get("checkArr"); String[] arrObjId = checkObjId.split(","); int resultCnt = 0; for(int i = 0; i< arrObjId.length; i++ ){ paramMap.put("objId", arrObjId[i]); //2. 수주활동별 제품정보 삭제 resultCnt = sqlSession.delete("project.deleteInvestCostMng", paramMap); } if((resultCnt) > 0){ resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } sqlSession.commit(); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 프로젝트 목록조회 * @param paramMap * @return */ public List getWBSTemplateMngList(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("project.getWBSTemplateMngListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); paramMap.put("PAGE_END", pageMap.get("PAGE_END")); paramMap.put("PAGE_START", pageMap.get("PAGE_START")); resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("project.getWBSTemplateMngList", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 업로드된 Excel File을 통해 데이터를 Parsing 한다. * @param request * @param paramMap * @return */ public List parsingExcelFile(HttpServletRequest request,Map paramMap)throws Exception{ List resultList = new ArrayList(); List fileList = commonService.getFileList(paramMap); if(null != fileList && 1 == fileList.size()){ HashMap fileMap = (HashMap)fileList.get(0); String path = CommonUtils.checkNull(fileMap.get("FILE_PATH")); String fileName = CommonUtils.checkNull(fileMap.get("SAVED_FILE_NAME")); int lastColumnIndex = 2; FileInputStream fis = new FileInputStream(path+"\\"+fileName); XSSFWorkbook workBook = new XSSFWorkbook(fis); XSSFSheet sheet = workBook.getSheetAt(0); int rows = sheet.getPhysicalNumberOfRows(); System.out.println("rows :: " + rows); for(int rowIndex= 2 ; rowIndex < rows ; rowIndex++){ XSSFRow row = sheet.getRow(rowIndex); if(null != row){ HashMap wbsMap = new HashMap(); wbsMap.put("WBS_OBJID", CommonUtils.createObjId()); String deptCode = ""; for(int columnIndex = 0 ; columnIndex < lastColumnIndex ; columnIndex++){ XSSFCell cell = row.getCell(columnIndex); System.out.println("cell :: " + cell); //데이버 유형별 get date String cellValue = ""; if(null == cell){ cellValue = ""; }else{ switch(cell.getCellType()){ case XSSFCell.CELL_TYPE_FORMULA: cellValue = cell.getCellFormula(); System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_FORMULA:"+cellValue); break; case XSSFCell.CELL_TYPE_NUMERIC: DataFormatter formatter = new DataFormatter(); cellValue = formatter.formatCellValue(cell); System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_STRING:"+cellValue); break; case XSSFCell.CELL_TYPE_STRING: cellValue = cell.getStringCellValue()+""; System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_STRING:"+cellValue); break; case XSSFCell.CELL_TYPE_BLANK: cellValue = cell.getBooleanCellValue()+""; System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_BLANK:"+cellValue); break; case XSSFCell.CELL_TYPE_ERROR: cellValue = cell.getErrorCellValue()+""; System.out.println(columnIndex+":"+"XSSFCell.CELL_TYPE_ERROR:"+cellValue); break; } } if("false".equals(cellValue)){ cellValue = ""; } cellValue = CommonUtils.checkNull(cellValue); //기본정보 시작=========================== /* //단계 if(0 == columnIndex){ wbsMap.put("STEP", cellValue); } //TASK명 if(1 == columnIndex){ wbsMap.put("TASK1", cellValue); }*/ //공정명 if(0 == columnIndex){ wbsMap.put("TASK_NAME", cellValue); } //공정명 if(1 == columnIndex){ wbsMap.put("UNIT_NO", cellValue); resultList.add(wbsMap); System.out.println("wbsMap:"+wbsMap); break; } //담당자 /*if(1 == columnIndex){ wbsMap.put("USER_NAME", cellValue); if(!"".equals(cellValue)){ Map resultMap = new HashMap(); Map codeParamMap = new HashMap(); codeParamMap.put("USER_NAME", cellValue); resultMap = commonService.getUserMap(codeParamMap); if(null != resultMap){ wbsMap.put("USER_ID", CommonUtils.checkNull(resultMap.get("USER_ID"))); wbsMap.put("USER_NAME", CommonUtils.checkNull(resultMap.get("USER_NAME"))); } } resultList.add(wbsMap); System.out.println("wbsMap:"+wbsMap); break; }*/ } } } } return resultList; } /** * WBS Task Template 마스터 목록을 가져온다. * @param paramMap * @return */ public List> getWBSTemplateProductList(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; System.out.println("getWBSTemplateProductList:"+paramMap); try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("project.getWBSTemplateProductList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 템플릿을 통해 WBS 정보를 입력한다. * @param request * @param paramMap */ public void mergeExcelUploadWBS(HttpServletRequest request,Map paramMap) throws Exception{ SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); String product = CommonUtils.checkNull(request.getParameter("product")); String title = CommonUtils.checkNull(request.getParameter("title")); String customer_product = CommonUtils.checkNull(request.getParameter("customer_product")); Map templateMapsterSqlParamMap = new HashMap(); String wbsMasterObjId = CommonUtils.createObjId(); templateMapsterSqlParamMap.put("objid" , wbsMasterObjId); templateMapsterSqlParamMap.put("product" , product); templateMapsterSqlParamMap.put("title" , title); templateMapsterSqlParamMap.put("writer" , writer); templateMapsterSqlParamMap.put("customer_product" , customer_product); //템플릿 마스터를 저장한다. sqlSession.insert("project.saveWBSTaskTemp",templateMapsterSqlParamMap); String[] wbsObjIdList = request.getParameterValues("WBS_TASK_OBJID"); if(null != wbsObjIdList || 0 < wbsObjIdList.length){ for(int i = 0;i getWBSTemplateMasterInfo(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)){ objId = CommonUtils.createObjId(); } paramMap.put("OBJID",objId); System.out.println("getWBSTemplateMasterInfo:"+paramMap); resultMap = (Map)sqlSession.selectOne("project.getWBSTemplateMasterInfo", paramMap); if(null == resultMap){ resultMap = new HashMap(); resultMap.put("objid",objId); } //System.out.println("getWBSTemplateMasterInfo(resultMap):"+resultMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultMap); } /** * WBS Task Master 하위 WBS Task 목록 * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getWBSTemplateTaskList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getWBSTemplateTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * WBS TemplateTask의 상세화면을 보여준다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map getWBSTemplateTaskInfo(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ String objId = CommonUtils.checkNull(paramMap.get("OBJID")); if("".equals(objId)){ objId = CommonUtils.createObjId(); } paramMap.put("OBJID", objId); resultMap = sqlSession.selectOne("project.getWBSTemplateTaskInfo",paramMap); if(null != resultMap){ resultMap = CommonUtils.keyChangeUpperMap(resultMap); } }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } //제품구분(0000001) 공통코드 등록 처리 public Map checkAndSaveUnitCodeInfo(HttpServletRequest request, Map paramMap, SqlSession sqlSession)throws Exception{ Map codeResultMap = new HashMap();; Map cdParamMap = new HashMap(); request.setAttribute("objid", ""); //초기화 //{objid=, parentCodeId=0001403, codeName=test c2, codeId=, status=active, ext_val=} Map templateInfoMap = new HashMap(); String objid_code = CommonUtils.checkNull(paramMap.get("objid_code")); if(CommonUtils.isBlank(objid_code)){ //등록 cdParamMap.put("objid", paramMap.get("parent_objid")); List templateList = sqlSession.selectList("project.getWBSTemplateMngList",cdParamMap); //PMS_WBS_TEMPLATE 조회 cdParamMap.clear(); if(null != templateList && !templateList.isEmpty()){ templateInfoMap = (Map)templateList.get(0); cdParamMap.put("parentCodeId", templateInfoMap.get("product_objid")); //PRODUCT_OBJID 가져옴 } }else{ //수정 cdParamMap.put("objid", objid_code); cdParamMap.put("objidEq", objid_code); } cdParamMap.put("codeName", paramMap.get("task_name")); cdParamMap.put("ext_val", paramMap.get("unit_no")); cdParamMap.put("status", "active"); // codeResultMap = adminService.checkAndSaveCodeCategogyInfo(request, cdParamMap); //중복체크해서 "제품구분" 코드 등록 System.out.println("codeResultMap:" + codeResultMap); return codeResultMap; } //제품구분(0000001) 공통코드 삭제 처리 public void checkAndDeleteUnitCodeInfo(HttpServletRequest request, Map paramMap, SqlSession sqlSession)throws Exception{ Map cdParamMap = new HashMap(); cdParamMap.put("objid", paramMap.get("objid_code")); //cdParamMap.put("codeName", paramMap.get("task_name")); //cdParamMap.put("ext_val", paramMap.get("unit_no")); cdParamMap.put("status", "inActive"); // adminService.changeCodeCategoryStatusByUnit(request, cdParamMap); // "제품구분" 코드 삭제 } /** * WBS Template Task의 내용을 저장한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map saveWBSTemplateTaskInfo(HttpServletRequest request, Map paramMap)throws Exception{ Map resultMap = new HashMap(); Map infoMap = new HashMap(); List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ Map sparamMap = new HashMap(); String objId = CommonUtils.checkNull(paramMap.get("objid")); String task_name = CommonUtils.checkNull((String)paramMap.get("task_name")).trim(); if("".equals(objId)){//신규 objId = CommonUtils.createObjId(); }else{//수정 sparamMap.put("OBJID_NE", paramMap.get("objid")); } //제품구분(0000001) 공통코드 등록 처리 // this.checkAndSaveUnitCodeInfo(request, paramMap, sqlSession); //230328 중복체크 추가 sparamMap.put("PARENT_OBJID", paramMap.get("parent_objid")); sparamMap.put("TASK_NAME", task_name); List list = sqlSession.selectList("project.getWBSTemplateTaskInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("UNIT Name이 중복됩니다."); } sparamMap.put("TASK_NAME", ""); //초기화 sparamMap.put("UNIT_NO", paramMap.get("unit_no")); list = sqlSession.selectList("project.getWBSTemplateTaskInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("UNIT No가 중복됩니다."); } paramMap.put("objid", objId); paramMap.put("task_name", task_name); sqlSession.update("project.saveWBSTemplateTaskInfo",paramMap); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); //프로젝트별 추가된 unit 폴더 추가생성(230802) paramMap.put("unitCode", objId); List> projectList = sqlSession.selectList("common.getProjectListByUnit",paramMap); if(null != projectList && !projectList.isEmpty()){ for (Map projectInfo : projectList) { String projectNo = (String)projectInfo.get("project_no"); String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\"; File file = new File(filepath+File.separator+projectNo+File.separator+task_name); if(!file.exists()){ file.mkdirs(); } } } sqlSession.commit(); }catch(Exception e){ if(CommonUtils.isEmpty(resultMap)) resultMap = new HashMap(); resultMap.put("result", false); resultMap.put("msg", e.getMessage()); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } public Map saveWBSTemplateMasterInfo(HttpServletRequest request, Map paramMap)throws Exception{ Map resultMap = new HashMap(); Map infoMap = new HashMap(); List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ Map sparamMap = new HashMap(); String objId = CommonUtils.checkNull(paramMap.get("OBJID")); if("".equals(objId)){//신규 objId = CommonUtils.createObjId(); }else{//수정 sparamMap.put("OBJID_NE", paramMap.get("OBJID")); } //230328 중복체크 추가 /* sparamMap.put("CONTRACT_OBJID", paramMap.get("parent_objid")); //PARENT_OBJID sparamMap.put("TASK_NAME", paramMap.get("task_name")); List list = sqlSession.selectList("project.getWBSTemplateMasterInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("UNIT Name이 중복됩니다."); } sparamMap.put("TASK_NAME", ""); //초기화 sparamMap.put("UNIT_NO", paramMap.get("unit_no")); list = sqlSession.selectList("project.getWBSTemplateMasterInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("UNIT No가 중복됩니다."); } */ //paramMap.put("objid", objId); sqlSession.update("project.saveWBSTemplateMasterInfo",paramMap); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ if(CommonUtils.isEmpty(resultMap)) resultMap = new HashMap(); resultMap.put("result", false); resultMap.put("msg", e.getMessage()); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Template Task 삭제. * @param paramMap * @return */ public Map deleteWBSTemplateTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); //String objidCodeArr[] = (CommonUtils.checkNull(paramMap.get("objidCodeArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); sqlParamMap.put("checkArr",checkArr); sqlSession.update("project.deleteWBSTemplateTask", sqlParamMap); resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } /* if(null != objidCodeArr && 0 < objidCodeArr.length){ for (String codeId : objidCodeArr) { Map sqlParamMap = new HashMap(); //제품구분(0000001) 공통코드 삭제 처리 sqlParamMap.put("objid_code",codeId); this.checkAndDeleteUnitCodeInfo(request, sqlParamMap, sqlSession); } } */ sqlSession.commit(); }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Template Master 내용을 삭제한다. * @param paramMap * @return */ public Map deleteWBSTemplateMaster(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); sqlParamMap.put("checkArr",checkArr); sqlSession.delete("project.deleteWBSTemplateMaster", sqlParamMap); sqlSession.delete("project.deleteWBSTemplateMasterTask", sqlParamMap); //sqlSession.delete("admin.deleteWBSTemplateMasterTask", sqlParamMap); //changeCodeCategoryStatusByUnit sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task의 내용을 저장한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map saveWBSTaskInfo2(HttpServletRequest request, Map paramMap)throws Exception{ Map resultMap = new HashMap(); Map infoMap = new HashMap(); List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ Map sparamMap = new HashMap(); String objId = CommonUtils.checkNull(paramMap.get("objid")); if("".equals(objId)){//신규 objId = CommonUtils.createObjId(); }else{//수정 sparamMap.put("OBJID_NE", paramMap.get("objid")); } //230328 중복체크 추가 sparamMap.put("CONTRACT_OBJID", paramMap.get("parent_objid")); //PARENT_OBJID sparamMap.put("TASK_NAME", paramMap.get("task_name")); List list = sqlSession.selectList("project.getWBSTaskInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("UNIT Name이 중복됩니다."); } sparamMap.put("TASK_NAME", ""); //초기화 sparamMap.put("UNIT_NO", paramMap.get("unit_no")); list = sqlSession.selectList("project.getWBSTaskInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("UNIT No가 중복됩니다."); } paramMap.put("objid", objId); sqlSession.update("project.saveWBSTaskInfo",paramMap); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ if(CommonUtils.isEmpty(resultMap)) resultMap = new HashMap(); resultMap.put("result", false); resultMap.put("msg", e.getMessage()); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 삭제. * @param paramMap * @return */ public Map deleteWBSTask2(HttpServletRequest request, Map paramMap) throws Exception{ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); //240520 check 추가 for (String str : checkArr) { sqlParamMap.put("unit_code", str); List> resultListBom = (ArrayList)sqlSession.selectList("partMng.getBOMStandardStructureList", sqlParamMap); //bom 조회 if(resultListBom != null && !resultListBom.isEmpty()) { throw new Exception("해당 유닛으로 등록된 BOM이 존재합니다."); } } //if (1==1) { return resultMap; //for test sqlParamMap.put("checkArr",checkArr); sqlSession.update("project.deleteWBSTask", sqlParamMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); e.printStackTrace(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * Setup WBS Task 삭제. * @param paramMap * @return */ public Map deleteSetupWBSTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); sqlParamMap.put("checkArr",checkArr); sqlSession.update("project.deleteSetupWBSTask", sqlParamMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * WBS Task 삭제. * @param paramMap * @return */ public Map deleteInspection(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr[] = (CommonUtils.checkNull(paramMap.get("checkArr"))).split(","); if(0 == checkArr.length){ checkArr[0] = CommonUtils.checkNull(paramMap.get("checkArr")); } if(null != checkArr && 0 < checkArr.length){ Map sqlParamMap = new HashMap(); sqlParamMap.put("checkArr",checkArr); sqlSession.update("project.deleteInspection", sqlParamMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * Setup WBS Task의 내용을 저장한다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public Map saveSetUpWBSTaskInfo(HttpServletRequest request, Map paramMap)throws Exception{ Map resultMap = new HashMap(); //Map infoMap = new HashMap(); List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ Map sparamMap = new HashMap(); String objId = CommonUtils.checkNull(paramMap.get("objid")); if("".equals(objId)){//신규 objId = CommonUtils.createObjId(); }else{//수정 sparamMap.put("OBJID_NE", paramMap.get("objid")); } //230328 중복체크 추가 sparamMap.put("CONTRACT_OBJID", paramMap.get("CONTRACT_OBJID")); //CONTRACT_OBJID sparamMap.put("TASK_NAME", paramMap.get("task_name")); List list = sqlSession.selectList("project.getSetupWBSTaskInfo",sparamMap); if(null != list && !list.isEmpty()){ // && StringUtils.isNotEmpty((String)infoMap.get("OBJID")) throw new Exception("Task Name이 중복됩니다."); } PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); paramMap.put("objid", objId); paramMap.put("parent_objid", paramMap.get("task_category")); String prevObjId = CommonUtils.checkNull(paramMap.get("PREV_TASK_SEQ")); if(StringUtils.isBlank(prevObjId)){ paramMap.put("task_seq", 1); }else{ // Retrieve the value of PREV_TASK_SEQ String prevTaskSeqStr = (String) paramMap.get("PREV_TASK_SEQ"); // Convert the String to Integer and add 1 int prevTaskSeq = Integer.parseInt(prevTaskSeqStr) + 1; paramMap.put("task_seq", prevTaskSeq); } //시퀀스 업데이트 System.out.println("paramMap::::"+paramMap); sqlSession.update("project.updateSetupWBSTaskListSeq",paramMap); sqlSession.update("project.saveSetupWBSTaskInfo",paramMap); resultMap.put("result", true); resultMap.put("msg", Message.SAVE_SUCCESS); sqlSession.commit(); }catch(Exception e){ if(CommonUtils.isEmpty(resultMap)) resultMap = new HashMap(); resultMap.put("result", false); resultMap.put("msg", e.getMessage()); sqlSession.rollback(); e.printStackTrace(); }finally{ sqlSession.close(); } return resultMap; } /** * 프로젝트에 연결된 WBS Task의 목록 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getProjectWBSTaskList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectProductTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트에 연결된 SETUP WBS Task의 목록 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getProjectSetupWBSTaskList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectSetupWBSTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** 검사관리 내용을 저장한다. * @param request * @param paramMap * @return */ public Map save_inspectionListFormPopUp(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("project.deleteAllInspectionList",sqlParamMap); } if(null != partObjList && 0 < partObjList.length){ for(String targetObjId:partObjList){ Map sqlParamMep = new HashMap(); sqlParamMep.put("OBJID" , targetObjId); sqlParamMep.put("PARENT_OBJID" , CommonUtils.checkNull(request.getParameter("PARENT_OBJID_"+targetObjId ))); sqlParamMep.put("UNIT_CODE" , CommonUtils.checkNull(request.getParameter("UNIT_CODE_"+targetObjId ))); sqlParamMep.put("INTERNAL_INSPECTION_DATE" , CommonUtils.checkNull(request.getParameter("INTERNAL_INSPECTION_DATE_"+targetObjId ))); sqlParamMep.put("INTERNAL_INSPECTION_RESULT" , CommonUtils.checkNull(request.getParameter("INTERNAL_INSPECTION_RESULT_"+targetObjId ))); sqlParamMep.put("INTERNAL_INSPECTION_ID" , CommonUtils.checkNull(request.getParameter("INTERNAL_INSPECTION_ID_"+targetObjId ))); //sqlParamMep.put("ADMISSION_INSPECTION_DATE" , CommonUtils.checkNull(request.getParameter("ADMISSION_INSPECTION_DATE_"+targetObjId ))); //sqlParamMep.put("ADMISSION_INSPECTION_RESULT" , CommonUtils.checkNull(request.getParameter("ADMISSION_INSPECTION_RESULT_"+targetObjId ))); //sqlParamMep.put("ADMISSION_INSPECTION_ID" , CommonUtils.checkNull(request.getParameter("ADMISSION_INSPECTION_ID_"+targetObjId ))); sqlParamMep.put("WRITER" , paramMap.get("WRITER")); System.out.println("sqlParamMep::"+sqlParamMep); sqlSession.update("project.save_inspectionListFormPopUp", 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; } public void save_wbsTaskProductForm(HttpServletRequest request, Map paramMap) { SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String[] TASK_OBJIDs = request.getParameterValues("TASK_OBJID"); //메일 발송 에서 프로젝트 이름가져오려고 맹금 Map projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", paramMap); //메일 발송 에서 프로젝트 이름가져오려고 맹금 paramMap.put("project_name", CommonUtils.checkNull(projectInfo.get("project_name"))); List MailList = new ArrayList<>(); if(TASK_OBJIDs != null){ for(int i=0; i setWithoutDuplicates = new LinkedHashSet<>(MailList); MailList = new ArrayList<>(setWithoutDuplicates); for(String mailuser:MailList){ //중복제거 메일 발송 commonService.SendMail(paramMap,"TASK_SAVE",mailuser); } sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } } public void save_setupWbsTaskProductForm(HttpServletRequest request, Map paramMap) { SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String[] TASK_OBJIDs = request.getParameterValues("TASK_OBJID"); //메일 발송 에서 프로젝트 이름가져오려고 맹금 Map projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", paramMap); //메일 발송 에서 프로젝트 이름가져오려고 맹금 paramMap.put("project_name", CommonUtils.checkNull(projectInfo.get("project_name"))); List MailList = new ArrayList<>(); if(TASK_OBJIDs != null){ for(int i=0; i setWithoutDuplicates = new LinkedHashSet<>(MailList); MailList = new ArrayList<>(setWithoutDuplicates); for(String mailuser:MailList){ //중복제거 메일 발송 commonService.SendMail(paramMap,"TASK_SAVE",mailuser); } sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } } public void save_wbsTaskProductProduceForm(HttpServletRequest request, Map paramMap) { SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String[] TASK_OBJIDs = request.getParameterValues("TASK_OBJID"); String tempData = "123"; //메일 발송 에서 프로젝트 이름가져오려고 맹금 Map projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", paramMap); //메일 발송 에서 프로젝트 이름가져오려고 맹금 paramMap.put("project_name", CommonUtils.checkNull(projectInfo.get("project_name"))); List MailList = new ArrayList<>(); if(TASK_OBJIDs != null){ for(int i=0; i setWithoutDuplicates = new LinkedHashSet<>(MailList); MailList = new ArrayList<>(setWithoutDuplicates); for(String mailuser:MailList){ //중복제거 메일 발송 commonService.SendMail(paramMap,"TASK_SAVE",mailuser); } sqlSession.commit(); }catch(Exception e){ sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } } /** * 프로젝트에 연결된 WBS Task의 목록 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getProjectWBSGanttTaskList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectProductGanttTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트에 연결된 WBS Task(신규)의 목록 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getProjectWBSGanttTaskNewList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectProductGanttTaskNewList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 간트차트 * @param paramMap * @return */ public List wbsTaskProductGantt(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = sqlSession.selectList("project.wbsTaskProductGantt", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * PROJECT 생성및 WBS TASK 생성 * @param paramMap * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) public Map CreateProjectWbsTask(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; Map resultList = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); paramMap.put("writer", person.getUserId()); paramMap.put("OBJID", CommonUtils.createObjId()); int cnt = sqlSession.update("project.createProject", paramMap); //프로젝트 TASK 등록 cnt = sqlSession.insert("project.insertProjectTask", paramMap); //project_no - unit 폴더 생성 //paramMap.put("OBJID", paramMap.get("OBJID")); Map projectInfo = (Map)sqlSession.selectOne("project.getProjectMngInfo", paramMap); List> taskUnitList = (ArrayList)sqlSession.selectList("project.getWbsTaskListByProject", paramMap); if(CommonUtils.isNotEmpty(taskUnitList) && !taskUnitList.isEmpty()){ String projectNo = (String)projectInfo.get("project_no"); String filepath = Constants.FILE_STORAGE+"\\PART_DATA\\"; for (Map map : taskUnitList) { File file = new File(filepath+File.separator+projectNo+File.separator+CommonUtils.checkNull((String)map.get("task_name"))); if(!file.exists()){ file.mkdirs(); } } } if(cnt > 0){ //프로젝트 신규 등록 메일발송 commonService.SendMail(paramMap,"PROJECT_REG",""); } 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> checkProjectNo(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("project.getProjectNoList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트 정보를 가져온다. * @param request * @param paramMap * @return */ public HashMap getProjectMngInfo(HttpServletRequest request,Map paramMap){ HashMap oemInfo = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ oemInfo = (HashMap)sqlSession.selectOne("project.getProjectMngInfo", paramMap); }catch(Exception e){ throw e; }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(oemInfo); } /** * 프로젝트 수정 * @param paramMap * @return */ @SuppressWarnings({ "rawtypes", "unchecked" }) public Map ModifyProject(HttpServletRequest request, Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; Map resultList = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("project.ModifyProject", 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 deleteProjectMngInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); Map sqlMap = new HashMap(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(false); try{ String checkArr = CommonUtils.checkNull(paramMap.get("checkArr")); if(!"".equals(checkArr)){ sqlSession.delete("project.deleteProjectMngInfo",paramMap); sqlSession.commit(); resultMap.put("result", true); resultMap.put("msg", Message.DELETE_SUCCESS); } }catch(Exception e){ resultMap.put("result", false); resultMap.put("msg", Message.DELETE_FAILED); sqlSession.rollback(); throw e; }finally{ sqlSession.close(); } return resultMap; } /** * 프로젝트에 타임라인 차트 쿼리 * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getProjectTimeLineList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectTimeLineList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 프로젝트 목록조회 * @param paramMap * @return */ public List getProjectMgntTimeLineList(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("project.projectMgmtTimeLineListCnt", paramMap); pageMap = (HashMap)CommonUtils.setPagingInfo(request, pageMap); paramMap.put("PAGE_END", pageMap.get("PAGE_END")); paramMap.put("PAGE_START", pageMap.get("PAGE_START")); resultList = CommonUtils.keyChangeUpperList((ArrayList)sqlSession.selectList("project.projectMgmtTimeLineList", paramMap)); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 프로젝트에 연결된 Setup WBS Task의 목록 가져온다. * @param sqlSession * @param request * @param paramMap * @return * @throws Exception */ public List getProjectWBSSetupTaskList(HttpServletRequest request, Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("project.getProjectSetupWBSTaskList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } }