사라지기전에

This commit is contained in:
leeheejin
2025-11-13 16:52:18 +09:00
parent 849df44333
commit c2f2350b83
11 changed files with 468 additions and 72 deletions

View File

@@ -248,6 +248,7 @@ public class SalesNcollectMgmtController {
@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();
@@ -287,17 +288,62 @@ public class SalesNcollectMgmtController {
System.out.println("saleNo: " + paramMap.get("saleNo"));
System.out.println("remainingQuantity: " + paramMap.get("remainingQuantity"));
// saleNo가 있으면 기존 판매 데이터 수정 모드
if(paramMap.get("saleNo") != null && !paramMap.get("saleNo").equals("")) {
System.out.println("=== 기존 판매 데이터 수정 모드 ===");
saleInfo = salesNcollectMgmtService.getSaleInfo(paramMap);
salesCurrency = CommonUtils.nullToEmpty((String)saleInfo.get("SALES_CURRENCY"));
// saleNo가 "detail"이면 주문서 관리의 결재 정보 조회 모드
if(paramMap.get("saleNo") != null && "detail".equals(paramMap.get("saleNo"))) {
System.out.println("=== 주문서 관리 결재 정보 조회 모드 ===");
System.out.println("=== DB에서 조회한 saleInfo ===");
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"));
// 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);
// 결재 라인 정보 조회
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("결재 라인 개수: " + (approvalLine != null ? approvalLine.size() : 0));
// 별도의 JSP로 이동
return "/salesmgmt/salesMgmt/projectDetailView";
}
}
// saleNo가 있지만 "detail"이 아니면 프로젝트 기본 정보 조회 모드
else if(paramMap.get("saleNo") != null && !paramMap.get("saleNo").equals("")) {
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"));
saleInfo.put("ORDER_QUANTITY", saleInfo.get("SALES_QUANTITY"));
Map<String, Object> shipmentParam = new HashMap<String, Object>();
shipmentParam.put("projectNo", paramMap.get("orderNo"));
Integer totalShipped = salesNcollectMgmtService.getTotalShippedQuantity(shipmentParam);
saleInfo.put("SALES_QUANTITY", totalShipped != null ? totalShipped : 0);
System.out.println("=== 프로젝트 기본 정보 조회 완료 ===");
System.out.println("ORDER_QUANTITY (수주수량): " + saleInfo.get("ORDER_QUANTITY"));
System.out.println("SALES_QUANTITY (총 판매수량): " + saleInfo.get("SALES_QUANTITY"));
}
}
// saleNo가 없으면 신규 판매 등록 모드 -> 수주 데이터만 조회
else {