package com.pms.controller; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put; 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.bean.PersonBean; import com.pms.common.service.BaseService; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.service.CommonService; import com.pms.service.PurchaseOrderService; import com.pms.service.SupplyChainMgmtService; @Controller public class SupplyChainMgmtController extends BaseService { @Autowired CommonService commonService; @Autowired SupplyChainMgmtService supplyChainMgmtService; @Autowired PurchaseOrderService purchaseOrderService; /** * 와주협업관리 -> 발주관리 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/purchaseOrderMgmtList.do") public String purchaseOrderMgmtList(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("SALES_MNG_USER_ID", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("SALES_MNG_USER_ID")), "common.getUserselect")); //구매 PM //공급업체 code_map.put("partner_objid",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("partner_objid")),"common.getmatersupplyselect")); request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/supplyChainMgmt/purchaseOrderMgmtList"; } /** * 와주협업관리 -> 발주관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/purchaseOrderMgmtGridList.do") public Map planningdashboardGridList(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("PARTNER_OBJID", CommonUtils.checkNull(person.getPartner_cd())); paramMap.put("USER_ID", CommonUtils.checkNull(person.getUserId())); commonService.selectListPagingNew("supplyChainMgmt.purchaseOrderMgmtGridList", request, paramMap); return paramMap; } /** * 외주협업관리 -> 발주관리 접수 */ @RequestMapping("/supplyChainMgmt/regsupplyChain.do") @ResponseBody public String regsupplyChain(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String result = ""; try{ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("CONNECTUSERID", CommonUtils.checkNull(person.getUserId())); supplyChainMgmtService.regsupplyChain(request, paramMap); result = "SUCCESS"; }catch(Exception e){ e.printStackTrace(); result = "FAIL"; } return result; } /** * 입고계획 등록 팝업 */ @RequestMapping("/supplyChainMgmt/arrivalplanFormPopup.do") public String arrivalplanFormPopup(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ List detailList = new ArrayList(); List arrivalList = new ArrayList(); Map info = new HashMap(); try{ detailList = commonService.selectList("supplyChainMgmt.purchase_order_part", request, paramMap); arrivalList = commonService.selectList("supplyChainMgmt.arrivalList", request, paramMap); info = purchaseOrderService.getPurchaseOrderMasterInfo(request, paramMap); request.setAttribute("detailList", detailList); request.setAttribute("arrivalList", arrivalList); request.setAttribute("objId", CommonUtils.checkNull(paramMap.get("PURCHASE_ORDER_MASTER_OBJID"), "")); request.setAttribute("info", info); }catch(Exception e){ e.printStackTrace(); } return "/supplyChainMgmt/arrivalplanFormPopup"; } @RequestMapping("/supplyChainMgmt/savearrivalplanFormPopup.do") public String savearrivalplanFormPopup(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); // deletedObjIds 처리 String[] deletedObjIds = request.getParameterValues("deletedObjIds"); if (deletedObjIds != null && deletedObjIds.length > 0) { paramMap.put("deletedObjIds", deletedObjIds); } supplyChainMgmtService.savearrivalplanFormPopup(request, paramMap); resultMap.put("message", "저장되었습니다."); }catch(Exception e){ resultMap.put("message", "오류가 발생하였습니다."); e.printStackTrace(); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * SCM 구매확인 */ @RequestMapping("/supplyChainMgmt/updateSalesStatus.do") @ResponseBody public String updateSalesStatus(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ String result = ""; try{ supplyChainMgmtService.updateSalesStatus(request, paramMap); result = "저장에 성공하였습니다."; }catch(Exception e){ e.printStackTrace(); result = "저장에 실패하였습니다."; } return result; } /** * 와주협업관리 -> 부적합품관리 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/invalidMgmtList.do") public String invalidMgmtList(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("defect_reason",commonService.bizMakeOptionList("0001113", (String)paramMap.get("defect_reason"),"common.getCodeselect")); request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/supplyChainMgmt/invalidMgmtList"; } /** * 와주협업관리 -> 부적합품관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/invalidMgmtGridList.do") public Map invalidMgmtGridList(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("PARTNER_OBJID", CommonUtils.checkNull(person.getPartner_cd())); paramMap.put("USER_ID", CommonUtils.checkNull(person.getUserId())); commonService.selectListPagingNew("supplyChainMgmt.invalidMgmtGridList", request, paramMap); return paramMap; } /** * 부적합품 재입고예정일 등록 */ @RequestMapping("/supplyChainMgmt/redeliverydateReg.do") @ResponseBody public Map savePartMngChangeList(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = supplyChainMgmtService.saveRedeliverydate(request, paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return resultMap; } /** * 와주협업관리 -> 거래명세서관리 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/invoiceMgmtList.do") public String invoiceMgmtList(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("partner_objid",commonService.bizMakeOptionList("", (String)paramMap.get("partner_objid"),"common.getmatersupplyselect")); request.setAttribute("code_map",code_map); }catch(Exception e){ e.printStackTrace(); } return "/supplyChainMgmt/invoiceMgmtList"; } /** * 와주협업관리 -> 거래명세서관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/invoiceMgmtGridList.do") public Map invoiceMgmtGridList(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("PARTNER_OBJID", CommonUtils.checkNull(person.getPartner_cd())); paramMap.put("USER_ID", CommonUtils.checkNull(person.getUserId())); commonService.selectListPagingNew("supplyChainMgmt.invoiceMgmtGridList", request, paramMap); return paramMap; } /** * 와주협업관리 -> 공급업체품질관리 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/supplyQCMgmtList.do") public String supplyQCMgmtList(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 "/supplyChainMgmt/supplyQCMgmtList"; } /** * 와주협업관리 -> 공급업체품질관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/supplyQCMgmtGridList.do") public Map supplyQCMgmtGridList(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("PARTNER_OBJID", CommonUtils.checkNull(person.getPartner_cd())); paramMap.put("USER_ID", CommonUtils.checkNull(person.getUserId())); commonService.selectListPagingNew("supplyChainMgmt.supplyQCMgmtGridList", request, paramMap); return paramMap; } /** * 외주협업관리 -> 자금지급관리 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/fundPaymentMgmtList.do") public String fundPaymentMgmtList(HttpServletRequest request, @RequestParam Map paramMap){ Map code_map = new HashMap(); Map resultMap = new HashMap(); try{ paramMap.put("result_cd", "0000964"); //영업 수주 //영업번호 code_map.put("contract_no",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("contract_no")),"common.getContractNoList")); //프로젟트번호 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("partner_objid",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("partner_objid")),"common.getmatersupplyselect")); //resultMap = commonService.selectOne("purchaseOrder.purchaseOrderStatusByProjectSum", request, paramMap); request.setAttribute("code_map",code_map); request.setAttribute("resultMap",resultMap); }catch(Exception e){ e.printStackTrace(); } return "/supplyChainMgmt/fundPaymentMgmtList"; } /** * 외주협업관리 -> 자금지급관리 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/fundPaymentMgmtGridList.do") public Map fundPaymentMgmtGridList(HttpSession session,HttpServletRequest request, @RequestParam Map paramMap){ PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("PARTNER_OBJID", CommonUtils.checkNull(person.getPartner_cd())); paramMap.put("USER_ID", CommonUtils.checkNull(person.getUserId())); commonService.selectListPagingNew("supplyChainMgmt.fundPaymentMgmtGridList", request, paramMap); return paramMap; } /** * 외주협업관리 -> 자금지급관리 합 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/fundPaymentMgmtListSum.do") public Map purchaseOrderMasterListSum(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); resultMap = commonService.selectOne("supplyChainMgmt.fundPaymentMgmtListSum", request, paramMap); return resultMap; } /** * 거래명세표 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/invoiceFormPopUp.do") public String supplyChainMgmt(HttpServletRequest request, @RequestParam Map paramMap){ Map info = new HashMap(); //List detailList = new ArrayList(); Map sumPriceMap = new HashMap(); Map resultMap = new HashMap(); try{ info = purchaseOrderService.getPurchaseOrderMasterInfoInvoice(request, paramMap); //PURCHASE_ORDER_MASTER OUTER JOIN INVOICE_MGMT String invoiceObjid = CommonUtils.checkNull(info.get("INVOICE_OBJID")); if(!"".equals(invoiceObjid)){ paramMap.put("INVOICE_OBJID", invoiceObjid); sumPriceMap = commonService.selectOne("purchaseOrder.getPURCHASE_SAVED_PART_INVOICE_sum", request, paramMap); //PURCHASE_ORDER_PART }else{ sumPriceMap = commonService.selectOne("purchaseOrder.getPURCHASE_ORDER_PART_INVOICE_sum", request, paramMap); } //detailList = commonService.selectList("purchaseOrder.getPURCHASE_ORDER_PART_INVOICE", request, paramMap); //sumPriceMap = commonService.selectOne("purchaseOrder.getPURCHASE_ORDER_PART_INVOICE_sum", request, paramMap); }catch(Exception e){ e.printStackTrace(); } //request.setAttribute("LIST", detailList); request.setAttribute("info", info); request.setAttribute("SUM_PRICE_MAP", sumPriceMap); return "/supplyChainMgmt/invoiceFormPopUp"; } /** * 거래명세서에 해당하는 Part 목록을 가져온다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/getInvoiceTargetList.do") public List> getInvoiceTargetList(HttpServletRequest request, @RequestParam Map paramMap){ List partList = new ArrayList(); try{ String invoiceObjid = CommonUtils.checkNull(paramMap.get("INVOICE_OBJID")); System.out.println("paramMap::"+paramMap); if(!"".equals(invoiceObjid)){ partList = commonService.selectList("purchaseOrder.getPurchase_SAVED_PART_INVOICE", request, paramMap); }else{ partList = commonService.selectList("purchaseOrder.getPURCHASE_ORDER_PART_INVOICE", request, paramMap); } }catch(Exception e){ e.printStackTrace(); } return partList; } /** * 거래명세서를 발행한다. * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/invoiceIssuance.do") public Map invoiceIssuance(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap =supplyChainMgmtService.invoiceIssuance(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 거래명세서 월별 마감 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/invoiceConfirm.do") public Map invoiceConfirm(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = supplyChainMgmtService.invoiceConfirm(request, paramMap); return resultMap; } /** * 자금지급관리 예정일등록 popup * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/dueDateRegPopUp.do") public String dueDateRegPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ /*resultMap = service.getFundMgmtInfo(request,paramMap); request.setAttribute("resultMap", resultMap);*/ }catch(Exception e){ e.printStackTrace(); } return "/supplyChainMgmt/dueDateRegPopUp"; } /** * 자금지급관리 예정일 저장 * @param request * @param paramMap * @return */ @RequestMapping("/supplyChainMgmt/saveDueDateInfo.do") public String saveDueDateInfo(HttpServletRequest request, @RequestParam Map paramMap){ boolean result = supplyChainMgmtService.saveDueDateInfo(paramMap); request.setAttribute("RESULT", CommonUtils.getJsonString("result", new Boolean(result).toString())); return "/ajax/ajaxResult"; } /** * 거래명세서 지급완료 * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/supplyChainMgmt/invoiceComplete.do") public Map expenseConfirm(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = supplyChainMgmtService.invoiceComplete(request, paramMap); return resultMap; } }