1760 lines
60 KiB
Java
1760 lines
60 KiB
Java
/*
|
|
* 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.apache.ibatis.session.SqlSession;
|
|
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.SqlMapConfig;
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 구매요청서 작성 페이지 (새로운 페이지)
|
|
* - 구매요청서 작성 버튼 활성화
|
|
* - SOURCE_TYPE = 'PURCHASE_REG'인 데이터만 조회
|
|
*/
|
|
@RequestMapping("/salesMng/purchaseRequestRegList.do")
|
|
public String purchaseRequestRegList(HttpServletRequest request, @RequestParam Map paramMap){
|
|
String actionType = CommonUtils.checkNull(paramMap.get("actionType"));
|
|
String returnUrl = "/salesMng/purchaseRequestRegList";
|
|
Map code_map = new HashMap();
|
|
|
|
try {
|
|
if("excel".equals(actionType)){
|
|
returnUrl = "/salesMng/purchaseRequestRegList";
|
|
}
|
|
|
|
paramMap.put("SEARCH_STATUS", "create,reject,approvalRequest,release,reception");
|
|
|
|
// 프로젝트번호 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);
|
|
|
|
return returnUrl;
|
|
}
|
|
|
|
/**
|
|
* 구매요청서 작성 - 목록 페이징 (새로운 페이지용)
|
|
* - DOC_TYPE = 'PURCHASE_REG'인 데이터만 조회
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/purchaseRequestRegGridList.do")
|
|
public Map getPurchaseRequestRegList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
// DOC_TYPE 필터 추가 (구매요청서 작성 페이지에서 생성된 데이터만)
|
|
paramMap.put("DOC_TYPE_FILTER", "PURCHASE_REG");
|
|
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);
|
|
|
|
// 디버깅: 조인으로 가져온 값 확인
|
|
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) - 0001814 사용
|
|
code_map.put("purchase_type",commonService.bizMakeOptionList("0001814", (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;
|
|
}
|
|
|
|
/**
|
|
* 구매요청서 확정 처리
|
|
* - STATUS를 'confirmed'로 변경하여 수정 불가능하게 함
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/confirmSalesRequest.do")
|
|
public Map<String,Object> confirmSalesRequest(HttpServletRequest request, @RequestParam Map paramMap){
|
|
Map<String,Object> resultMap = new HashMap();
|
|
|
|
try{
|
|
resultMap = salesMngService.confirmSalesRequest(request, paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", "확정 처리 중 오류가 발생했습니다.");
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* 구매리스트 작성 팝업
|
|
* @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<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
try{
|
|
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);
|
|
}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<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;
|
|
}
|
|
|
|
/**
|
|
* M-BOM에서 구매리스트 생성 (SALES_REQUEST_MASTER 생성)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/createPurchaseListFromMBom.do")
|
|
public Map createPurchaseListFromMBom(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
try{
|
|
resultMap = salesMngService.createPurchaseListFromMBom(request, paramMap);
|
|
}catch(Exception e){
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "구매리스트 생성 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
// ==================== 품의서 관리 ====================
|
|
|
|
/**
|
|
* 품의서 관리 - 목록 화면
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/salesMng/proposalMngList.do")
|
|
public String proposalMngList(HttpServletRequest request, @RequestParam Map paramMap){
|
|
String returnUrl = "/salesMng/proposalMngList";
|
|
Map code_map = new HashMap();
|
|
|
|
try {
|
|
// 구매유형
|
|
code_map.put("purchase_type", commonService.bizMakeOptionList("0001821", (String)paramMap.get("purchase_type"), "common.getCodeselect"));
|
|
// 주문유형
|
|
code_map.put("order_type", commonService.bizMakeOptionList("0001822", (String)paramMap.get("order_type"), "common.getCodeselect"));
|
|
// 제품구분
|
|
code_map.put("product_name", commonService.bizMakeOptionList("0000016", (String)paramMap.get("product_name"), "common.getCodeselect"));
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("code_map", code_map);
|
|
return returnUrl;
|
|
}
|
|
|
|
/**
|
|
* 품의서 관리 - 목록 조회 (페이징)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/proposalMngGridList.do")
|
|
public Map getProposalMngGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
commonService.selectListPagingNew("salesMng.getProposalMngGridList", request, paramMap);
|
|
return paramMap;
|
|
}
|
|
|
|
/**
|
|
* 품의서 상세 팝업
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/salesMng/proposalFormPopUp.do")
|
|
public String proposalFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
Map code_map = new HashMap();
|
|
ArrayList approvalList = new ArrayList();
|
|
List<Map> partList = new ArrayList();
|
|
|
|
try {
|
|
String proposalObjId = CommonUtils.checkNull(paramMap.get("PROPOSAL_OBJID"));
|
|
|
|
if(!"".equals(proposalObjId)){
|
|
resultMap = commonService.selectOne("salesMng.getProposalInfo", request, paramMap);
|
|
|
|
// 결재 정보 조회
|
|
Map approvalParam = new HashMap();
|
|
approvalParam.put("OBJID", proposalObjId);
|
|
approvalList = approvalService.getApprovalLine(request, approvalParam);
|
|
|
|
// 품의서 품목 리스트 조회
|
|
Map partParam = new HashMap();
|
|
partParam.put("PROPOSAL_OBJID", proposalObjId);
|
|
partList = commonService.selectList("salesMng.getProposalPartList", request, partParam);
|
|
} else {
|
|
resultMap.put("OBJID", CommonUtils.createObjId());
|
|
resultMap.put("STATUS", "create");
|
|
}
|
|
|
|
// 구매유형
|
|
code_map.put("purchase_type", commonService.bizMakeOptionList("0001821", (String)resultMap.get("PURCHASE_TYPE"), "common.getCodeselect"));
|
|
// 주문유형
|
|
code_map.put("order_type", commonService.bizMakeOptionList("0001822", (String)resultMap.get("ORDER_TYPE"), "common.getCodeselect"));
|
|
// 제품구분
|
|
code_map.put("product_name", commonService.bizMakeOptionList("0000016", (String)resultMap.get("PRODUCT_NAME"), "common.getCodeselect"));
|
|
// 단위 코드 목록 (UNIT_CD: 단위)
|
|
code_map.put("unit_list", commonService.bizMakeOptionList("0001399", "", "common.getCodeselect"));
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("resultMap", resultMap);
|
|
request.setAttribute("code_map", code_map);
|
|
request.setAttribute("approvalList", approvalList);
|
|
request.setAttribute("partList", partList);
|
|
return "/salesMng/proposalFormPopUp";
|
|
}
|
|
|
|
/**
|
|
* 품의서 생성 (JSP에서 호출)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/createProposal.do")
|
|
public Map createProposal(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
resultMap = salesMngService.createProposal(request, paramMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "품의서 생성 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 품의서 대상 품목 조회 (JSP에서 호출)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/getProposalTargetParts.do")
|
|
public Map getProposalTargetParts(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try {
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession();
|
|
|
|
String salesRequestMasterObjid = CommonUtils.checkNull(paramMap.get("SALES_REQUEST_MASTER_OBJID"));
|
|
|
|
// Service의 공통 메서드 사용 (소재/가공 분리)
|
|
Map partsInfo = salesMngService.getProposalTargetPartsWithInfo(sqlSession, salesRequestMasterObjid);
|
|
|
|
// 소재/가공 각각 분리된 데이터
|
|
List<Map> materialTargetParts = (List<Map>)partsInfo.get("materialTargetParts");
|
|
List<Map> processingTargetParts = (List<Map>)partsInfo.get("processingTargetParts");
|
|
List<Map> materialExcludedParts = (List<Map>)partsInfo.get("materialExcludedParts");
|
|
List<Map> processingExcludedParts = (List<Map>)partsInfo.get("processingExcludedParts");
|
|
|
|
// 기존 호환성을 위한 통합 데이터
|
|
List<Map> targetParts = (List<Map>)partsInfo.get("targetParts");
|
|
List<Map> excludedParts = (List<Map>)partsInfo.get("excludedParts");
|
|
|
|
boolean hasMaterialParts = materialTargetParts != null && !materialTargetParts.isEmpty();
|
|
boolean hasProcessingParts = processingTargetParts != null && !processingTargetParts.isEmpty();
|
|
|
|
if(hasMaterialParts || hasProcessingParts) {
|
|
resultMap.put("resultFlag", "S");
|
|
// 소재/가공 분리 데이터
|
|
resultMap.put("materialTargetParts", materialTargetParts);
|
|
resultMap.put("processingTargetParts", processingTargetParts);
|
|
resultMap.put("materialExcludedParts", materialExcludedParts);
|
|
resultMap.put("processingExcludedParts", processingExcludedParts);
|
|
// 기존 호환성
|
|
resultMap.put("data", targetParts);
|
|
resultMap.put("excludedParts", excludedParts);
|
|
} else {
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "품의서 생성 대상 품목이 없습니다.\n(소재단가+공급업체 또는 가공단가+가공업체가 입력되고 품의서가 생성되지 않은 품목만 가능)");
|
|
resultMap.put("materialExcludedParts", materialExcludedParts);
|
|
resultMap.put("processingExcludedParts", processingExcludedParts);
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "품목 조회 중 오류가 발생했습니다: " + e.getMessage());
|
|
} finally {
|
|
if(sqlSession != null) sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 품의서 대상 품목 미리보기 (JSP에서 호출 - 별칭)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/getProposalTargetPartsForPreview.do")
|
|
public Map getProposalTargetPartsForPreview(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
return getProposalTargetParts(request, paramMap);
|
|
}
|
|
|
|
/**
|
|
* 품의서 생성 실행 (JSP에서 호출)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/createProposalFromPurchaseList.do")
|
|
public Map createProposalFromPurchaseList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
return createProposal(request, paramMap);
|
|
}
|
|
|
|
/**
|
|
* 품의서 저장 (마스터 + 품목)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/saveProposal.do")
|
|
public Map saveProposal(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
SqlSession sqlSession = null;
|
|
|
|
try {
|
|
sqlSession = SqlMapConfig.getInstance().getSqlSession(false);
|
|
|
|
// 1. 마스터 정보 저장
|
|
sqlSession.update("salesMng.updateProposalMaster", paramMap);
|
|
|
|
// 2. 품목 정보 저장 (JSON 배열로 전달받음)
|
|
String partListJson = CommonUtils.checkNull(paramMap.get("PART_LIST"));
|
|
if(!"".equals(partListJson)) {
|
|
List<Map<String, Object>> partList = JsonUtil.JsonToList(partListJson);
|
|
for(Map part : partList) {
|
|
sqlSession.update("salesMng.updateProposalPart", part);
|
|
}
|
|
}
|
|
|
|
sqlSession.commit();
|
|
resultMap.put("resultFlag", "S");
|
|
resultMap.put("message", "저장되었습니다.");
|
|
|
|
} catch (Exception e) {
|
|
if(sqlSession != null) sqlSession.rollback();
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "저장 중 오류가 발생했습니다: " + e.getMessage());
|
|
} finally {
|
|
if(sqlSession != null) sqlSession.close();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
// =====================================================
|
|
// 견적요청서 관리 컨트롤러
|
|
// =====================================================
|
|
|
|
/**
|
|
* 견적요청서 목록 페이지
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/salesMng/quotationRequestList.do")
|
|
public String quotationRequestList(HttpServletRequest request, @RequestParam Map paramMap){
|
|
String returnUrl = "/salesMng/quotationRequestList";
|
|
Map code_map = new HashMap();
|
|
|
|
try {
|
|
// 프로젝트번호
|
|
code_map.put("project_no", commonService.bizMakeOptionList("", (String)paramMap.get("project_no"), "common.getProjectNameList"));
|
|
// 업체 목록
|
|
code_map.put("vendor_objid", commonService.bizMakeOptionList("", (String)paramMap.get("vendor_objid"), "common.getsupplyselect"));
|
|
// 상태
|
|
String statusOptions = "";
|
|
statusOptions += "<option value=''>전체</option>";
|
|
statusOptions += "<option value='create'" + ("create".equals(paramMap.get("status")) ? " selected" : "") + ">작성중</option>";
|
|
statusOptions += "<option value='sent'" + ("sent".equals(paramMap.get("status")) ? " selected" : "") + ">발송완료</option>";
|
|
statusOptions += "<option value='received'" + ("received".equals(paramMap.get("status")) ? " selected" : "") + ">견적수신</option>";
|
|
statusOptions += "<option value='completed'" + ("completed".equals(paramMap.get("status")) ? " selected" : "") + ">완료</option>";
|
|
code_map.put("status", statusOptions);
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("code_map", code_map);
|
|
return returnUrl;
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 목록 조회 (페이징)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/quotationRequestListPaging.do")
|
|
public Map getQuotationRequestListPaging(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
commonService.selectListPagingNew("salesMng.getQuotationRequestList", request, paramMap);
|
|
return paramMap;
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 상세 팝업
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@RequestMapping("/salesMng/quotationRequestFormPopup.do")
|
|
public String quotationRequestFormPopup(HttpServletRequest request, @RequestParam Map paramMap){
|
|
Map resultMap = new HashMap();
|
|
Map code_map = new HashMap();
|
|
|
|
try {
|
|
String quotationRequestMasterObjid = CommonUtils.checkNull(paramMap.get("QUOTATION_REQUEST_MASTER_OBJID"));
|
|
|
|
if(!"".equals(quotationRequestMasterObjid)){
|
|
// 기존 견적요청서 조회
|
|
resultMap = salesMngService.getQuotationRequestMasterInfo(request, paramMap);
|
|
} else {
|
|
// 신규 생성 (구매리스트에서 호출 시)
|
|
resultMap.put("OBJID", CommonUtils.createObjId());
|
|
resultMap.put("STATUS", "create");
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
request.setAttribute("code_map", code_map);
|
|
request.setAttribute("resultMap", resultMap);
|
|
return "/salesMng/quotationRequestFormPopup";
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 상세 목록 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/getQuotationRequestDetailList.do")
|
|
public Map getQuotationRequestDetailList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
List<Map> detailList = salesMngService.getQuotationRequestDetailList(request, paramMap);
|
|
resultMap.put("list", detailList);
|
|
resultMap.put("resultFlag", "S");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "조회 중 오류가 발생했습니다.");
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 생성 (구매리스트에서)
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/createQuotationRequest.do")
|
|
public Map createQuotationRequest(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
resultMap = salesMngService.createQuotationRequest(request, paramMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "견적요청서 생성 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 단가 저장
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/saveQuotationRequestPrice.do")
|
|
public Map saveQuotationRequestPrice(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
resultMap = salesMngService.saveQuotationRequestPrice(request, paramMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "저장 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 메일 발송 후 상태 업데이트
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/updateQuotationRequestMailSent.do")
|
|
public Map updateQuotationRequestMailSent(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
resultMap = salesMngService.updateQuotationRequestMailSent(request, paramMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "상태 업데이트 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 견적요청서 삭제
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/deleteQuotationRequest.do")
|
|
public Map deleteQuotationRequest(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
resultMap = salesMngService.deleteQuotationRequest(request, paramMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "삭제 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 구매리스트에서 견적요청서 생성 대상 조회
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesMng/getPurchaseListForQuotation.do")
|
|
public Map getPurchaseListForQuotation(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = new HashMap();
|
|
|
|
try {
|
|
List<Map> list = salesMngService.getPurchaseListForQuotation(request, paramMap);
|
|
resultMap.put("list", list);
|
|
resultMap.put("resultFlag", "S");
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("resultFlag", "F");
|
|
resultMap.put("message", "조회 중 오류가 발생했습니다.");
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
}
|