package com.pms.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.google.gson.Gson; import com.pms.common.service.BaseService; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.salesmgmt.service.ReleaseMgmtService; import com.pms.service.CommonService; import com.pms.service.ProductionPlanningService; @Controller public class ProductionPlanningController extends BaseService { @Autowired CommonService commonService; @Autowired ProductionPlanningService productionPlanningService; // 영업관리 - 출고관리 서비스 @Autowired ReleaseMgmtService releaseMgmtService; /** * 생산관리 -> 현황 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/planningdashboard.do") public String planningdashboard(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //당사프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/planningdashboard"; } /** * 생산관리 -> 현황 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/planningdashboardGridList.do") public Map planningdashboardGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.planningdashboardGridList", request, paramMap); return paramMap; } /** * 생산관리 -> 생산계획수립 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/planningList.do") public String planningList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //당사프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/planningList"; } /** * 생산관리 -> 생산계획수립 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/planningGridList.do") public Map planningGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.planningGridList", request, paramMap); return paramMap; } /** * 생산관리 -> 이슈관리 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/processperformanceList.do") public String processperformanceList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //당사프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/processperformanceList"; } /** * 생산관리 -> 공정실적관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/processperformanceGridList.do") public Map processperformanceGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.processperformanceGridList", request, paramMap); return paramMap; } /** * 생산관리 -> 이슈관리 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/issuemgmtList.do") public String issuemgmtList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //당사프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //이슈구분 code_map.put("issue_category",commonService.bizMakeOptionList("0001611", CommonUtils.nullToEmpty((String)paramMap.get("issue_category")),"common.getCodeselect")); //등록자 code_map.put("writer", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("writer")), "common.getUserselect")); //구매 PM //조치담당자 code_map.put("design_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("design_userid")),"common.getUserselect")); //조치결과 code_map.put("design_result",commonService.bizMakeOptionList("0001615",CommonUtils.nullToEmpty((String)paramMap.get("design_result")),"common.getCodeselect")); request.setAttribute("code_map",code_map); request.setAttribute("paramMap",paramMap); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/issuemgmtList"; } /** * 생산관리 -> 이슈관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/issuemgmtGridList.do") public Map issuemgmtGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.selectPlanningIssueList", request, paramMap); return paramMap; } @RequestMapping("/productionplanning/issueFormPopUp.do") public String issueFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map info = new HashMap(); Map code_map = new HashMap(); String objid = CommonUtils.checkNull(paramMap.get("objId")); try{ info = productionPlanningService.issueFormPopUp(request,paramMap); if(info==null){ objid = CommonUtils.createObjId(); //프로젝트 번호 code_map.put("project_no",commonService.bizMakeOptionList("", "","common.getCusProjectNoList")); //이슈구분 code_map.put("issue_category",commonService.bizMakeOptionList("0001611", "","common.getCodeselect")); //설계담당자 code_map.put("design_userid", commonService.bizMakeOptionList("", "","common.getUserselect")); //설계 조치내역 code_map.put("design_result",commonService.bizMakeOptionList("0001615","","common.getCodeselect")); //구매담당자 code_map.put("purchase_userid", commonService.bizMakeOptionList("", "","common.getUserselect")); //구매 조치내역 code_map.put("purchase_result",commonService.bizMakeOptionList("0001615", "","common.getCodeselect")); //품질담당자 code_map.put("quality_userid", commonService.bizMakeOptionList("", "","common.getUserselect")); //품질 조치내역 code_map.put("quality_result",commonService.bizMakeOptionList("0001615","","common.getCodeselect")); //생산담당자 code_map.put("production_userid", commonService.bizMakeOptionList("", "","common.getUserselect")); //생산 조치내역 code_map.put("production_result",commonService.bizMakeOptionList("0001615", "","common.getCodeselect")); }else{ //프로젝트 번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PROJECT_OBJID")),"common.getCusProjectNoList")); //이슈구분 code_map.put("issue_category",commonService.bizMakeOptionList("0001611", CommonUtils.nullToEmpty((String)info.get("ISSUE_CATEGORY")),"common.getCodeselect")); //설계담당자 code_map.put("design_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("DESIGN_USERID")),"common.getUserselect")); //설계 조치내역 code_map.put("design_result",commonService.bizMakeOptionList("0001615", CommonUtils.nullToEmpty((String)info.get("DESIGN_RESULT")),"common.getCodeselect")); //구매담당자 code_map.put("purchase_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PURCHASE_USERID")),"common.getUserselect")); //구매 조치내역 code_map.put("purchase_result",commonService.bizMakeOptionList("0001615", CommonUtils.nullToEmpty((String)info.get("PURCHASE_RESULT")),"common.getCodeselect")); //품질담당자 code_map.put("quality_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("QUALITY_USERID")),"common.getUserselect")); //품질 조치내역 code_map.put("quality_result",commonService.bizMakeOptionList("0001615",CommonUtils.nullToEmpty((String)info.get("QUALITY_RESULT")),"common.getCodeselect")); //생산담당자 code_map.put("production_userid", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("PRODUCTION_USERID")),"common.getUserselect")); //생산 조치내역 code_map.put("production_result",commonService.bizMakeOptionList("0001615", CommonUtils.nullToEmpty((String)info.get("PRODUCTION_RESULT")),"common.getCodeselect")); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); request.setAttribute("code_map", code_map); request.setAttribute("OBJID", objid); return "/productionplanning/issueFormPopUp"; } /** * 이슈 저장 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productionplanning/saveissueInfo.do") public Map saveissueInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", productionPlanningService.saveissueInfo(request, paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 이슈 삭제 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/planningDelete.do") public Map planningDelete(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = productionPlanningService.planningDelete(request, paramMap); return resultMap; } /** * 이슈 배포 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/planningRelease.do") public Map planningRelease(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = productionPlanningService.planningRelease(request, paramMap); return resultMap; } @RequestMapping("/productionplanning/assemblyWbsFormPopUp.do") public String assemblyWbsFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); List resultList = null; String search = CommonUtils.checkNull(paramMap.get("search")); try{ code_map.put("project_name",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_name")),"common.getProjectNameList")); code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_cd")),"common.getsupplyselect")); code_map.put("unit_code",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("unit_code")),"common.getUnitCodeList")); code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM //인계자 code_map.put("transfer_user_id",commonService.bizMakeOptionList("",CommonUtils.nullToEmpty((String)paramMap.get("transfer_user_id")),"common.getUserselect", true, "TRANSFER_USER_ID", "TRANSFER_USER_ID")); //인수담당자 code_map.put("receive_user_id",commonService.bizMakeOptionList("",CommonUtils.nullToEmpty((String)paramMap.get("receive_user_id")),"common.getUserselect", true, "RECEIVE_USER_ID", "RECEIVE_USER_ID")); //조립담당자 code_map.put("assembly_user_id",commonService.bizMakeOptionList("",CommonUtils.nullToEmpty((String)paramMap.get("assembly_user_id")),"common.getUserselect", true, "ASSEMBLY_USER_ID", "ASSEMBLY_USER_ID")); resultList = productionPlanningService.getassemblyWbsList(request,paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("code_map",code_map); request.setAttribute("List",resultList); return "/productionplanning/assemblyWbsFormPopUp"; } /** * 생산관리 -> 출고관리 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/releaseMgmtList.do") public String releasMgmtList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //당사프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/releaseMgmtList"; } /** * 생산관리 -> 출고관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/releaseMgmtGridList.do") public Map releaseMgmtGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.releaseMgmtGridList", request, paramMap); return paramMap; } /** * 생산관리 -> 출고관리 등록 PopUp * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/releaseMgmtFormSimplePopUp.do") public String releaseMgmtFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); Map code_map = new HashMap(); try{ resultMap = releaseMgmtService.getReleaseMgmtInfo(request,paramMap); resultMap.put("PM_USER_ID", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("resultMap", resultMap); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/releaseMgmtFormSimplePopUp"; } /** * 생산관리 -> 출고관리 등록 PopUp 저장 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/saveReleaseMgmtInfo.do") public Map saveReleaseMgmtInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = productionPlanningService.saveReleaseMgmtInfo(request,paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 생산관리 -> 셋업관리 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/setupmgmtList.do") public String setupmgmtList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //프로젝트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/setupmgmtList"; } /** * 생산관리 -> 셋업관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/setupmgmtGridList.do") public Map setupmgmtGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.selectSetupMgmtList", request, paramMap); return paramMap; } /** * 공정실적 등록 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productionplanning/saveassemblyList.do") public Map saveassemblyList(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", productionPlanningService.saveassemblyList(request, paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 생산관리 -> 검사관리 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/inspectionMgmtList.do") public String inspectionMgmtList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/inspectionMgmtList"; } /** * 생산관리 -> 검사관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/inspectionGridList.do") public Map inspectionMgmtGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.inspectionGridList", request, paramMap); return paramMap; } /** * 생산관리 -> 담당자별 작업현황 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/workStatusByImployeeList.do") public String workStatusByImployeeList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); List list = new ArrayList(); List non_proj_list = new ArrayList(); Map sumPriceMap = new HashMap(); String search = CommonUtils.checkNull(paramMap.get("search")); try{ //프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //등록자 code_map.put("worker", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("worker")), "common.getUserselect")); //구매 PM //부서 code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀 if("Y".equals(search)){ sumPriceMap = commonService.selectOne("productionplanning.workStatusByImployeeList_sum", request, paramMap); list = CommonUtils.keyChangeUpperList(productionPlanningService.getWorkStatusByImployeeList(request,paramMap)); non_proj_list = CommonUtils.keyChangeUpperList(productionPlanningService.getWorkStatusByImployeeNPList(request,paramMap)); } request.setAttribute("code_map",code_map); request.setAttribute("paramMap",paramMap); request.setAttribute("LIST", list); request.setAttribute("NP_LIST", non_proj_list); request.setAttribute("SUM_PRICE_MAP", sumPriceMap); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/workStatusByImployeeList"; } /** * 생산관리 -> 프로젝트별 작업현황 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/workStatusByProjectList.do") public String workStatusByProjectList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); List list = new ArrayList(); Map sumPriceMap = new HashMap(); String search = CommonUtils.checkNull(paramMap.get("search")); try{ //프로젟트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //등록자 code_map.put("worker", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("worker")), "common.getUserselect")); //구매 PM //부서 code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀 if("Y".equals(search)){ sumPriceMap = commonService.selectOne("productionplanning.workStatusByProjectList_sum", request, paramMap); list = CommonUtils.keyChangeUpperList(productionPlanningService.getworkStatusByProjectList(request,paramMap)); } request.setAttribute("code_map",code_map); request.setAttribute("paramMap",paramMap); request.setAttribute("LIST", list); request.setAttribute("SUM_PRICE_MAP", sumPriceMap); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/workStatusByProjectList"; } /** * 생산관리 -> 공정실적 등록 인수 History PopUp * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/assemblyWbsHistoryPopUp.do") public String assemblyWbsHistoryPopUp(HttpServletRequest request, @RequestParam Map paramMap){ //List list = new ArrayList(); Map code_map = new HashMap(); try{ //list = productionPlanningService.getAssemblyWbsHistoryInfo(request,paramMap); }catch(Exception e){ e.printStackTrace(); } //request.setAttribute("list", list); return "/productionplanning/assemblyWbsHistoryPopUp"; } @ResponseBody @RequestMapping("/productionplanning/getAssemblyWbsHistoryList.do") public List getAssemblyWbsHistoryList(HttpServletRequest request, @RequestParam Map paramMap){ List> detailList = new ArrayList(); try { detailList = commonService.selectList("productionplanning.getAssemblyWbsHistoryList", request, paramMap); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("detailList:"+detailList); return detailList; } @RequestMapping("/productionplanning/deleteassemblyWbsHistoryList.do") public String deleteinventoryHistoryList(HttpServletRequest request, @RequestParam Map paramMap){ try { request.setAttribute("RESULT", CommonUtils.getJsonMap(productionPlanningService.deleteassemblyWbsHistoryList(request, paramMap)) ); } catch (Exception e) { e.printStackTrace(); } return "/ajax/ajaxResult"; } /** * 인수인계 History 저장 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productionplanning/saveAssemblyWbsHistory.do") public Map saveAssemblyWbsHistory(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map = productionPlanningService.saveAssemblyWbsHistory(request, paramMap); } catch (Exception e) { e.printStackTrace(); } return result_map; } /** * 작업관리 -> 현황 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/workMgmtdashboard.do") public String workMgmtdashboard(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //프로젝트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect")); //제품구분 code_map.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product")),"common.getCodeselect")); //공장 //PM code_map.put("pm_user_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("pm_user_id")), "common.getUserselect")); //구매 PM //작업자 code_map.put("worker", commonService.bizMakeOptionList("", "", "common.getUserselect")); //구매 PM //부서 code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀 request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/workMgmtdashboard"; } /** * 생산관리 -> 현황 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/workMgmtdashboardGridList.do") public Map workMgmtdashboardGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.workMgmtdashboardGridList", request, paramMap); return paramMap; } /** * 작업관리 -> 작업일지 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/workDiaryList.do") public String workDiaryList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ //프로젝트번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("project_no")),"common.getCusProjectNoList")); //등록자 code_map.put("writer", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("writer")), "common.getUserselect")); //구매 PM //작업자 code_map.put("worker", commonService.bizMakeOptionList("", "", "common.getUserselect")); //구매 PM //부서 code_map.put("busUsersDeptId",commonService.bizMakeOptionList(Constants.BUS_CONTENT , CommonUtils.nullToEmpty((String)paramMap.get("busUsersDeptId")),"common.getDeptselect")); //팀 request.setAttribute("code_map",code_map); request.setAttribute("paramMap",paramMap); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/workDiaryList"; } /** * 작업관리 -> 작업일지 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/workDiaryGridList.do") public Map workDiaryGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.workDiaryGridList", request, paramMap); return paramMap; } @RequestMapping("/productionplanning/workDiaryFormPopUp.do") public String workDiaryFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map info = new HashMap(); Map code_map = new HashMap(); String objid = CommonUtils.checkNull(paramMap.get("objId")); try{ info = productionPlanningService.workDiaryFormPopUp(request,paramMap); if(info==null){ objid = CommonUtils.createObjId(); //프로젝트 번호 code_map.put("project_no",commonService.bizMakeOptionList("", "","common.getCusProjectNoList")); //작업자 code_map.put("worker_id", commonService.bizMakeOptionList("", "","common.getUserselect")); }else{ //프로젝트 번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("CONTRACT_OBJID")),"common.getCusProjectNoList")); //작업자 code_map.put("worker_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("WORKER_ID")),"common.getUserselect")); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); request.setAttribute("code_map", code_map); request.setAttribute("OBJID", objid); return "/productionplanning/workDiaryFormPopUp"; } @RequestMapping("/productionplanning/workDiaryFormPopUp_NEW.do") public String workDiaryFormPopUp_NEW(HttpServletRequest request, @RequestParam Map paramMap){ Map info = new HashMap(); Map code_map = new HashMap(); String objid = CommonUtils.checkNull(paramMap.get("objId")); try{ info = productionPlanningService.workDiaryFormPopUp(request,paramMap); if(info==null){ objid = CommonUtils.createObjId(); //프로젝트 번호 code_map.put("project_no",commonService.bizMakeOptionList("", "","common.getCusProjectNoList")); //작업자 code_map.put("worker_id", commonService.bizMakeOptionList("", "","common.getUserselect")); }else{ //프로젝트 번호 code_map.put("project_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("CONTRACT_OBJID")),"common.getCusProjectNoList")); //작업자 code_map.put("worker_id", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)info.get("WORKER_ID")),"common.getUserselect")); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); request.setAttribute("code_map", code_map); request.setAttribute("OBJID", objid); return "/productionplanning/workDiaryFormPopUp_NEW"; } /** * 작업일지 저장 * @param request * @param paramMap * @return */ @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/productionplanning/saveWorkDiaryInfo.do") public Map saveWorkDiaryInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", productionPlanningService.saveWorkDiaryInfo(request, paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 작업일지 삭제 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/workDiaryDelete.do") public Map workDiaryDelete(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = productionPlanningService.workDiaryDelete(request, paramMap); return resultMap; } /** * 작업일지 팀장 확인 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/workDiaryConfirm.do") public Map workDiaryConfirm(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = productionPlanningService.workDiaryConfirm(request, paramMap); return resultMap; } /** * 생산관리 -> M-BOM 관리 목록 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomMgmt.do") public String mBomMgmt(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); try{ request.setAttribute("code_map", code_map); }catch(Exception e){ e.printStackTrace(); } return "/productionplanning/mBomMgmtList"; } /** * 생산관리 -> M-BOM 관리 그리드 목록 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/mBomMgmtGridList.do") public Map mBomMgmtGridList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("productionplanning.mBomMgmtGridList", request, paramMap); return paramMap; } /** * M-BOM E-BOM 선택 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomEbomSelectPopup.do") public String mBomEbomSelectPopup(HttpServletRequest request, @RequestParam Map paramMap) { try { // 필요한 코드 맵 설정 (structureList.jsp 참고) Map codeMap = new HashMap<>(); // 제품구분 코드 - structureList와 동일하게 설정 codeMap.put("product_cd", commonService.bizMakeOptionList("0000001", CommonUtils.nullToEmpty((String)paramMap.get("product_cd")), "common.getCodeselect")); request.setAttribute("code_map", codeMap); // 현재 할당된 E-BOM 정보 조회 String bomReportObjid = CommonUtils.checkNull(paramMap.get("bomReportObjid")); if(!"".equals(bomReportObjid)) { // E-BOM 정보 조회 Map ebomInfo = productionPlanningService.getEbomInfo(bomReportObjid); request.setAttribute("currentEbom", ebomInfo); } } catch(Exception e) { e.printStackTrace(); } return "/productionplanning/mBomEbomSelectPopup"; } /** * M-BOM 조회 팝업 (읽기 전용) * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomViewPopup.do") public String mBomViewPopup(HttpServletRequest request, @RequestParam Map paramMap) { return "/productionplanning/mBomViewPopup"; } /** * M-BOM 복사 팝업 메인 (frameset) * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomFormPopup.do") public String mBomFormPopup(HttpServletRequest request, @RequestParam Map paramMap) { try { String objId = CommonUtils.checkNull(paramMap.get("objId")); System.out.println("========== mBomFormPopup =========="); System.out.println("objId: " + objId); // PROJECT_MGMT 정보 조회 if(!"".equals(objId)) { paramMap.put("objId", objId); Map projectInfo = commonService.selectOne("productionplanning.getProjectMgmtDetail", request, paramMap); System.out.println("projectInfo: " + projectInfo); if(projectInfo != null && !projectInfo.isEmpty()) { request.setAttribute("info", projectInfo); } else { System.out.println("projectInfo is null or empty!"); } } } catch(Exception e) { e.printStackTrace(); } return "/productionplanning/mBomPopupHeaderFs"; } /** * M-BOM 조회 팝업 상단 헤더 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomHeaderPopup.do") public String mBomHeaderPopup(HttpServletRequest request, @RequestParam Map paramMap) { try { String objId = CommonUtils.checkNull(paramMap.get("objId")); if(!"".equals(objId)) { paramMap.put("objId", objId); Map projectInfo = commonService.selectOne("productionplanning.getProjectMgmtDetail", request, paramMap); request.setAttribute("info", projectInfo); } } catch(Exception e) { e.printStackTrace(); } return "/productionplanning/mBomHeaderPopup"; } /** * M-BOM 조회 팝업 중앙 버튼 영역 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomCenterBtnPopup.do") public String mBomCenterBtnPopup(HttpServletRequest request, @RequestParam Map paramMap) { return "/productionplanning/mBomCenterBtnPopup"; } /** * M-BOM 조회 팝업 중앙 버튼 영역 */ @RequestMapping("/productionplanning/mBomPopupCenter.do") public String mBomPopupCenter(HttpServletRequest request, @RequestParam Map paramMap) { return "/productionplanning/mBomPopupCenter"; } /** * M-BOM 조회 팝업 오른쪽 E-BOM 목록 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomPopupRight.do") public String mBomPopupRight(HttpServletRequest request, @RequestParam Map paramMap) { return "/productionplanning/mBomPopupRight"; } /** * E-BOM 목록 조회 (AJAX) * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/getEbomList.do") @ResponseBody public Map getEbomList(HttpServletRequest request, @RequestParam Map paramMap) { Map result = new HashMap<>(); try { List> list = commonService.selectList("productionplanning.getEbomList", request, paramMap); result.put("list", list); result.put("result", true); } catch(Exception e) { e.printStackTrace(); result.put("result", false); result.put("list", new ArrayList<>()); } return result; } /** * M-BOM 조회 팝업 하단 frameset * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomBottomPopupFS.do") public String mBomBottomPopupFS(HttpServletRequest request, @RequestParam Map paramMap) { return "/productionplanning/mBomPopupFs"; } /** * M-BOM 조회 팝업 왼쪽 트리 * @param request * @param paramMap * @return */ @RequestMapping("/productionplanning/mBomPopupLeft.do") public String mBomPopupLeft(HttpServletRequest request, @RequestParam Map paramMap) { Gson gson = new Gson(); try { String objId = CommonUtils.checkNull(paramMap.get("objId")); // PROJECT_MGMT 정보 조회 if(!"".equals(objId)) { paramMap.put("objId", objId); Map projectInfo = commonService.selectOne("productionplanning.getProjectMgmtDetail", request, paramMap); if(projectInfo != null) { // 1. 먼저 저장된 M-BOM 데이터가 있는지 확인 List> mbomDetailList = commonService.selectList("productionplanning.getMbomDetailByProject", request, paramMap); if(mbomDetailList != null && !mbomDetailList.isEmpty()) { // 저장된 M-BOM 데이터가 있으면 이를 표시 int maxLevel = 1; for(Map item : mbomDetailList) { Integer level = (Integer) item.get("LEVEL"); if(level != null && level > maxLevel) { maxLevel = level; } } request.setAttribute("MAXLEV", maxLevel); request.setAttribute("bomTreeListJson", gson.toJson(mbomDetailList)); return "/productionplanning/mBomPopupLeft"; } // 저장된 M-BOM이 없으면 할당된 E-BOM 정보 조회 String bomReportObjid = CommonUtils.checkNull(projectInfo.get("BOM_REPORT_OBJID")); if(!"".equals(bomReportObjid)) { Map ebomParam = new HashMap<>(); ebomParam.put("objId", bomReportObjid); ebomParam.put("bomReportObjId", bomReportObjid); // E-BOM 정보 조회 Map ebomInfo = commonService.selectOne("partMng.getBomReportInfo", request, ebomParam); request.setAttribute("ebomInfo", ebomInfo); // BOM 트리 데이터 조회 (레벨 정보 포함) List> bomTreeList = commonService.selectList("partMng.getBOMTreeList", request, ebomParam); if(bomTreeList != null && !bomTreeList.isEmpty()) { // MAX LEVEL 계산 int maxLevel = 1; for(Map item : bomTreeList) { Integer level = (Integer) item.get("LEVEL"); if(level != null && level > maxLevel) { maxLevel = level; } } request.setAttribute("MAXLEV", maxLevel); request.setAttribute("bomTreeListJson", gson.toJson(bomTreeList)); return "/productionplanning/mBomPopupLeft"; } } } } } catch(Exception e) { e.printStackTrace(); } // 데이터가 없을 때 빈 배열 설정 request.setAttribute("MAXLEV", 1); request.setAttribute("bomTreeListJson", "[]"); return "/productionplanning/mBomPopupLeft"; } /** * E-BOM을 M-BOM(PROJECT_MGMT)에 할당 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/assignEbomToMbom.do") public Map assignEbomToMbom(HttpServletRequest request, @RequestParam Map paramMap) { Map resultMap = new HashMap<>(); try { String projectMgmtObjid = CommonUtils.checkNull(paramMap.get("projectMgmtObjid")); String bomReportObjid = CommonUtils.checkNull(paramMap.get("bomReportObjid")); if(projectMgmtObjid.isEmpty() || bomReportObjid.isEmpty()) { resultMap.put("success", false); resultMap.put("message", "필수 파라미터가 누락되었습니다."); return resultMap; } // PROJECT_MGMT 테이블의 PART_OBJID 업데이트 int updateResult = productionPlanningService.assignEbomToProject(projectMgmtObjid, bomReportObjid); if(updateResult > 0) { resultMap.put("success", true); resultMap.put("message", "E-BOM이 할당되었습니다."); } else { resultMap.put("success", false); resultMap.put("message", "할당에 실패했습니다."); } } catch(Exception e) { e.printStackTrace(); resultMap.put("success", false); resultMap.put("message", "오류가 발생했습니다: " + e.getMessage()); } return resultMap; } /** * M-BOM 목록 조회 (검색 조건 포함) * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/getMbomList.do") public Map getMbomList(HttpServletRequest request, @RequestParam Map paramMap) { Map result = new HashMap<>(); try { // 검색 조건에 맞는 M-BOM 목록 조회 List> list = commonService.selectList("productionplanning.getMbomList", request, paramMap); result.put("list", list); result.put("result", true); } catch(Exception e) { e.printStackTrace(); result.put("result", false); result.put("list", new ArrayList<>()); } return result; } /** * M-BOM 저장 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/productionplanning/saveMbom.do") public Map saveMbom(HttpServletRequest request, @RequestBody Map paramMap) { Map resultMap = new HashMap<>(); try { // M-BOM 데이터 저장 로직 List> mbomData = (List>) paramMap.get("mbomData"); String partNo = CommonUtils.checkNull(paramMap.get("partNo")); String partName = CommonUtils.checkNull(paramMap.get("partName")); if(mbomData == null || mbomData.isEmpty()) { resultMap.put("result", "fail"); resultMap.put("message", "저장할 데이터가 없습니다."); return resultMap; } // M-BOM 저장 서비스 호출 int saveResult = productionPlanningService.saveMbom(request, mbomData, partNo, partName); if(saveResult > 0) { resultMap.put("result", "success"); resultMap.put("message", "M-BOM이 저장되었습니다."); } else { resultMap.put("result", "fail"); resultMap.put("message", "저장에 실패했습니다."); } } catch(Exception e) { e.printStackTrace(); resultMap.put("result", "fail"); resultMap.put("message", "오류가 발생했습니다: " + e.getMessage()); } return resultMap; } }