/* * SalesMgmtController * * 1.0 * * 2021.10.01 * * Copyright ions */ package com.pms.salesmgmt.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.pms.common.JsonUtil; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.salesmgmt.service.SalesMngService; import com.pms.service.ApprovalService; import com.pms.service.CommonService; import com.pms.service.PartMgmtService; import com.pms.service.PartMngService; @Controller public class SalesMngController { @Autowired private SalesMngService salesMngService; @Autowired PartMgmtService partMgmtService; @Autowired CommonService commonService; @Autowired ApprovalService approvalService; @Autowired PartMngService partMngService; /** * 구매 BOM 관리 */ @RequestMapping("/salesMng/salesMngBOMList.do") public String salesMngBOMList(HttpServletRequest request, @RequestParam Map paramMap){ String actionType = CommonUtils.checkNull(paramMap.get("actionType")); String returnUrl = "/salesMng/salesMngBOMList"; Map code_map = new HashMap(); try { if("excel".equals(actionType)){ returnUrl = "/salesMng/salesMngBOMList"; } code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect")); } catch (Exception e) { e.printStackTrace(); } request.setAttribute("code_map", code_map); return returnUrl; } /** * BOM조회(정전개) ajax */ @ResponseBody @RequestMapping("/salesMng/getSalesMngBOMList.do") public List> getSalesMngBOMList(HttpServletRequest request, @RequestParam Map paramMap){ String actionType = CommonUtils.checkNull(paramMap.get("actionType")); List resultList =null; String objId = CommonUtils.checkNull(paramMap.get("OBJID")); String status = CommonUtils.checkNull(paramMap.get("STATUS")); String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE")); if("0".equals(searchRevision)){ paramMap.put("IS_LAST",""); paramMap.put("STATUS","release"); }else if("1".equals(searchRevision)){ paramMap.put("IS_LAST",searchRevision); paramMap.put("STATUS","release"); } if(!"".equals(actionType)){ resultList = CommonUtils.keyChangeUpperList(partMgmtService.structureAscendingList(request,paramMap)); } return resultList; } @RequestMapping("/salesMng/salesMngBOMListPopUp.do") public String structureAscendingListPopup(HttpServletRequest request, @RequestParam Map paramMap){ String actionType = CommonUtils.checkNull(paramMap.get("actionType")); String returnUrl = "/salesMng/salesMngBOMListPopUp"; Map code_map = new HashMap(); List resultList =null; String objId = CommonUtils.checkNull(paramMap.get("OBJID")); String status = CommonUtils.checkNull(paramMap.get("STATUS")); String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE")); try { resultList = CommonUtils.keyChangeUpperList(salesMngService.structureAscendingListPopup(request,paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } request.setAttribute("code_map", code_map); request.setAttribute("LIST", resultList); return returnUrl; } /** * BOM조회(정전개) ajax */ @ResponseBody @RequestMapping("/salesMng/saveSalesMngBOM.do") public Map saveSalesMngBOM(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = salesMngService.saveSalesMngBOM(request, paramMap); return resultMap; } /** * 구매의뢰서 등록 */ @RequestMapping("/salesMng/salesRequestMngRegList.do") public String salesRequestMngRegList(HttpServletRequest request, @RequestParam Map paramMap){ String actionType = CommonUtils.checkNull(paramMap.get("actionType")); String returnUrl = "/salesMng/salesRequestMngRegList"; Map code_map = new HashMap(); //List list = new ArrayList(); try { if("excel".equals(actionType)){ returnUrl = "/salesMng/salesRequestMngRegList"; } paramMap.put("SEARCH_STATUS", "create,reject,approvalRequest,release,reception"); //list = salesMngService.getSalesRequestMasterList(request, paramMap); //프로젝트번호 project_no code_map.put("contract_objid",commonService.bizMakeOptionList("", (String)paramMap.get("contract_objid"),"common.getProjectNameList")); //상태 code_map.put("act_status",commonService.bizMakeOptionList("0001062", (String)paramMap.get("act_status"),"common.getCodeselect")); //접수자 code_map.put("receipt_writer", commonService.bizMakeOptionList("", (String)paramMap.get("writer"),"common.getUserselect")); //구분 code_map.put("request_cd",commonService.bizMakeOptionList("0000167", (String)paramMap.get("request_cd"),"common.getCodeselect")); code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect")); } catch (Exception e) { e.printStackTrace(); } request.setAttribute("code_map", code_map); //request.setAttribute("LIST", list); return returnUrl; } /** * 구매요청서 관리 - 구매요청서 목록 페이징 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/salesRequestMngRegGridList.do") public Map getSalesRequestMasterList(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("salesMng.getSalesRequestMasterGridList", request, paramMap); return paramMap; } /** * 구매의뢰서 조회 */ @RequestMapping("/salesMng/salesRequestMngList.do") public String salesRequestMngList(HttpServletRequest request, @RequestParam Map paramMap){ String actionType = CommonUtils.checkNull(paramMap.get("actionType")); String returnUrl = "/salesMng/salesRequestMngList"; Map code_map = new HashMap(); List list = new ArrayList(); try { if("excel".equals(actionType)){ returnUrl = "/salesMng/salesRequestMngList"; } paramMap.put("SEARCH_STATUS", "approvalComplete"); list = salesMngService.getSalesRequestMasterList(request, paramMap); code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect")); } catch (Exception e) { e.printStackTrace(); } request.setAttribute("code_map", code_map); request.setAttribute("LIST", list); return returnUrl; } /** * 구매 의뢰 상세 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/salesRequestDetailPopUp.do") public String salesRequestDetailPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); Map code_map = new HashMap(); try{ String salesRequestMasterObjId = CommonUtils.checkNull(paramMap.get("SALES_REQUEST_MASTER_OBJID")); if(!"".equals(salesRequestMasterObjId)){ resultMap = salesMngService.getSalesRequestMasterInfo(request, paramMap); }else{ resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); } //프로젝트번호 project_no code_map.put("project_no",commonService.bizMakeOptionList("", (String)resultMap.get("PROJECT_NO"),"common.getProjectNameList")); //구분 code_map.put("request_cd",commonService.bizMakeOptionList("0000167", (String)resultMap.get("REQUEST_CD"),"common.getCodeselect")); //요청사유 code_map.put("request_reasons",commonService.bizMakeOptionList("0001603", (String)resultMap.get("REQUEST_REASONS"),"common.getCodeselect")); //요청인 code_map.put("request_user_id", commonService.bizMakeOptionList("", (String)resultMap.get("REQUEST_USER_ID"),"common.getUserselect")); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("code_map", code_map); request.setAttribute("resultMap", resultMap); return "/salesMng/salesRequestDetailPopUp"; } /** * 구매 의뢰 등록 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/salesRequestFormPopUp.do") public String salesRequestFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); Map code_map = new HashMap(); try{ String salesRequestMasterObjId = CommonUtils.checkNull(paramMap.get("SALES_REQUEST_MASTER_OBJID")); if(!"".equals(salesRequestMasterObjId)){ resultMap = salesMngService.getSalesRequestMasterInfo(request, paramMap); // 디버깅: 조인으로 가져온 값 확인 System.out.println("========== 디버깅: resultMap 값 확인 =========="); System.out.println("PURCHASE_TYPE: " + resultMap.get("PURCHASE_TYPE")); System.out.println("ORDER_TYPE: " + resultMap.get("ORDER_TYPE")); System.out.println("PRODUCT_NAME: " + resultMap.get("PRODUCT_NAME")); System.out.println("PRODUCT_NAME_FULL: " + resultMap.get("PRODUCT_NAME_FULL")); System.out.println("AREA_CD: " + resultMap.get("AREA_CD")); System.out.println("CUSTOMER_OBJID: " + resultMap.get("CUSTOMER_OBJID")); System.out.println("PAID_TYPE: " + resultMap.get("PAID_TYPE")); System.out.println("CATEGORY_CD: " + resultMap.get("CATEGORY_CD")); System.out.println("=========================================="); }else{ resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); } //프로젝트번호 project_no code_map.put("project_no",commonService.bizMakeOptionList("", (String)resultMap.get("PROJECT_NO"),"common.getProjectNameList")); //구분 code_map.put("request_cd",commonService.bizMakeOptionList("0000167", (String)resultMap.get("REQUEST_CD"),"common.getCodeselect")); //요청사유 code_map.put("request_reasons",commonService.bizMakeOptionList("0001603", (String)resultMap.get("REQUEST_REASONS"),"common.getCodeselect")); //요청인 code_map.put("request_user_id", commonService.bizMakeOptionList("", (String)resultMap.get("REQUEST_USER_ID"),"common.getUserselect")); //국내/해외 - 0001219 사용 code_map.put("area_cd",commonService.bizMakeOptionList("0001219", (String)resultMap.get("AREA_CD"),"common.getCodeselect")); //고객사 code_map.put("customer_objid",commonService.bizMakeOptionList("", (String)resultMap.get("CUSTOMER_OBJID"),"common.getsupplyselect")); //구매유형 (PURCHASE_TYPE) - 0001068 사용 code_map.put("purchase_type",commonService.bizMakeOptionList("0001068", (String)resultMap.get("PURCHASE_TYPE"),"common.getCodeselect")); //주문유형 (ORDER_TYPE) - 0001406 사용 code_map.put("order_type",commonService.bizMakeOptionList("0001406", (String)resultMap.get("ORDER_TYPE"),"common.getCodeselect")); //제품구분 (PRODUCT_NAME) - 0000001 사용 code_map.put("product_name",commonService.bizMakeOptionList("0000001", (String)resultMap.get("PRODUCT_NAME"),"common.getCodeselect")); //제품유형 (CATEGORY_CD) - 0000167 사용 code_map.put("category_cd",commonService.bizMakeOptionList("0000167", (String)resultMap.get("CATEGORY_CD"),"common.getCodeselect")); //유/무상 (PAID_TYPE) - COMM_CODE에서 조회 시도, 없으면 하드코딩 String paidTypeOptions = ""; try { paidTypeOptions = commonService.bizMakeOptionList("PAID_TYPE", (String)resultMap.get("PAID_TYPE"),"common.getCodeselect"); } catch (Exception e) { // COMM_CODE에 없으면 하드코딩 } if (paidTypeOptions == null || paidTypeOptions.trim().isEmpty()) { String paidType = (String)resultMap.get("PAID_TYPE"); paidTypeOptions = ""; paidTypeOptions += ""; paidTypeOptions += ""; } code_map.put("paid_type", paidTypeOptions); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("code_map", code_map); request.setAttribute("resultMap", resultMap); return "/salesMng/salesRequestFormPopUp"; } @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/salesMng/getSalesRequest.do") public Map getSalesRequest(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", salesMngService.getSalesRequest(paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 구매 의뢰 접수 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/receiptSalesRequestInfo.do") public String receiptSalesRequestInfo(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("RECEIPT_USER_ID", writer); salesMngService.receiptSalesRequestInfo(request, paramMap); resultMap.put("message", "접수되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * 구매의뢰에 해당하는 Part 목록을 가져온다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/getSalesRequestTargetList.do") public List> getSalesRequestTargetList(HttpServletRequest request, @RequestParam Map paramMap){ List partList = new ArrayList(); try{ String bomReportObjId = CommonUtils.checkNull(paramMap.get("bom_report_objid")); if(!"".equals(bomReportObjId)){ partList = CommonUtils.toUpperCaseMapKey(salesMngService.getSalesBOMList(request,paramMap)); }else{ partList = CommonUtils.keyChangeUpperList(salesMngService.getSalesRequestSavedPartList(request,paramMap)); } }catch(Exception e){ e.printStackTrace(); } return partList; } /** * 구매의뢰 내용을 저장한다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/saveSalesRequestInfo.do") public Map saveSalesRequestInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = salesMngService.saveSalesRequestInfo(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 구매의뢰 공급업체 내용을 저장한다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/saveSalesRequestSupplyInfo.do") public Map saveSalesRequestSupplyInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = salesMngService.saveSalesRequestSupplyInfo(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 구매의뢰 뱌포처리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/releaseSalesRequest.do") public Map releaseSalesRequest(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = salesMngService.changeStatusSalesRequestMaster(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 파트에 해당하는 공급업체와 단가 정보를 가져온다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/getSalesPartnerInfoList.do") public List> getSalesPartnerInfoList(HttpServletRequest request, @RequestParam Map paramMap){ List resultList = new ArrayList(); try{ resultList = CommonUtils.keyChangeUpperList(salesMngService.getSalesPartnerInfoList(request,paramMap)); }catch(Exception e){ e.printStackTrace(); } return resultList; } /** * 발주특성 목록 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/orderSpecMngList.do") public String orderSpecMngList(HttpServletRequest request, @RequestParam Map paramMap){ List list = new ArrayList(); Map code_map = new HashMap(); try { code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect")); } catch (Exception e) { e.printStackTrace(); } request.setAttribute("code_map",code_map); return "/salesMng/orderSpecMngList"; } /** * 발주특성 목록 조회 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/searchOrderSpecMngList.do") public String searchOrderSpecMngList(HttpServletRequest request, @RequestParam Map paramMap){ List list = new ArrayList(); Map code_map = new HashMap(); try { list = CommonUtils.keyChangeUpperList(partMngService.partMngTempList(request,paramMap)); code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect")); } catch (Exception e) { e.printStackTrace(); } request.setAttribute("code_map",code_map); request.setAttribute("LIST", list); return "/salesMng/orderSpecMngList"; } /** * 구매 의뢰 등록 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/orderSpecMngDetailPopUp.do") public String orderSpecMngDetailPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = CommonUtils.keyChangeUpperMap(partMngService.getPartMngInfo(request,paramMap)); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("resultMap", resultMap); return "/salesMng/orderSpecMngDetailPopUp"; } /** * 구매 의뢰 등록 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/orderSpecMngFormPopUp.do") public String orderSpecMngFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ String objId = CommonUtils.checkNull(paramMap.get("OBJID")); String partObjId = CommonUtils.checkNull(paramMap.get("PART_OBJID")); if(!"".equals(objId)){ resultMap = salesMngService.getOrderSpecMngMap(request,paramMap); }else{ objId = CommonUtils.createObjId(); resultMap.put("OBJID", objId); resultMap.put("PART_OBJID", partObjId); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("resultMap", resultMap); return "/salesMng/orderSpecMngFormPopUp"; } /** * 파트에 연결된 발주특성 정보를 가져온다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/getOrderSpecMngList.do") public List> getOrderSpecMngList(HttpServletRequest request, @RequestParam Map paramMap){ List resultList =null; try{ resultList = CommonUtils.keyChangeUpperList(salesMngService.getOrderSpecMngList(request,paramMap)); }catch(Exception e){ e.printStackTrace(); } return resultList; } /** * 발주서 작성에 추가된 파트의 발주특성 정보를 가져온다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/getOrderSpecMngMap.do") public Map getOrderSpecMngMap(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = CommonUtils.toUpperCaseMapKey(salesMngService.getOrderSpecMngMap(request,paramMap)); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 발주특성 업체저장 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/saveOrderSpecPartnerMng.do") public Map saveOrderSpecPartnerMng(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = salesMngService.saveOrderSpecPartnerMng(request, paramMap); return resultMap; } /** * 발주특성 삭제 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/deleteOrderSpecMng.do") public Map deleteOrderSpecMng(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = salesMngService.deleteOrderSpecMng(request, paramMap); return resultMap; } /** * 발주특성 이력 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/orderSpecMngHistoryPopUp.do") public String orderSpecMngHistoryPopUp(HttpServletRequest request, @RequestParam Map paramMap){ List resultList =null; try{ resultList = CommonUtils.keyChangeUpperList(salesMngService.getOrderSpecMngHistoryList(request,paramMap)); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("LIST", resultList); return "/salesMng/orderSpecMngHistoryPopUp"; } //구매의뢰 시 구매 BOM 내용을 가져온다. @RequestMapping("/salesMng/salesRequestTargetBOMList.do") public String salesRequestTargetBOMList(HttpServletRequest request, @RequestParam Map paramMap){ String actionType = CommonUtils.checkNull(paramMap.get("actionType")); String returnUrl = "/salesMng/salesRequestTargetBOMList"; Map code_map = new HashMap(); List resultList =null; String objId = CommonUtils.checkNull(paramMap.get("OBJID")); String status = CommonUtils.checkNull(paramMap.get("STATUS")); String searchRevision = CommonUtils.checkNull(paramMap.get("SEARCH_REVISION_RELEASE")); try { resultList = CommonUtils.keyChangeUpperList(salesMngService.structureAscendingListPopup(request,paramMap)); code_map.put("product_code",commonService.bizMakeOptionList("", (String)paramMap.get("product_code"),"common.getProductCodeselect")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } request.setAttribute("code_map", code_map); request.setAttribute("LIST", resultList); return returnUrl; } /** * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/deleteSalesRequestMng.do") public Map deleteSalesRequestMng(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = salesMngService.deleteSalesRequestMng(request, paramMap); return resultMap; } /** * 발주특성 저장 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/saveOrderSpecMng.do") public Map saveOrderSpecMng(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = salesMngService.saveOrderSpecMng(request, paramMap); return resultMap; } @RequestMapping("/salesMng/parsingTemp.do") public void parsingTemp(HttpServletRequest request, @RequestParam Map paramMap){ salesMngService.parsingTemp(request, paramMap); } @RequestMapping("/salesMng/salesBomReportList.do") public String salesBomReportList(HttpServletRequest request, @RequestParam Map paramMap){ //ArrayList list = new ArrayList(); Map code_map = new HashMap(); try{ //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", (String)paramMap.get("customer_cd"),"common.getsupplyselect")); //구매담당자 code_map.put("writer2_id", commonService.bizMakeOptionList("", (String)paramMap.get("writer2_id"),"common.getUserselect")); //list = commonService.selectListPaging("salesMng.salesBomReportList", request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("code_map",code_map); //request.setAttribute("LIST", JsonUtil.ListToJson(list)); return "/salesMng/salesBomReportList"; } /** * 구매BOM 관리 - 구매BOM 목록 페이징 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/salesBomReportGridList.do") public Map getsalesBomReportGridListPaging(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("salesMng.salesBomReportList", request, paramMap); return paramMap; } @RequestMapping("/salesMng/salesBomReportFormPopup.do") public String salesBomReportFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ HashMap info = new HashMap(); ArrayList partList = new ArrayList(); Map code_map = new HashMap(); String pageUrl = "/salesMng/salesBomReportFormPopup"; String actionType = CommonUtils.checkNull(paramMap.get("actionType")); if("excel".equals(actionType)){ pageUrl = "/salesMng/salesBomReportExcelPopup"; } try{ String objid = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objid)){ info = new HashMap(); info.put("OBJID", CommonUtils.createObjId()); info.put("PARENT_OBJID", CommonUtils.checkNull(paramMap.get("parent_objId"))); }else{ info = commonService.selectOne("salesMng.salesBomReportInfo", request, paramMap); } partList = commonService.selectList("salesMng.salesBomReportPartList", request, paramMap); Map param = new HashMap(); code_map.put("jqGridSelect_adminSUPPLY" ,commonService.getJqGridSelectBoxJsonData("common.getAdminSupCdList", param, "선택")); //공급업체명 }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); request.setAttribute("gridPartData", JsonUtil.ListToJson(partList)); request.setAttribute("partList", partList); request.setAttribute("code_map", code_map); request.setAttribute("actionType", actionType); return pageUrl; } @RequestMapping("/salesMng/saveSalesBomReportInfo.do") public String saveSalesBomReportInfo(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); salesMngService.mergeSalesBomReportInfo(request, paramMap); resultMap.put("message", "저장되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } @RequestMapping("/salesMng/salesPartChgList.do") public String salesPartChgList(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList list = new ArrayList(); Map code_map = new HashMap(); try{ //고객사 code_map.put("customer_cd",commonService.bizMakeOptionList("", (String)paramMap.get("customer_cd"),"common.getsupplyselect")); //당사프로젝트번호 project_no code_map.put("contract_objid",commonService.bizMakeOptionList("", (String)paramMap.get("contract_objid"),"common.getProjectNameList")); //설변사유 code_map.put("change_option",commonService.bizMakeOptionList("0000318", (String)paramMap.get("change_option"),"common.getCodeselect")); //설변구분 code_map.put("change_type",commonService.bizMakeOptionList("0001054", (String)paramMap.get("change_type"),"common.getCodeselect")); //PART구분 code_map.put("part_type",commonService.bizMakeOptionList(Constants.PART_TYPE_CODE, (String)paramMap.get("part_type"),"common.getCodeselect")); //설계담당자 code_map.put("part_writer", commonService.bizMakeOptionList("", (String)paramMap.get("part_writer"),"common.getUserselect")); //구매담당자 code_map.put("sales_writer", commonService.bizMakeOptionList("", (String)paramMap.get("sales_writer"),"common.getUserselect")); //조치내역 code_map.put("act_cd",commonService.bizMakeOptionList("0001059", (String)paramMap.get("act_cd"),"common.getCodeselect")); //조치결과 code_map.put("act_status",commonService.bizMakeOptionList("0001062", (String)paramMap.get("act_status"),"common.getCodeselect")); list = commonService.selectListPaging("salesMng.salesPartChgList", request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("code_map",code_map); request.setAttribute("LIST", JsonUtil.ListToJson(list)); return "/salesMng/salesPartChgList"; } /** * 설계변경관리 - 설계변경 목록 페이징 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/salesPartChgGridList.do") public Map getsalesPartChgListPaging(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("salesMng.salesPartChgList", request, paramMap); return paramMap; } @RequestMapping("/salesMng/salesPartChgFormPopup.do") public String salesPartChgFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ HashMap info = new HashMap(); Map code_map = new HashMap(); String actionType = CommonUtils.checkNull(paramMap.get("actionType")); try{ String objid = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objid)){ info = new HashMap(); info.put("OBJID" , CommonUtils.createObjId()); info.put("PART_OBJID", CommonUtils.checkNull(paramMap.get("part_objid"))); info.put("EO_NO" , CommonUtils.checkNull(paramMap.get("eo_no"))); info.put("PART_NO" , CommonUtils.checkNull(paramMap.get("part_no"))); info.put("PROJECT_NO", CommonUtils.checkNull(paramMap.get("project_no"))); }else{ info = commonService.selectOne("salesMng.salesPartChgInfo", request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); request.setAttribute("code_map", code_map); request.setAttribute("actionType", actionType); return "/salesMng/salesPartChgFormPopup"; } @RequestMapping("/salesMng/receiptSalesPartChgInfo.do") public String receiptSalesPartChgInfo(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); salesMngService.receiptSalesPartChgInfo(request, paramMap); resultMap.put("message", "접수되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } @RequestMapping("/salesMng/saveSalesPartChgInfo.do") public String saveSalesPartChgInfo(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); salesMngService.mergeSalesPartChgInfo(request, paramMap); resultMap.put("message", "저장되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * 장납기품 리스트 (발주서 제품추가시 선택팝업으로도 사용) */ @RequestMapping("/salesMng/salesLongDeliveryList.do") public String salesLongDeliveryList(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList list = new ArrayList(); Map code_map = new HashMap(); Map resultMap = new HashMap(); String actionType = CommonUtils.checkNull(paramMap.get("actionType")); try{ //공급업체 code_map.put("admin_supply",commonService.bizMakeOptionList("", (String)paramMap.get("admin_supply"),"common.getmatersupplyselect")); //location code_map.put("location",commonService.bizMakeOptionList("0000262", (String)paramMap.get("location"),"common.getCodeselect")); //list = commonService.selectList("salesMng.salesLongDeliveryList", request, paramMap); list = commonService.selectListPaging("salesMng.salesLongDeliveryList", request, paramMap); resultMap = commonService.selectOne("salesMng.salesLongDeliveryListSum", request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("code_map",code_map); //request.setAttribute("LIST", list); request.setAttribute("LIST", JsonUtil.ListToJson(list)); request.setAttribute("resultMap",resultMap); return "/salesMng/salesLongDeliveryList"; } /** * 장납기품 관리 - 장납기품 목록 페이징 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/salesLongDeliveryGridList.do") public Map getSalesLongDeliveryGridListPaging(HttpServletRequest request, @RequestParam Map paramMap){ commonService.selectListPagingNew("salesMng.salesLongDeliveryList", request, paramMap); return paramMap; } @RequestMapping("/salesMng/salesLongDeliveryFormPopup.do") public String salesLongDeliveryFormPopup(HttpServletRequest request, @RequestParam Map paramMap){ HashMap info = new HashMap(); ArrayList inputList = new ArrayList(); ArrayList predictList = new ArrayList(); Map code_map = new HashMap(); String actionType = CommonUtils.checkNull(paramMap.get("actionType")); try{ String objid = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objid)){ info = new HashMap(); info.put("OBJID" , CommonUtils.createObjId()); }else{ info = commonService.selectOne("salesMng.salesLongDeliveryInfo", request, paramMap); inputList = commonService.selectList("salesMng.salesLongDeliveryInputList", request, paramMap); predictList = commonService.selectList("salesMng.salesLongDeliveryPredictList", request, paramMap); } //공급업체 code_map.put("SUPPLY_OBJID",commonService.bizMakeOptionList("", (String)info.get("SUPPLY_OBJID"),"common.getmatersupplyselect")); //location code_map.put("LOCATION",commonService.bizMakeOptionList("0000262", (String)info.get("LOCATION"),"common.getCodeselect")); //계약-프로젝트번호 Map param = new HashMap(); code_map.put("jqGridSelect_CONTRACT_OBJID", commonService.getJqGridSelectBoxJsonData2("common.getProjectNameList", param, "선택", "CODE", "NAME")); //용처 code_map.put("jqGridSelect_SUPPLY_OBJID", commonService.getJqGridSelectBoxJsonData2("common.getmatersupplyselect", param, "선택", "CODE", "NAME")); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("info", info); request.setAttribute("inputList", JsonUtil.ListToJson(inputList)); request.setAttribute("predictList", JsonUtil.ListToJson(predictList)); request.setAttribute("code_map", code_map); request.setAttribute("actionType", actionType); return "/salesMng/salesLongDeliveryFormPopup"; } @RequestMapping("/salesMng/saveSalesLongDeliveryInfo.do") public String saveSalesLongDeliveryInfo(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); salesMngService.mergeSalesLongDeliveryInfo(request, paramMap); resultMap.put("message", "저장되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } @RequestMapping("/salesMng/deleteSalesLongDeliveryInfo.do") public String deleteSalesLongDeliveryInfo(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String writer = CommonUtils.checkNull(person.getUserId()); paramMap.put("writer", writer); salesMngService.deleteSalesLongDeliveryInfo(request, paramMap); resultMap.put("message", "삭제되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } @RequestMapping("/salesMng/salesBomExcelImportPopUp.do") public String salesBomExcelImportPopUp(HttpServletRequest request, @RequestParam Map paramMap){ String EXCEL_IMPORT_OBJID = CommonUtils.createObjId(); request.setAttribute("EXCEL_IMPORT_OBJID", EXCEL_IMPORT_OBJID); return "/salesMng/salesBomExcelImportPopUp"; } /** * 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/parsingSalesBomExcelImport.do") public List parsingSalesBomExcelImport(HttpServletRequest request, @RequestParam Map paramMap){ List resultList = new ArrayList(); try{ resultList = (ArrayList)salesMngService.parsingSalesBomExcelImport(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultList; } /** * 업로드된 Excel File을 통해서 데이터를 Parsing하여 목록으로 return. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/saveSalesBomExcelImport.do") public Map saveSalesBomExcelImport(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = salesMngService.saveSalesBomExcelImport(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 구매리스트 작성 팝업 * @param request * @param paramMap * @return */ @RequestMapping("/salesMng/purchaseListFormPopUp.do") public String purchaseListFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ String salesRequestMasterObjId = CommonUtils.checkNull(paramMap.get("SALES_REQUEST_MASTER_OBJID")); String projectMgmtObjId = CommonUtils.checkNull(paramMap.get("PROJECT_MGMT_OBJID")); if(!"".equals(salesRequestMasterObjId)){ // 기존 구매리스트 조회 resultMap = salesMngService.getSalesRequestMasterInfo(request, paramMap); }else if(!"".equals(projectMgmtObjId)){ // M-BOM에서 새로 생성 resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); }else{ resultMap.put("OBJID", CommonUtils.createObjId()); resultMap.put("STATUS", "create"); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("resultMap", resultMap); return "/salesMng/purchaseListFormPopUp"; } /** * 구매리스트 상세 조회 (기존 구매리스트) * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/getPurchaseListDetail.do") public Map getPurchaseListDetail(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ List list = salesMngService.getPurchaseListDetail(request, paramMap); resultMap.put("list", list); }catch(Exception e){ e.printStackTrace(); resultMap.put("list", new ArrayList()); } return resultMap; } /** * M-BOM에서 구매리스트 생성 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/getMBomForPurchaseList.do") public Map getMBomForPurchaseList(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ System.out.println("========== getMBomForPurchaseList 호출 =========="); System.out.println("paramMap: " + paramMap); System.out.println("PROJECT_MGMT_OBJID: " + paramMap.get("PROJECT_MGMT_OBJID")); System.out.println("bomReportObjId: " + paramMap.get("bomReportObjId")); List list = salesMngService.getMBomForPurchaseList(request, paramMap); // 키를 대문자로 변환 List> upperList = new ArrayList>(); if(list != null) { for(Map item : list) { Map upperItem = new HashMap(); for(Object key : item.keySet()) { upperItem.put(key.toString().toUpperCase(), item.get(key)); } upperList.add(upperItem); } } System.out.println("결과 리스트 크기: " + upperList.size()); if(!upperList.isEmpty()) { System.out.println("첫번째 항목: " + upperList.get(0)); } resultMap.put("list", upperList); }catch(Exception e){ System.out.println("getMBomForPurchaseList 오류 발생!"); e.printStackTrace(); resultMap.put("list", new ArrayList()); } return resultMap; } /** * 구매리스트 저장 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/salesMng/savePurchaseList.do") public Map savePurchaseList(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = salesMngService.savePurchaseList(request, paramMap); }catch(Exception e){ e.printStackTrace(); resultMap.put("result", "error"); resultMap.put("message", "저장 중 오류가 발생했습니다: " + e.getMessage()); } return resultMap; } }