- 매출관리 그리드: shipment_log 건별 1행 표시 (기존 sales_registration 합계 → 개별) - 매출마감: 출하건(log_id) 단위로 마감 가능, 전체 마감 시 PROJECT_MGMT 상태 갱신 - 마감정보입력: shipment_log 컬럼에 저장 (기존 PROJECT_MGMT → shipment_log) - 아마란스 전표 API: 기존 로직 유지, 데이터 소스만 shipment_log로 변경 - DB: shipment_log에 마감 관련 7개 컬럼 추가 + 기존 마감 데이터 마이그레이션 - 판매관리 영향 없음 Made-with: Cursor
1114 lines
40 KiB
Java
1114 lines
40 KiB
Java
/*
|
|
* ContractMgmtController
|
|
*
|
|
* 1.0
|
|
*
|
|
* 2021.10.01
|
|
*
|
|
* Copyright ions
|
|
*/
|
|
package com.pms.salesmgmt.controller;
|
|
|
|
import java.math.BigDecimal;
|
|
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.commons.lang3.StringUtils;
|
|
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.RequestMethod;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
|
|
import com.pms.common.utils.CommonUtils;
|
|
import com.pms.salesmgmt.service.ContractMgmtService;
|
|
import com.pms.salesmgmt.service.SalesMgmtCommonService;
|
|
import com.pms.salesmgmt.service.SalesNcollectMgmtService;
|
|
import com.pms.service.CommonService;
|
|
|
|
/**
|
|
* <pre>
|
|
* 매출수금관리 Controller
|
|
* </pre>
|
|
* @since 2021.11.05
|
|
* @author min
|
|
* @version 1.0
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- --------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*
|
|
*/
|
|
@Controller
|
|
public class SalesNcollectMgmtController {
|
|
|
|
/** 계약관리 Service */
|
|
@Autowired
|
|
private ContractMgmtService contractMgmtService;
|
|
|
|
/** 매출수금 Service */
|
|
@Autowired
|
|
private SalesNcollectMgmtService salesNcollectMgmtService;
|
|
|
|
/** 영업관리 공통 Service */
|
|
@Autowired
|
|
private SalesMgmtCommonService salesMgmtCommonService;
|
|
|
|
@Autowired
|
|
private CommonService commonService;
|
|
|
|
/**
|
|
* <pre>
|
|
* 매출관리 메인 페이지 (메뉴 진입점)
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 검색 정보
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2025.10.15 수정 메뉴 URL 매핑 추가
|
|
*
|
|
* </pre>
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/salesMgmtList.do", method = RequestMethod.GET)
|
|
public String salesMgmtList(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
// /salesNcollectMgmt/contractList.do로 리다이렉트
|
|
return salesContractList(request, paramMap);
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 매출관리 목록 페이지
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 검색 정보
|
|
* @return String
|
|
*/
|
|
@RequestMapping(value = "/revenueMgmt/revenueList.do", method = RequestMethod.GET)
|
|
public String showRevenueMgmtList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
// 코드정보
|
|
Map<String, Object> codeMap = new HashMap<String, Object>();
|
|
|
|
// 주문유형
|
|
codeMap.put("orderTypeList" , commonService.bizMakeOptionList("0000167", "" , "common.getCodeselect"));
|
|
|
|
// 제품구분
|
|
codeMap.put("productTypeList", commonService.bizMakeOptionList("0000001", "", "common.getCodeselect"));
|
|
|
|
// 국내/해외
|
|
codeMap.put("nationList", commonService.bizMakeOptionList("0001219", "", "common.getCodeselect"));
|
|
//고객사
|
|
codeMap.put("customer_cd",commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")),"common.getsupplyselect"));
|
|
/*
|
|
// 유/무상
|
|
codeMap.put("paymentTypeList",
|
|
salesMgmtCommonService.bizMakeOptionList("0000156", "", "salesMgmtCommon.getCodeList"));
|
|
*/
|
|
// 수주상태
|
|
codeMap.put("orderStatusList", commonService.bizMakeOptionList("0000963", "", "common.getCodeselect"));
|
|
//codeMap.put("orderStatusList",
|
|
// commonService.bizMakeOptionList("0000932", "", "common.getCodeselect"));
|
|
// 출하지시상태 - 하드코딩
|
|
StringBuilder shippingStatusOptions = new StringBuilder();
|
|
shippingStatusOptions.append("<option value='대기'>대기</option>");
|
|
shippingStatusOptions.append("<option value='출하지시'>출하지시</option>");
|
|
shippingStatusOptions.append("<option value='출하완료'>출하완료</option>");
|
|
codeMap.put("shippingStatusList", shippingStatusOptions.toString());
|
|
/*
|
|
// 출고방법
|
|
codeMap.put("shippingMethodList",
|
|
salesMgmtCommonService.bizMakeOptionList("SM", "", "salesMgmtCommon.getCodeList"));
|
|
*/
|
|
// 담당자
|
|
codeMap.put("managerList", commonService.bizMakeOptionList("", "", "common.getUserselect"));
|
|
//codeMap.put("managerList",
|
|
// salesMgmtCommonService.bizMakeOptionList("", "", "salesMgmtCommon.getSalesmanList"));
|
|
/*
|
|
// 인도조건
|
|
codeMap.put("incotermsList",
|
|
salesMgmtCommonService.bizMakeOptionList("IT", "", "salesMgmtCommon.getCodeList"));
|
|
*/
|
|
|
|
// 과세구분
|
|
codeMap.put("taxTypeList", commonService.bizMakeOptionList("0900215", "", "common.getCodeselect"));
|
|
|
|
request.setAttribute("codeMap", codeMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return "/salesmgmt/salesMgmt/revenueMgmtList";
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 신규 매출관리 목록 페이지
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 검색 정보
|
|
* @return String
|
|
*/
|
|
@RequestMapping(value = "/contractMgmt/salesMgmtList.do", method = RequestMethod.GET)
|
|
public String showSalesMgmtList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
// 코드정보 (기존 로직과 동일하게 설정 가능)
|
|
Map<String, Object> codeMap = new HashMap<String, Object>();
|
|
|
|
// 주문유형 - 0000167 코드 사용 (판매, 개발, 수리, 개조)
|
|
codeMap.put("orderTypeList",
|
|
commonService.bizMakeOptionList("0000167", "", "common.getCodeselect"));
|
|
// 제품구분
|
|
codeMap.put("productTypeList",
|
|
commonService.bizMakeOptionList("0000001", "", "common.getCodeselect"));
|
|
// 국내/해외
|
|
codeMap.put("nationList",
|
|
commonService.bizMakeOptionList("0001219", "", "common.getCodeselect"));
|
|
// 고객사
|
|
codeMap.put("customer_cd", commonService.bizMakeOptionList("", CommonUtils.nullToEmpty((String)paramMap.get("customer_objid")), "common.getsupplyselect"));
|
|
// 수주상태
|
|
codeMap.put("orderStatusList",
|
|
commonService.bizMakeOptionList("0000963", "", "common.getCodeselect"));
|
|
// 출하지시상태 - 하드코딩
|
|
StringBuilder shippingStatusOptions = new StringBuilder();
|
|
shippingStatusOptions.append("<option value='대기'>대기</option>");
|
|
shippingStatusOptions.append("<option value='출하지시'>출하지시</option>");
|
|
shippingStatusOptions.append("<option value='출하완료'>출하완료</option>");
|
|
codeMap.put("shippingStatusList", shippingStatusOptions.toString());
|
|
// 담당자
|
|
codeMap.put("managerList", commonService.bizMakeOptionList("", "", "common.getUserselect"));
|
|
// 판매상태 - 0900207
|
|
codeMap.put("salesStatusList", commonService.bizMakeOptionList("0900207", "", "common.getCodeselect"));
|
|
|
|
request.setAttribute("codeMap", codeMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return "/salesmgmt/salesMgmt/salesMgmtList";
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 매출관리 그리드 데이터 조회 (Tabulator용)
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 검색 정보
|
|
* @return Map
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping(value = "/revenueMgmt/revenueGridList.do", method = RequestMethod.POST)
|
|
public Map<String, Object> salesMgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
commonService.selectListPagingNew("salesNcollectMgmt.getRevenueMgmtGridList", request, paramMap);
|
|
|
|
Map<String, Object> totals = salesNcollectMgmtService.getRevenueMgmtTotals(paramMap);
|
|
paramMap.put("TOTALS", totals);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
paramMap.put("RESULTLIST", new java.util.ArrayList<>());
|
|
|
|
Map<String, Object> emptyTotals = new HashMap<String, Object>();
|
|
emptyTotals.put("TOTAL_SUPPLY_PRICE", 0);
|
|
emptyTotals.put("TOTAL_VAT", 0);
|
|
emptyTotals.put("TOTAL_AMOUNT", 0);
|
|
paramMap.put("TOTALS", emptyTotals);
|
|
}
|
|
|
|
return paramMap;
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 판매등록 폼 팝업
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap
|
|
* @return String
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/salesRegForm.do", method = RequestMethod.GET)
|
|
public String showSalesRegForm(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
|
|
// URL 인코딩 처리: 한글 프로젝트 번호 디코딩
|
|
if(paramMap.get("orderNo") != null) {
|
|
String orderNo = paramMap.get("orderNo").toString();
|
|
// 이미 디코딩된 경우와 구분하기 위해 %가 포함된 경우에만 디코딩
|
|
if(orderNo.contains("%")) {
|
|
try {
|
|
orderNo = java.net.URLDecoder.decode(orderNo, "UTF-8");
|
|
paramMap.put("orderNo", orderNo);
|
|
} catch(Exception ex) {
|
|
// 디코딩 실패시 원본 사용
|
|
ex.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
|
|
Map<String, Object> codeMap = new HashMap<String, Object>();
|
|
|
|
// 담당자
|
|
codeMap.put("managerList", commonService.bizMakeOptionList("", "", "common.getUserselect"));
|
|
|
|
// 기존 판매 정보 조회 후 환종(통화) 공통코드 세팅
|
|
Map<String, Object> saleInfo = null;
|
|
String salesCurrency = "";
|
|
|
|
// contractObjId가 있으면 주문서 관리에서 넘어온 것 -> 수주 데이터 조회
|
|
if(paramMap.get("contractObjId") != null && !paramMap.get("contractObjId").equals("")) {
|
|
// 수주 데이터 조회 (CONTRACT_ITEM 테이블에서)
|
|
saleInfo = salesNcollectMgmtService.getOrderDataForSale(paramMap);
|
|
salesCurrency = CommonUtils.nullToEmpty((String)saleInfo.get("SALES_CURRENCY"));
|
|
request.setAttribute("saleInfo", saleInfo);
|
|
request.setAttribute("orderInfo", saleInfo);
|
|
}
|
|
// orderNo가 있으면 판매 정보 조회
|
|
else if(paramMap.get("orderNo") != null && !paramMap.get("orderNo").equals("")) {
|
|
System.out.println("=== salesRegForm.do 파라미터 확인 ===");
|
|
System.out.println("orderNo: " + paramMap.get("orderNo"));
|
|
System.out.println("saleNo: " + paramMap.get("saleNo"));
|
|
System.out.println("remainingQuantity: " + paramMap.get("remainingQuantity"));
|
|
|
|
// saleNo가 "detail"이면 주문서 관리의 결재 정보 조회 모드
|
|
if(paramMap.get("saleNo") != null && "detail".equals(paramMap.get("saleNo"))) {
|
|
System.out.println("=== 주문서 관리 결재 정보 조회 모드 ===");
|
|
|
|
// PROJECT_MGMT에서 CONTRACT_OBJID 조회
|
|
Map<String, Object> projectInfo = salesNcollectMgmtService.getProjectInfo(paramMap);
|
|
Object contractObjId = projectInfo != null ? projectInfo.get("contract_objid") : null;
|
|
if(contractObjId == null && projectInfo != null) {
|
|
contractObjId = projectInfo.get("CONTRACT_OBJID");
|
|
}
|
|
|
|
System.out.println("CONTRACT_OBJID: " + contractObjId);
|
|
|
|
if(contractObjId != null) {
|
|
// CONTRACT_MGMT 상세 정보 조회
|
|
Map<String, Object> contractParam = new HashMap<String, Object>();
|
|
contractParam.put("objId", contractObjId);
|
|
Map<String, Object> contractInfo = commonService.selectOne("contractMgmt.getContractInfo", request, contractParam);
|
|
|
|
// PROJECT_MGMT에서 품번/품명/S/N/요청납기/고객요청사항/반납사유 조회
|
|
if(projectInfo != null) {
|
|
// 품번
|
|
if(contractInfo.get("PART_NO") == null || "".equals(contractInfo.get("PART_NO"))) {
|
|
contractInfo.put("PART_NO", projectInfo.get("part_no") != null ? projectInfo.get("part_no") : projectInfo.get("PART_NO"));
|
|
}
|
|
// 품명
|
|
if(contractInfo.get("PART_NAME") == null || "".equals(contractInfo.get("PART_NAME"))) {
|
|
contractInfo.put("PART_NAME", projectInfo.get("part_name") != null ? projectInfo.get("part_name") : projectInfo.get("PART_NAME"));
|
|
}
|
|
// S/N
|
|
Object serialNo = projectInfo.get("serial_no") != null ? projectInfo.get("serial_no") : projectInfo.get("SERIAL_NO");
|
|
contractInfo.put("SERIAL_NO", serialNo != null ? serialNo : "-");
|
|
|
|
// 요청납기
|
|
Object reqDelDate = projectInfo.get("req_del_date") != null ? projectInfo.get("req_del_date") : projectInfo.get("REQ_DEL_DATE");
|
|
contractInfo.put("REQ_DEL_DATE", reqDelDate != null ? reqDelDate : "-");
|
|
|
|
// 고객요청사항
|
|
Object customerRequest = projectInfo.get("customer_request") != null ? projectInfo.get("customer_request") : projectInfo.get("CUSTOMER_REQUEST");
|
|
contractInfo.put("CUSTOMER_REQUEST", customerRequest != null ? customerRequest : "-");
|
|
|
|
// 반납사유
|
|
Object returnReason = projectInfo.get("return_reason") != null ? projectInfo.get("return_reason") : projectInfo.get("RETURN_REASON");
|
|
contractInfo.put("RETURN_REASON", returnReason != null ? returnReason : "-");
|
|
}
|
|
|
|
// 결재 라인 정보 조회
|
|
Map<String, Object> approvalParam = new HashMap<String, Object>();
|
|
approvalParam.put("objId", contractObjId);
|
|
List<Map<String, Object>> approvalLine = commonService.selectList("approval.getApprovalLine", request, approvalParam);
|
|
|
|
request.setAttribute("info", contractInfo);
|
|
request.setAttribute("approvalLine", approvalLine);
|
|
|
|
System.out.println("=== 주문서 관리 데이터 조회 완료 ===");
|
|
System.out.println("CATEGORY_NAME: " + contractInfo.get("CATEGORY_NAME"));
|
|
System.out.println("PRODUCT_NAME: " + contractInfo.get("PRODUCT_NAME"));
|
|
System.out.println("PART_NO: " + contractInfo.get("PART_NO"));
|
|
System.out.println("PART_NAME: " + contractInfo.get("PART_NAME"));
|
|
System.out.println("결재 라인 개수: " + (approvalLine != null ? approvalLine.size() : 0));
|
|
|
|
// 별도의 JSP로 이동
|
|
return "/salesmgmt/salesMgmt/projectDetailView";
|
|
}
|
|
}
|
|
// logId가 있으면 shipment_log 수정 모드
|
|
else if(paramMap.get("logId") != null && !paramMap.get("logId").equals("")) {
|
|
System.out.println("=== shipment_log 수정 모드 (logId: " + paramMap.get("logId") + ") ===");
|
|
saleInfo = salesNcollectMgmtService.getShipmentLogById((String) paramMap.get("logId"));
|
|
|
|
if(saleInfo != null) {
|
|
salesCurrency = CommonUtils.nullToEmpty((String)saleInfo.get("SALES_CURRENCY"));
|
|
request.setAttribute("logId", paramMap.get("logId"));
|
|
|
|
System.out.println("=== shipment_log 조회 완료 ===");
|
|
System.out.println("LOG_ID: " + paramMap.get("logId"));
|
|
System.out.println("SALES_QUANTITY: " + saleInfo.get("SALES_QUANTITY"));
|
|
System.out.println("SHIPPING_DATE: " + saleInfo.get("SHIPPING_DATE"));
|
|
System.out.println("SERIAL_NO: " + saleInfo.get("SERIAL_NO"));
|
|
}
|
|
}
|
|
// saleNo가 있지만 "detail"이 아니면 판매등록 수정 모드 - getSaleInfo로 S/N 포함 조회
|
|
else if(paramMap.get("saleNo") != null && !paramMap.get("saleNo").equals("")) {
|
|
System.out.println("=== 판매등록 수정 모드 ===");
|
|
Map<String, Object> saleInfoParam = new HashMap<String, Object>();
|
|
saleInfoParam.put("orderNo", paramMap.get("orderNo"));
|
|
saleInfoParam.put("saleNo", paramMap.get("saleNo"));
|
|
saleInfo = salesNcollectMgmtService.getSaleInfo(saleInfoParam);
|
|
|
|
if(saleInfo != null) {
|
|
salesCurrency = CommonUtils.nullToEmpty((String)saleInfo.get("SALES_CURRENCY"));
|
|
|
|
System.out.println("=== 판매등록 수정 모드 조회 완료 ===");
|
|
System.out.println("SALE_NO: " + saleInfo.get("SALE_NO"));
|
|
System.out.println("ORDER_QUANTITY: " + saleInfo.get("ORDER_QUANTITY"));
|
|
System.out.println("SALES_QUANTITY: " + saleInfo.get("SALES_QUANTITY"));
|
|
System.out.println("SERIAL_NO: " + saleInfo.get("SERIAL_NO"));
|
|
System.out.println("MANAGER: " + saleInfo.get("MANAGER"));
|
|
System.out.println("INCOTERMS: " + saleInfo.get("INCOTERMS"));
|
|
System.out.println("SHIPPING_METHOD: " + saleInfo.get("SHIPPING_METHOD"));
|
|
}
|
|
}
|
|
// saleNo가 없으면 신규 판매 등록 모드 -> 수주 데이터만 조회
|
|
else {
|
|
System.out.println("=== 신규 판매 등록 모드 ===");
|
|
Map<String, Object> orderDataParam = new HashMap<String, Object>();
|
|
orderDataParam.put("orderNo", paramMap.get("orderNo"));
|
|
saleInfo = salesNcollectMgmtService.getOrderDataByOrderNo(orderDataParam);
|
|
|
|
if(saleInfo != null) {
|
|
salesCurrency = CommonUtils.nullToEmpty((String)saleInfo.get("SALES_CURRENCY"));
|
|
// 수주 데이터의 SALES_QUANTITY를 ORDER_QUANTITY로 변경
|
|
saleInfo.put("ORDER_QUANTITY", saleInfo.get("SALES_QUANTITY"));
|
|
saleInfo.put("SALES_QUANTITY", ""); // 신규 등록이므로 판매수량은 비워둠
|
|
|
|
System.out.println("=== 수주 데이터 조회 완료 ===");
|
|
System.out.println("ORDER_QUANTITY: " + saleInfo.get("ORDER_QUANTITY"));
|
|
System.out.println("SALES_QUANTITY: " + saleInfo.get("SALES_QUANTITY"));
|
|
System.out.println("SALES_UNIT_PRICE: " + saleInfo.get("SALES_UNIT_PRICE"));
|
|
System.out.println("SALES_SUPPLY_PRICE: " + saleInfo.get("SALES_SUPPLY_PRICE"));
|
|
}
|
|
}
|
|
|
|
// 신규 등록 모드에서는 이미 수주 데이터를 조회했으므로 추가 처리 불필요
|
|
|
|
// 잔량은 그리드에서 이미 계산되어 있으므로 별도 계산 불필요
|
|
// URL 파라미터로 잔량이 전달된 경우 사용
|
|
if(paramMap.get("remainingQuantity") != null && !paramMap.get("remainingQuantity").equals("")) {
|
|
if(saleInfo == null) saleInfo = new HashMap<String, Object>();
|
|
saleInfo.put("REMAINING_QUANTITY", paramMap.get("remainingQuantity"));
|
|
System.out.println("=== 그리드에서 전달받은 잔량 ===");
|
|
System.out.println("잔량 (REMAINING_QUANTITY): " + saleInfo.get("REMAINING_QUANTITY"));
|
|
}
|
|
|
|
// 판매수량은 기존 값 유지 (이미 판매 등록된 경우) 또는 비워둠 (신규 등록)
|
|
if(saleInfo != null) {
|
|
if(saleInfo.get("SALES_QUANTITY") == null || saleInfo.get("SALES_QUANTITY").equals(0)) {
|
|
saleInfo.put("SALES_QUANTITY", ""); // 신규 등록: 비워둠
|
|
}
|
|
System.out.println("판매수량 (SALES_QUANTITY): " + saleInfo.get("SALES_QUANTITY"));
|
|
}
|
|
|
|
// 프로젝트의 모든 품목 조회 (Phase 2) - 주석처리: 품목은 하나만 존재
|
|
/*
|
|
List<Map<String, Object>> projectItems = null;
|
|
if(paramMap.get("orderNo") != null && !paramMap.get("orderNo").equals("")) {
|
|
projectItems = salesNcollectMgmtService.getProjectItems(paramMap);
|
|
System.out.println("=== 프로젝트 품목 조회 ===");
|
|
System.out.println("품목 개수: " + (projectItems != null ? projectItems.size() : 0));
|
|
request.setAttribute("projectItems", projectItems);
|
|
}
|
|
*/
|
|
|
|
request.setAttribute("saleInfo", saleInfo);
|
|
|
|
// orderInfo로 견적 정보 전달 (saleInfo가 이미 모든 필요한 정보를 포함)
|
|
request.setAttribute("orderInfo", saleInfo);
|
|
}
|
|
|
|
// 수정 모드: saleInfo에서 담당자 선택값 반영
|
|
if(saleInfo != null && saleInfo.get("MANAGER") != null) {
|
|
String selectedManager = saleInfo.get("MANAGER").toString();
|
|
System.out.println("=== 담당자 선택값 반영 ===");
|
|
System.out.println("selectedManager: [" + selectedManager + "]");
|
|
codeMap.put("managerList", commonService.bizMakeOptionList("", selectedManager, "common.getUserselect"));
|
|
} else {
|
|
System.out.println("=== 담당자 선택값 없음 ===");
|
|
System.out.println("saleInfo null: " + (saleInfo == null));
|
|
if(saleInfo != null) {
|
|
System.out.println("MANAGER value: " + saleInfo.get("MANAGER"));
|
|
}
|
|
}
|
|
|
|
// 환종(통화) - 공통코드 0001533
|
|
codeMap.put("salesCurrency",
|
|
commonService.bizMakeOptionList("0001533", salesCurrency, "common.getCodeselect"));
|
|
|
|
request.setAttribute("codeMap", codeMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return "/salesmgmt/salesMgmt/salesRegForm";
|
|
}
|
|
|
|
@RequestMapping(value = "/salesMgmt/salesMgmtGridList.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> getSalesMgmtGridList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
// 디버깅: 검색 파라미터 로그 출력
|
|
System.out.println("=== 판매관리 조회 파라미터 (백엔드) ===");
|
|
System.out.println("search_partObjId: [" + paramMap.get("search_partObjId") + "]");
|
|
System.out.println("search_partNo: [" + paramMap.get("search_partNo") + "]");
|
|
System.out.println("search_partName: [" + paramMap.get("search_partName") + "]");
|
|
System.out.println("orderType: [" + paramMap.get("orderType") + "]");
|
|
System.out.println("poNo: [" + paramMap.get("poNo") + "]");
|
|
System.out.println("serialNo: [" + paramMap.get("serialNo") + "]");
|
|
|
|
// 판매상태 멀티 선택 처리 (배열 → 리스트 변환)
|
|
String[] salesStatusArr = request.getParameterValues("salesStatus");
|
|
System.out.println("=== 판매상태 파라미터 디버깅 ===");
|
|
System.out.println("salesStatusArr: " + (salesStatusArr != null ? java.util.Arrays.toString(salesStatusArr) : "null"));
|
|
if(salesStatusArr != null && salesStatusArr.length > 0) {
|
|
List<String> salesStatusList = new ArrayList<String>();
|
|
for(String status : salesStatusArr) {
|
|
System.out.println(" status 값: [" + status + "]");
|
|
if(status != null && !status.isEmpty()) {
|
|
salesStatusList.add(status);
|
|
}
|
|
}
|
|
System.out.println("salesStatusList: " + salesStatusList);
|
|
if(!salesStatusList.isEmpty()) {
|
|
paramMap.put("salesStatus", salesStatusList);
|
|
} else {
|
|
paramMap.remove("salesStatus");
|
|
}
|
|
} else {
|
|
paramMap.remove("salesStatus");
|
|
}
|
|
|
|
// 품명/품번 파라미터가 비어있으면 경고
|
|
if((paramMap.get("search_partNo") == null || paramMap.get("search_partNo").toString().isEmpty()) &&
|
|
(paramMap.get("search_partName") == null || paramMap.get("search_partName").toString().isEmpty())) {
|
|
System.out.println("⚠️ 품번/품명 파라미터가 비어있습니다!");
|
|
}
|
|
|
|
// commonService.selectListPagingNew를 사용하여 페이지네이션 HTML 생성
|
|
commonService.selectListPagingNew("salesNcollectMgmt.getSalesMgmtGridList", request, paramMap);
|
|
|
|
// 디버깅: 조회 결과 개수 출력
|
|
List<?> resultList = (List<?>) paramMap.get("RESULTLIST");
|
|
System.out.println("✅ 조회 결과 개수: " + (resultList != null ? resultList.size() : 0));
|
|
|
|
return paramMap;
|
|
}
|
|
|
|
@RequestMapping(value = "/salesMgmt/saveSales.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> saveSales(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
try {
|
|
resultMap = salesNcollectMgmtService.saveSaleRegistration(request, paramMap);
|
|
} catch (Exception e) {
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", "저장 중 오류가 발생했습니다.");
|
|
e.printStackTrace();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 분할출하 팝업 폼
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap
|
|
* @return String
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/splitShipmentForm.do", method = RequestMethod.GET)
|
|
public String showSplitShipmentForm(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
Map<String, Object> codeMap = new HashMap<String, Object>();
|
|
|
|
// 담당자
|
|
codeMap.put("managerList",
|
|
salesMgmtCommonService.bizMakeOptionList("", "", "salesMgmtCommon.getSalesmanList"));
|
|
|
|
// 프로젝트 정보 조회
|
|
String projectNo = CommonUtils.checkNull(paramMap.get("projectNo"));
|
|
if(!"".equals(projectNo)) {
|
|
Map<String, Object> projectInfo = salesNcollectMgmtService.getProjectInfoByProjectNo(projectNo);
|
|
if(projectInfo != null) {
|
|
request.setAttribute("info", projectInfo);
|
|
}
|
|
}
|
|
|
|
request.setAttribute("codeMap", codeMap);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return "/salesmgmt/salesMgmt/splitShipmentForm";
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 분할출하 저장 처리
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 분할출하 정보
|
|
* @return Map
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/saveSplitShipment.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> saveSplitShipment(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
try {
|
|
resultMap = salesNcollectMgmtService.splitShipment(request, paramMap);
|
|
} catch (Exception e) {
|
|
resultMap.put("result", false);
|
|
resultMap.put("msg", "분할출하 처리 중 오류가 발생했습니다.");
|
|
e.printStackTrace();
|
|
}
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 출하일 상세 내역 팝업
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - projectNo
|
|
* @return String
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/shippingDetailPopup.do", method = RequestMethod.GET)
|
|
public String showShippingDetailPopup(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
String projectNo = (String) paramMap.get("projectNo");
|
|
List<Map<String, Object>> shippingList = salesNcollectMgmtService.getShippingDetailList(projectNo);
|
|
request.setAttribute("shippingList", shippingList);
|
|
request.setAttribute("projectNo", projectNo);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return "/salesmgmt/salesMgmt/shippingDetailPopup";
|
|
}
|
|
|
|
/**
|
|
* 거래명세서 폼 표시
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/transactionStatementForm.do", method = RequestMethod.GET)
|
|
public String showTransactionStatementForm(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
return "/salesmgmt/salesMgmt/transactionStatementForm";
|
|
}
|
|
|
|
/**
|
|
* 거래명세서 데이터 조회
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/getTransactionStatementData.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> getTransactionStatementData(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
String projectNos = (String) paramMap.get("projectNos");
|
|
|
|
if(projectNos == null || projectNos.isEmpty()) {
|
|
resultMap.put("success", false);
|
|
resultMap.put("message", "프로젝트 번호가 없습니다.");
|
|
return resultMap;
|
|
}
|
|
|
|
// 거래명세서 데이터 조회
|
|
Map<String, Object> statementData = salesNcollectMgmtService.getTransactionStatementData(paramMap);
|
|
|
|
resultMap.put("success", true);
|
|
resultMap.putAll(statementData);
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("success", false);
|
|
resultMap.put("message", "데이터 조회 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 거래명세서 저장 (차수 관리 없음)
|
|
*/
|
|
@RequestMapping(value = "/salesMgmt/saveTransactionStatement.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> saveTransactionStatement(HttpServletRequest request, @org.springframework.web.bind.annotation.RequestBody Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
System.out.println("=== 거래명세서 저장 Controller ===");
|
|
System.out.println("프로젝트 번호: " + paramMap.get("projectNos"));
|
|
System.out.println("납품일: " + paramMap.get("deliveryDate"));
|
|
System.out.println("비고: " + paramMap.get("noteContent"));
|
|
System.out.println("품목 개수: " + ((List)paramMap.get("items")).size());
|
|
|
|
// Service 호출하여 DB에 저장
|
|
resultMap = salesNcollectMgmtService.saveTransactionStatement(paramMap);
|
|
|
|
System.out.println("저장 결과: " + resultMap.get("success"));
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("success", false);
|
|
resultMap.put("message", "저장 중 오류가 발생했습니다: " + e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 계약관리 목록 조회
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 계약관리 검색 정보
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
@RequestMapping(value = "/salesNcollectMgmt/contractList.do", method = RequestMethod.GET)
|
|
public String salesContractList(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
String orderNo = request.getParameter("orderNo");
|
|
|
|
try {
|
|
List<Map<String,Object>> list = contractMgmtService.getContractMgmtAll(request, paramMap);
|
|
|
|
if (StringUtils.isBlank(orderNo) && list != null && !list.isEmpty()) {
|
|
Map<String,Object> dataMap = list.get(0);
|
|
orderNo = (String) dataMap.get("ORDERNO");
|
|
}
|
|
|
|
request.setAttribute("LIST", list);
|
|
request.setAttribute("orderNo", orderNo);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return "/salesmgmt/salesNcollectMgmt/contractMgmtList";
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 매출등록 목록 조회
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 계약관리 검색 정보
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
@RequestMapping(value = "/salesNcollectMgmt/sales.do", method = RequestMethod.GET)
|
|
public String sales(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
try {
|
|
List<Map<String,Object>> list = salesNcollectMgmtService.getSalseAllByOrderNo(request, paramMap);
|
|
|
|
request.setAttribute("LIST", list);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return "/salesmgmt/salesNcollectMgmt/salesMgmt";
|
|
}
|
|
|
|
/**
|
|
* <pre>
|
|
* 매출등록 상세 조회
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap - 매출등록 검색 정보
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
@RequestMapping("/salesNcollectMgmt/salesMgmtFormPopup.do")
|
|
public String salesMgmt(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
String saleNo = CommonUtils.checkNull(paramMap.get("saleNo"));
|
|
Map<String, Object> info = null;
|
|
|
|
try {
|
|
if(StringUtils.isNotBlank(saleNo)) {
|
|
// 매출관리 조회
|
|
info = salesNcollectMgmtService.getSalesMgmt(paramMap);
|
|
} else {
|
|
info = new HashMap<String, Object>();
|
|
}
|
|
|
|
// 계약관리 조회
|
|
Map<String, Object> contractInfo = contractMgmtService.getContractMgmt(paramMap);
|
|
if (info == null || !info.containsKey("SALENO")) {
|
|
String custCd = (String) contractInfo.get("CUSTCD"); // 고객코드
|
|
String custNm = (String) contractInfo.get("CUSTNM"); // 고객명
|
|
int goodsQty = (Integer) contractInfo.get("GOODSQTY"); // 계약수량
|
|
long salePrice = Integer.parseInt(String.valueOf((BigDecimal) contractInfo.get("SALEPRICE"))); // 계약단가
|
|
long saleAmt = Integer.parseInt(String.valueOf((BigDecimal) contractInfo.get("SALEAMT"))); // 계약금액
|
|
long vatAmt = Integer.parseInt(String.valueOf((BigDecimal) contractInfo.get("VATAMT"))); // 부가세
|
|
|
|
info.put("CUSTCD", custCd); // 고객코드
|
|
info.put("CUSTNM", custNm); // 고객명
|
|
info.put("SUPPLYQTY", goodsQty); // 계약수량
|
|
info.put("SUPPLYPRICE", salePrice); // 계약단가
|
|
info.put("SUPPLYAMT", saleAmt); // 계약금액
|
|
info.put("SUPPLYVAT", vatAmt); // 부가세
|
|
}
|
|
|
|
// 코드정보
|
|
Map<String, Object> codeMap = new HashMap<String, Object>();
|
|
|
|
//과세 유형
|
|
codeMap.put("taxTypeList",
|
|
salesMgmtCommonService.bizMakeOptionList("DB", (String) info.get("TAXTYPE"), "salesMgmtCommon.getCodeList"));
|
|
|
|
request.setAttribute("info", info);
|
|
request.setAttribute("codeMap", codeMap);
|
|
request.setAttribute("contractInfo", contractInfo);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return "/salesmgmt/salesNcollectMgmt/salesFormPopup";
|
|
}
|
|
|
|
/**
|
|
* 매출관리 저장
|
|
* @param request
|
|
* @param paramMap - 고객관리 정보
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesNcollectMgmt/saveSalesMgmt.do")
|
|
public Map<String, Object> saveSalesMgmt(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
resultMap.put("RESULT", salesNcollectMgmtService.saveSalesMgmt(request, paramMap));
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 매출관리 삭제
|
|
* @param request
|
|
* @param paramMap - 고객관리 정보
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesNcollectMgmt/deleteSalesMgmt.do")
|
|
public Map<String, Object> deleteSalesMgmt(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
resultMap.put("RESULT", salesNcollectMgmtService.deleteSalesMgmt(request, paramMap));
|
|
|
|
|
|
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
|
|
/********************************************************************************************************************************
|
|
********************************************************************************************************************************
|
|
수금관리 시작
|
|
********************************************************************************************************************************
|
|
********************************************************************************************************************************/
|
|
|
|
/**
|
|
* <pre>
|
|
* 수금 목록 조회
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap -
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
@RequestMapping(value = "/salesNcollectMgmt/collect.do", method = RequestMethod.GET)
|
|
public String collect(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
|
|
try {
|
|
List<Map<String,Object>> list = salesNcollectMgmtService.getCollectAllByOrderNo(request, paramMap);
|
|
|
|
request.setAttribute("LIST", list);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return "/salesmgmt/salesNcollectMgmt/collectMgmt";
|
|
}
|
|
|
|
|
|
/**
|
|
* <pre>
|
|
* 수금 상세 조회
|
|
* </pre>
|
|
* @param session
|
|
* @param request
|
|
* @param paramMap - 매출 검색 정보
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
@RequestMapping("/salesNcollectMgmt/collectMgmtFormPopup.do")
|
|
public String collectMgmt(HttpSession session
|
|
, HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
|
|
String saleNo = CommonUtils.checkNull(paramMap.get("rcptNo"));
|
|
Map<String, Object> info = null;
|
|
|
|
try {
|
|
System.out.println("paramMap##################### " + paramMap);
|
|
if(StringUtils.isNotBlank(saleNo)) {
|
|
// 수금관리 조회
|
|
info = salesNcollectMgmtService.getCollectMgmt(paramMap);
|
|
} else {
|
|
info = new HashMap<String, Object>();
|
|
}
|
|
|
|
// 계약관리 조회
|
|
Map<String, Object> contractInfo = contractMgmtService.getContractMgmt(paramMap);
|
|
if (info == null || !info.containsKey("RCPTNO")) {
|
|
String custCd = (String) contractInfo.get("CUSTCD"); // 고객코드
|
|
long saleAmt = Integer.parseInt(String.valueOf((BigDecimal) contractInfo.get("SALEAMT"))); // 계약금액
|
|
|
|
info.put("CUSTCD", custCd); // 고객코드
|
|
info.put("RCPTAMT", saleAmt); // 수금금액
|
|
}
|
|
|
|
// 코드정보
|
|
Map<String, Object> codeMap = new HashMap<String, Object>();
|
|
System.out.println("info##################### " + info);
|
|
|
|
//고객
|
|
codeMap.put("customerList",
|
|
salesMgmtCommonService.bizMakeOptionList("", (String) info.get("CUSTCD"), "salesMgmtCommon.getCustomerList"));
|
|
|
|
//계정과목
|
|
codeMap.put("accountTypeList",
|
|
salesMgmtCommonService.bizMakeOptionList("AK", (String) info.get("ACCOUNTTYPE"), "salesMgmtCommon.getCodeList"));
|
|
|
|
//자금구분
|
|
codeMap.put("fundsTypeList",
|
|
salesMgmtCommonService.bizMakeOptionList("AM", (String) info.get("FUNDSTYPE"), "salesMgmtCommon.getCodeList"));
|
|
|
|
//자금 유형
|
|
codeMap.put("aoTypeList",
|
|
salesMgmtCommonService.bizMakeOptionList("AO", (String) info.get("AOTYPE"), "salesMgmtCommon.getCodeList"));
|
|
|
|
/* // 영업부서
|
|
codeMap.put("deptList",
|
|
salesMgmtCommonService.bizMakeOptionList("", (String) info.get("DEPTCD"), "salesMgmtCommon.getDeptList"));
|
|
|
|
// 영업담당자
|
|
codeMap.put("SalesmanList",
|
|
salesMgmtCommonService.bizMakeOptionList("", (String) info.get("SALESMAN"), "salesMgmtCommon.getSalesmanList"));
|
|
// 고객지역
|
|
codeMap.put("areaList",
|
|
salesMgmtCommonService.bizMakeOptionList("AR", (String) info.get("CUSTAREA"), "salesMgmtCommon.getCodeList"));
|
|
|
|
*/
|
|
|
|
//하단 그리드를 위한 수금 목록 조회
|
|
List<Map<String,Object>> list = salesNcollectMgmtService.getCollectAllByOrderNo(request, paramMap);
|
|
request.setAttribute("LIST", list);
|
|
|
|
request.setAttribute("info", info);
|
|
request.setAttribute("codeMap", codeMap);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return "/salesmgmt/salesNcollectMgmt/collectFormPopup";
|
|
}
|
|
|
|
|
|
/**
|
|
* <pre>
|
|
* 수금관리 저장
|
|
* </pre>
|
|
* @param request
|
|
* @param paramMap -
|
|
* @return String
|
|
*
|
|
* <pre>
|
|
* << 개정 이력 >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
* ---------------- --------------------- ----------------------------------------------------------
|
|
* 2021.11.05 민상익 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesNcollectMgmt/saveCollectMgmt.do")
|
|
public Map<String, Object> saveCollectMgmt(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
System.out.println("ctr::paramMap##################### " + paramMap);
|
|
try {
|
|
resultMap.put("RESULT", salesNcollectMgmtService.saveCollectMgmt(request, paramMap));
|
|
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 수금관리 삭제
|
|
* @param request
|
|
* @param paramMap - 고객관리 정보
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesNcollectMgmt/deleteCollectMgmt.do")
|
|
public Map<String, Object> deleteCollectMgmt(HttpServletRequest request
|
|
, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
resultMap.put("RESULT", salesNcollectMgmtService.deleteCollectMgmt(request, paramMap));
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 매출마감 처리
|
|
* @param request
|
|
* @param paramMap
|
|
* @return
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping("/salesNcollectMgmt/salesDeadlineConfirm.do")
|
|
public Map salesDeadlineConfirm(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
|
|
Map resultMap = salesNcollectMgmtService.salesDeadlineConfirm(request, paramMap);
|
|
return resultMap;
|
|
}
|
|
|
|
@RequestMapping(value = "/salesMgmt/getAllSerialNumbers.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> getAllSerialNumbers(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
List<String> serialNumbers = salesNcollectMgmtService.getAllSerialNumbers(paramMap);
|
|
resultMap.put("success", true);
|
|
resultMap.put("serialNumbers", serialNumbers);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("success", false);
|
|
resultMap.put("message", e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
|
|
/**
|
|
* 마감정보 조회
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping(value = "/revenueMgmt/getDeadlineInfo.do", method = RequestMethod.POST)
|
|
public Map<String, Object> getDeadlineInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
return salesNcollectMgmtService.getDeadlineInfo(paramMap);
|
|
}
|
|
|
|
/**
|
|
* 마감정보 저장
|
|
*/
|
|
@ResponseBody
|
|
@RequestMapping(value = "/revenueMgmt/saveDeadlineInfo.do", method = RequestMethod.POST)
|
|
public Map saveDeadlineInfo(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
return salesNcollectMgmtService.saveDeadlineInfo(request, paramMap);
|
|
}
|
|
|
|
@RequestMapping(value = "/salesMgmt/getSavedTransactionStatement.do", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
public Map<String, Object> getSavedTransactionStatement(HttpServletRequest request, @RequestParam Map<String, Object> paramMap) {
|
|
Map<String, Object> resultMap = new HashMap<String, Object>();
|
|
|
|
try {
|
|
List<Map<String, Object>> savedData = salesNcollectMgmtService.getSavedTransactionStatement(paramMap);
|
|
resultMap.put("success", true);
|
|
resultMap.put("data", savedData);
|
|
} catch(Exception e) {
|
|
e.printStackTrace();
|
|
resultMap.put("success", false);
|
|
resultMap.put("message", e.getMessage());
|
|
}
|
|
|
|
return resultMap;
|
|
}
|
|
}
|