출하지시/판매등록 통합 및 S/N 마스터 기준 조회로 변경

- 출하지시/판매등록 버튼: 항상 신규 shipment_log 생성 (기존 분할출하와 통합)
- 출하일 상세 팝업: 행 클릭 시 해당 shipment_log 수정 가능
- S/N 조회: shipment_log 스냅샷 → CONTRACT_ITEM_SERIAL 마스터 기준으로 변경
- 수정 시 최신 S/N 표시, 저장 시 마스터에 sync

Made-with: Cursor
This commit is contained in:
2026-03-09 11:35:53 +09:00
parent 30f644a2fc
commit b643c9d494
7 changed files with 566 additions and 158 deletions

View File

@@ -352,6 +352,22 @@ public class SalesNcollectMgmtController {
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("=== 판매등록 수정 모드 ===");
@@ -359,10 +375,10 @@ public class SalesNcollectMgmtController {
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"));