Files
wace_plm/src/com/pms/salesmgmt/controller/SalesMngController.java

1206 lines
42 KiB
Java
Raw Normal View History

/*
* 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<Map<String,Object>> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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);
2025-11-25 12:02:52 +09:00
// 디버깅: 조인으로 가져온 값 확인
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"));
2025-11-25 12:02:52 +09:00
//국내/해외 - 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 += "<option value='paid'" + ("paid".equals(paidType) ? " selected" : "") + ">유상</option>";
paidTypeOptions += "<option value='free'" + ("free".equals(paidType) ? " selected" : "") + ">무상</option>";
}
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<String, Object> getSalesRequest(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<Map<String,Object>> 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<String,Object> saveSalesRequestInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map<String,Object> 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<String,Object> saveSalesRequestSupplyInfo(HttpServletRequest request, @RequestParam Map paramMap){
Map<String,Object> 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<String,Object> releaseSalesRequest(HttpServletRequest request, @RequestParam Map paramMap){
Map<String,Object> 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<Map<String,Object>> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<Map<String,Object>> 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<String,Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> paramMap){
commonService.selectListPagingNew("salesMng.salesBomReportList", request, paramMap);
return paramMap;
}
@RequestMapping("/salesMng/salesBomReportFormPopup.do")
public String salesBomReportFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> paramMap){
commonService.selectListPagingNew("salesMng.salesPartChgList", request, paramMap);
return paramMap;
}
@RequestMapping("/salesMng/salesPartChgFormPopup.do")
public String salesPartChgFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> paramMap){
commonService.selectListPagingNew("salesMng.salesLongDeliveryList", request, paramMap);
return paramMap;
}
@RequestMapping("/salesMng/salesLongDeliveryFormPopup.do")
public String salesLongDeliveryFormPopup(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> paramMap){
Map resultMap = new HashMap();
try{
resultMap = salesMngService.saveSalesBomExcelImport(request, paramMap);
}catch(Exception e){
e.printStackTrace();
}
return resultMap;
}
2025-11-25 13:58:07 +09:00
/**
* 구매리스트 작성 팝업
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/salesMng/purchaseListFormPopUp.do")
public String purchaseListFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){
2025-11-26 11:12:42 +09:00
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);
2025-11-25 13:58:07 +09:00
return "/salesMng/purchaseListFormPopUp";
}
/**
2025-11-26 11:12:42 +09:00
* 구매리스트 상세 조회 (기존 구매리스트)
2025-11-25 13:58:07 +09:00
* @param request
* @param paramMap
* @return
*/
@ResponseBody
2025-11-26 11:12:42 +09:00
@RequestMapping("/salesMng/getPurchaseListDetail.do")
public Map getPurchaseListDetail(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
2025-11-25 13:58:07 +09:00
Map resultMap = new HashMap();
try{
2025-11-26 11:12:42 +09:00
List<Map> 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<String, Object> 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<Map> list = salesMngService.getMBomForPurchaseList(request, paramMap);
// 키를 대문자로 변환
List<Map<String, Object>> upperList = new ArrayList<Map<String, Object>>();
if(list != null) {
for(Map item : list) {
Map<String, Object> upperItem = new HashMap<String, Object>();
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);
2025-11-25 13:58:07 +09:00
}catch(Exception e){
2025-11-26 11:12:42 +09:00
System.out.println("getMBomForPurchaseList 오류 발생!");
2025-11-25 13:58:07 +09:00
e.printStackTrace();
2025-11-26 11:12:42 +09:00
resultMap.put("list", new ArrayList());
2025-11-25 13:58:07 +09:00
}
return resultMap;
}
/**
* 구매리스트 저장
* @param request
* @param paramMap
* @return
*/
@ResponseBody
@RequestMapping("/salesMng/savePurchaseList.do")
public Map savePurchaseList(HttpServletRequest request, @RequestParam Map<String, Object> 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;
}
}