package com.pms.service; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.google.gson.JsonArray; 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 CostMgmtService { CommonService commonService = null; @Autowired ProjectService projectService; @Autowired ProductionMngService productionMngService; @Autowired public void setCommonService(CommonService commonService){ this.commonService = commonService; } public boolean saveProjectConceptBasicInfo(Map paramMap){ boolean result = false; SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); int cnt = sqlSession.update("common.getMilestoneList", paramMap); if(cnt > 0) result = true; }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return result; } public List getMaterialCostMgmtList(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("costMgmt.materialCostMgmtListCnt", 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("costMgmt.materialCostMgmtList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public List getLaborCostMgmtList(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("costMgmt.laborCostMgmtListCnt", 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("costMgmt.laborCostMgmtList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public List laborCostTimeSheetPopup(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("costMgmt.laborCostTimeSheetPopup", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public List getOverheadCostMgmtList(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("costMgmt.overheadCostMgmtListCnt", 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("costMgmt.overheadCostMgmtList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public List getExpenseList(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("costMgmt.expenseListCnt", 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("costMgmt.expenseList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public List getExpenseDetailList(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("costMgmt.expenseDetailList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } /** * 경비신청서 지급완료 * @param request * @param paramMap * @return */ public Map expenseConfirm(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 resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("costMgmt.laborCostTimeSheetDetailList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } public Map getExpenseMasterInfo(Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = sqlSession.selectOne("costMgmt.selectExpenseMaster", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultMap); } public void saveExpenseMaster(HttpServletRequest request,Map paramMap){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); String ArrBusUserId[] = request.getParameterValues("busUsersId"); String busUsersId =""; for(int i=0;i> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid"))); sqlSession = SqlMapConfig.getInstance().getSqlSession(false); int cnt = sqlSession.delete("costMgmt.deleteExpenseDetailAll", paramMap); for(int i=0; i> gridDataList = JsonUtil.JsonToList(CommonUtils.checkNull(paramMap.get("jqGrid"))); System.out.println("gridDataList"+gridDataList); System.out.println("gridDataListSize-=="+gridDataList.size()); sqlSession = SqlMapConfig.getInstance().getSqlSession(false); // int cnt = sqlSession.delete("costMgmt.deleteTimeSheetAll", paramMap); for(int i=0; i 0){ if(!CommonUtils.nullToEmpty((String)insertMap.get("TIME_SHEET_OBJID")).equals("")){ sqlSession.insert("costMgmt.insertTimeSheet", insertMap); }else { if(!CommonUtils.nullToEmpty((String)insertMap.get("PROJECTNO")).equals("") && !CommonUtils.nullToEmpty((String)insertMap.get("WORK_DATE")).equals("")){ insertMap.put("TIME_SHEET_OBJID", CommonUtils.createObjId()); sqlSession.insert("costMgmt.insertTimeSheet", insertMap); } } } } sqlSession.commit(); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } } //time sheet 삭제 public void timeSheetListDelete(HttpServletRequest request,Map paramMap){ SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); System.out.println("paramMap :"+paramMap); sqlSession.delete("costMgmt.deleteTimeSheet", paramMap); sqlSession.commit(); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } } //투입원가현황 public List getInputCostStatusList(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("costMgmt.inputCostStatusListCnt", 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("costMgmt.inputCostStatusList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } //경비현황 public List expenseInfo(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("costMgmt.expenseInfoCnt", 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("costMgmt.expenseInfo", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } public List getTimeSheetAddworkTime(HttpServletRequest request,Map paramMap){ List resultList = new ArrayList(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultList = (ArrayList)sqlSession.selectList("costMgmt.getTimeSheetAddworkTime", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return resultList; } /** * 투입원가관리 목표등록 Form PopUp * @param paramMap * @return */ public Map getCostGoalInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(); resultMap = (HashMap)sqlSession.selectOne("costMgmt.getCostGoalInfo", paramMap); //String contractObjId = CommonUtils.checkNull(resultMap.get("CONTRACT_OBJID")); String objId = ""; if(CommonUtils.isNotEmpty(resultMap)){ objId = CommonUtils.checkNull(resultMap.get("OBJID")); }else{ resultMap = new HashMap(); } if("".equals(objId)){ objId = CommonUtils.createObjId(); } resultMap.put("OBJID", objId); //resultMap.put("CONTRACT_OBJID", contractObjId); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultMap); } /** * 목표가 저장 * @param paramMap * @return */ public Map saveCostGoalInfo(HttpServletRequest request,Map paramMap){ Map resultMap = new HashMap(); SqlSession sqlSession = null; try{ sqlSession = SqlMapConfig.getInstance().getSqlSession(false); PersonBean person = (PersonBean)request.getSession().getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("WRITER", writer); sqlSession.insert("costMgmt.saveCostGoalInfo", 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 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 paramMap * @return */ public List getpurchaseUnitList(HttpServletRequest request,Map paramMap){ List> resultList = new ArrayList(); SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try{ resultList = sqlSession.selectList("costMgmt.getpurchaseUnitList", paramMap); }catch(Exception e){ e.printStackTrace(); }finally{ sqlSession.close(); } return CommonUtils.toUpperCaseMapKey(resultList); } }