From 5a1626f4940dd6d694fc0d3aeb2659f508bc47dc Mon Sep 17 00:00:00 2001 From: hjjeong Date: Mon, 9 Feb 2026 13:59:32 +0900 Subject: [PATCH 1/7] =?UTF-8?q?=EA=B0=80=EA=B3=B5=EC=97=85=EC=B2=B4=20?= =?UTF-8?q?=EA=B8=B0=EB=B3=B8=20RPS=20=EC=84=A0=ED=83=9D=20=EC=88=98?= =?UTF-8?q?=EC=A0=95(objid=EA=B0=92=20=EB=B3=80=EA=B2=BD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp | 4 ++-- WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp b/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp index 6c7848a..f86b799 100644 --- a/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp +++ b/WebContent/WEB-INF/view/productionplanning/mBomPopupLeft.jsp @@ -669,9 +669,9 @@ function fn_initGrid() { formatter: function(cell) { var value = cell.getValue(); - // 저장된 값이 없으면 기본값 '5001'(RPS) 설정 + // 저장된 값이 없으면 기본값 '0000008377'(RPS) 설정 if(value === undefined || value === null || value === '') { - value = '5001'; + value = '0000008377'; cell.getRow().update({PROCESSING_VENDOR: value}, false); } diff --git a/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp b/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp index c510365..381647f 100644 --- a/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp +++ b/WebContent/WEB-INF/view/salesMng/purchaseListFormPopUp.jsp @@ -678,9 +678,9 @@ function fn_initGrid() { formatter: function(cell) { var value = cell.getValue(); - // 저장된 값이 없으면 기본값 '5001'(RPS) 설정 + // 저장된 값이 없으면 기본값 '0000008377'(RPS) 설정 if(value === undefined || value === null || value === '') { - value = '5001'; + value = '0000008377'; cell.getRow().update({PROCESSING_VENDOR: value}, false); } -- 2.49.1 From 2810a7b764c2047e2e1f2c88c649e40e05a6f7ee Mon Sep 17 00:00:00 2001 From: hjjeong Date: Mon, 9 Feb 2026 14:00:01 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=EB=B7=B0=20=EB=AA=A8=EB=93=9C=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EB=8B=AB=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20=ED=99=9C?= =?UTF-8?q?=EC=84=B1=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/view/quality/ecrResultFormPopUp.jsp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/WebContent/WEB-INF/view/quality/ecrResultFormPopUp.jsp b/WebContent/WEB-INF/view/quality/ecrResultFormPopUp.jsp index 750315b..3da8dbb 100644 --- a/WebContent/WEB-INF/view/quality/ecrResultFormPopUp.jsp +++ b/WebContent/WEB-INF/view/quality/ecrResultFormPopUp.jsp @@ -60,6 +60,8 @@ $(document).ready(function(){ // 뷰 모드일 경우 입력 필드 비활성화 if(isViewMode){ $("#form1 input, #form1 textarea, #form1 select").prop("disabled", true); + // 닫기 버튼은 뷰 모드에서도 동작해야 하므로 다시 활성화 + $("#btnClose").prop("disabled", false); $("#btnSave, #btnUpload, #btnImgUpload, #file1, #imgFile1").hide(); $(".delete_btn").parent().hide(); } else { -- 2.49.1 From 3068354cd04a69422e6ed4eae3128d395fa58115 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Mon, 9 Feb 2026 16:02:36 +0900 Subject: [PATCH 3/7] =?UTF-8?q?=EB=B6=84=ED=95=A0=EC=B6=9C=ED=95=98=20S/N?= =?UTF-8?q?=20=EC=9E=85=EB=A0=A5=ED=95=98=EB=8A=94=20=EB=B6=80=EB=B6=84=20?= =?UTF-8?q?=EC=88=98=EC=A0=95,=20=EB=94=94=EC=9E=90=EC=9D=B8=20=EA=B8=B0?= =?UTF-8?q?=EC=A1=B4=EA=B3=BC=20=EB=8F=99=EC=9D=BC=ED=95=98=EA=B2=8C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../salesmgmt/salesMgmt/splitShipmentForm.jsp | 507 ++++++++++++++---- .../salesmgmt/mapper/salesNcollectMgmt.xml | 5 +- .../service/SalesNcollectMgmtService.java | 50 +- 3 files changed, 423 insertions(+), 139 deletions(-) diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/splitShipmentForm.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/splitShipmentForm.jsp index 7ae4212..f417a83 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/splitShipmentForm.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/splitShipmentForm.jsp @@ -1,22 +1,45 @@ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> -<%@ include file="/init.jsp" %> +<%@ include file="/init_new.jsp" %> 분할출하 등록 - - @@ -74,122 +327,148 @@ + + + + + -
+

분할출하 등록

-
- +
+
- - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ +
+
@@ -200,7 +479,7 @@
- + diff --git a/src/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml b/src/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml index d778578..3ca0119 100644 --- a/src/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml +++ b/src/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml @@ -2090,7 +2090,10 @@ ORDER BY T.REGDATE DESC, T.PROJECT_NO DESC COALESCE(CM.PO_NO, '') AS PO_NO, COALESCE(CM.ORDER_DATE, '') AS ORDER_DATE, COALESCE((SELECT SUM(SR.SALES_QUANTITY) FROM SALES_REGISTRATION SR WHERE SR.PROJECT_NO = T.PROJECT_NO), 0) AS SALES_QUANTITY, - COALESCE(T.QUANTITY::NUMERIC, 0) - COALESCE((SELECT SUM(SR.SALES_QUANTITY) FROM SALES_REGISTRATION SR WHERE SR.PROJECT_NO = T.PROJECT_NO), 0) AS REMAINING_QUANTITY + COALESCE(T.QUANTITY::NUMERIC, 0) - COALESCE((SELECT SUM(SR.SALES_QUANTITY) FROM SALES_REGISTRATION SR WHERE SR.PROJECT_NO = T.PROJECT_NO), 0) AS REMAINING_QUANTITY, + COALESCE(NULLIF(CM.ORDER_UNIT_PRICE, '')::NUMERIC, 0) AS ORDER_UNIT_PRICE, + COALESCE(NULLIF(CM.EXCHANGE_RATE, '')::NUMERIC, 1) AS EXCHANGE_RATE, + COALESCE(CM.CONTRACT_CURRENCY, '') AS CONTRACT_CURRENCY FROM PROJECT_MGMT T LEFT JOIN CONTRACT_MGMT CM ON CM.OBJID = T.CONTRACT_OBJID LEFT JOIN SUPPLY_MNG SM ON SM.OBJID = CASE WHEN T.CUSTOMER_OBJID ~ '^[0-9]+$' THEN T.CUSTOMER_OBJID::NUMERIC ELSE NULL END diff --git a/src/com/pms/salesmgmt/service/SalesNcollectMgmtService.java b/src/com/pms/salesmgmt/service/SalesNcollectMgmtService.java index c990cc2..a3fb2d7 100644 --- a/src/com/pms/salesmgmt/service/SalesNcollectMgmtService.java +++ b/src/com/pms/salesmgmt/service/SalesNcollectMgmtService.java @@ -360,6 +360,14 @@ public Map saveSaleRegistration(HttpServletRequest request, Map< System.out.println("saleNo (파라미터): " + saleNo); System.out.println("salesQuantity: " + paramMap.get("salesQuantity")); + // 폼 필드명(manager) → SQL 파라미터명(managerUserId) 매핑 + if(paramMap.get("manager") != null && !"".equals(paramMap.get("manager"))) { + paramMap.put("managerUserId", paramMap.get("manager")); + } + + System.out.println("serialNo: " + paramMap.get("serialNo")); + System.out.println("manager → managerUserId: " + paramMap.get("managerUserId")); + // 모든 판매를 shipment_log에 기록 (분할 출하 방식 통일) // 1. 해당 프로젝트의 sales_registration 레코드 확인 Map checkParam = new HashMap(); @@ -391,9 +399,10 @@ public Map saveSaleRegistration(HttpServletRequest request, Map< baseRecord.put("salesExchangeRate", paramMap.get("salesExchangeRate")); baseRecord.put("shippingDate", paramMap.get("shippingDate")); baseRecord.put("shippingMethod", paramMap.get("shippingMethod")); - baseRecord.put("managerUserId", paramMap.get("managerUserId")); + baseRecord.put("managerUserId", paramMap.get("managerUserId")); // 위에서 manager → managerUserId 매핑됨 baseRecord.put("incoterms", paramMap.get("incoterms")); baseRecord.put("serialNo", paramMap.get("serialNo")); + System.out.println("insertSaleRegistration - serialNo: " + paramMap.get("serialNo")); baseRecord.put("shippingOrderStatus", "출하지시"); // 자동으로 출하지시 상태 설정 baseRecord.put("cretEmpNo", paramMap.get("cretEmpNo")); @@ -495,22 +504,21 @@ public Map saveSaleRegistration(HttpServletRequest request, Map< PersonBean person = (PersonBean) request.getSession().getAttribute(Constants.PERSON_BEAN); String userId = person.getUserId(); - // 원본 데이터 조회 - Map originalData = sqlSession.selectOne("salesNcollectMgmt.getContractByObjid", paramMap); - - if(originalData == null) { - resultMap.put("result", false); - resultMap.put("msg", "원본 데이터를 찾을 수 없습니다."); - return resultMap; - } - // 분할 수량 int splitQuantity = Integer.parseInt(paramMap.get("splitQuantity").toString()); int originalQuantity = Integer.parseInt(paramMap.get("originalQuantity").toString()); - // 원본 데이터의 단가 정보 가져오기 - BigDecimal unitPrice = new BigDecimal(originalData.get("order_unit_price").toString()); - BigDecimal exchangeRate = new BigDecimal(originalData.get("exchange_rate").toString()); + // 단가/환율은 폼 hidden 필드에서 직접 가져옴 (프로젝트 기반, contract_mgmt 직접 조회 불필요) + String unitPriceStr = CommonUtils.checkNull(paramMap.get("orderUnitPrice")); + String exchangeRateStr = CommonUtils.checkNull(paramMap.get("exchangeRate")); + String contractCurrency = CommonUtils.checkNull(paramMap.get("contractCurrency")); + + BigDecimal unitPrice = StringUtils.isNotBlank(unitPriceStr) ? new BigDecimal(unitPriceStr) : BigDecimal.ZERO; + BigDecimal exchangeRate = StringUtils.isNotBlank(exchangeRateStr) ? new BigDecimal(exchangeRateStr) : BigDecimal.ONE; + + System.out.println("=== splitShipment 디버그 ==="); + System.out.println("projectNo: " + paramMap.get("projectNo")); + System.out.println("unitPrice: " + unitPrice + ", exchangeRate: " + exchangeRate + ", currency: " + contractCurrency); // 분할 금액 계산 BigDecimal splitSupplyPrice = unitPrice.multiply(new BigDecimal(splitQuantity)); @@ -527,19 +535,13 @@ public Map saveSaleRegistration(HttpServletRequest request, Map< paramMap.put("salesSupplyPrice", splitSupplyPrice); paramMap.put("salesVat", splitVat); paramMap.put("salesTotalAmount", splitTotalAmount); - paramMap.put("salesCurrency", originalData.get("contract_currency")); + paramMap.put("salesCurrency", contractCurrency); paramMap.put("salesExchangeRate", exchangeRate); - // 팝업에서 입력한 데이터 우선, 없으면 원본 데이터 사용 - paramMap.put("shippingMethod", - StringUtils.isNotBlank((String)paramMap.get("shippingMethod")) ? - paramMap.get("shippingMethod") : originalData.get("shipping_method")); - paramMap.put("incoterms", - StringUtils.isNotBlank((String)paramMap.get("incoterms")) ? - paramMap.get("incoterms") : originalData.get("incoterms")); - paramMap.put("managerUserId", - StringUtils.isNotBlank((String)paramMap.get("manager")) ? - paramMap.get("manager") : originalData.get("pm_user_id")); + // 담당자 매핑 (폼 필드명 manager → SQL 파라미터명 managerUserId) + if(StringUtils.isNotBlank((String)paramMap.get("manager"))) { + paramMap.put("managerUserId", paramMap.get("manager")); + } // 팝업에서 입력한 추가 정보 // serialNo, shippingDate, remark는 팝업에서만 입력 가능 -- 2.49.1 From 92233da3f18329366747365ae15f459f1b791e12 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Mon, 9 Feb 2026 16:14:30 +0900 Subject: [PATCH 4/7] =?UTF-8?q?ECR=5FNO=20=EC=83=9D=EC=84=B1,=20=EC=9E=91?= =?UTF-8?q?=EC=84=B1=EC=9D=BC=20->=20=EC=9A=94=EC=B2=AD=EC=9D=BC=20?= =?UTF-8?q?=EA=B8=B0=EC=A4=80=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/pms/service/QualityService.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/com/pms/service/QualityService.java b/src/com/pms/service/QualityService.java index 66538d8..0effc2a 100644 --- a/src/com/pms/service/QualityService.java +++ b/src/com/pms/service/QualityService.java @@ -1728,7 +1728,15 @@ public class QualityService extends BaseService{ } // ECR_NO 생성 (ECR-YYYYMM-순번) 예) ECR-202512-01 - String yyyymm = new java.text.SimpleDateFormat("yyyyMM").format(new java.util.Date()); + // 요청일 기준으로 YYYYMM 추출 (REQUEST_DATE 형식: yyyy-MM-dd) + String requestDate = CommonUtils.checkNull(paramMap.get("REQUEST_DATE")); + String yyyymm; + if(!requestDate.isEmpty() && requestDate.length() >= 7){ + yyyymm = requestDate.substring(0, 4) + requestDate.substring(5, 7); + } else { + // 요청일이 없는 경우 현재 날짜로 대체 + yyyymm = new java.text.SimpleDateFormat("yyyyMM").format(new java.util.Date()); + } paramMap.put("YYYYMM", yyyymm); Integer seq = sqlSession.selectOne("quality.getEcrSeq", paramMap); if(seq == null) seq = 1; -- 2.49.1 From 1739fdca7c41eff818eba3047b6a58fb773ebc06 Mon Sep 17 00:00:00 2001 From: hjjeong Date: Mon, 9 Feb 2026 16:15:56 +0900 Subject: [PATCH 5/7] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EC=84=9C=20=EA=B2=80=EC=83=89=20=EC=9E=85=EB=A0=A5=20->=20?= =?UTF-8?q?=EC=85=80=EB=A0=89=ED=8A=B8=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp | 2 +- src/com/pms/mapper/salesMng.xml | 8 ++++++++ src/com/pms/salesmgmt/controller/SalesMngController.java | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp b/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp index 97957fe..15d254a 100644 --- a/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp +++ b/WebContent/WEB-INF/view/salesMng/quotationRequestList.jsp @@ -351,7 +351,7 @@ function fn_openMailFormPopup(quotationRequestObjId){ - + diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index 3061ba6..87ddf81 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -5078,6 +5078,14 @@ ORDER BY V.PATH2 ORDER BY QRD.OBJID + + + ${code_map.vendor_objid} - - + + diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index 87ddf81..a442284 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -4992,8 +4992,16 @@ ORDER BY V.PATH2 AND QRM.VENDOR_OBJID::VARCHAR = #{VENDOR_OBJID} - - AND QRM.STATUS = #{STATUS} + + + + + AND QRM.MAIL_SEND_DATE IS NOT NULL + + + AND QRM.MAIL_SEND_DATE IS NULL + + diff --git a/src/com/pms/salesmgmt/controller/SalesMngController.java b/src/com/pms/salesmgmt/controller/SalesMngController.java index 6dffc5b..2459710 100644 --- a/src/com/pms/salesmgmt/controller/SalesMngController.java +++ b/src/com/pms/salesmgmt/controller/SalesMngController.java @@ -1652,14 +1652,12 @@ public class SalesMngController { code_map.put("quotation_request_no", commonService.bizMakeOptionList("", (String)paramMap.get("QUOTATION_REQUEST_NO"), "salesMng.getQuotationRequestNoList")); // 업체 목록 code_map.put("vendor_objid", commonService.bizMakeOptionList("", (String)paramMap.get("vendor_objid"), "common.getClientMngSupplySelect")); - // 상태 + // 메일발송 상태 (미발송/발송) String statusOptions = ""; statusOptions += ""; - statusOptions += ""; - statusOptions += ""; - statusOptions += ""; - statusOptions += ""; - code_map.put("status", statusOptions); + statusOptions += ""; + statusOptions += ""; + code_map.put("mail_send_yn", statusOptions); // 작성자 code_map.put("writer", commonService.bizMakeOptionList("", (String)paramMap.get("writer"), "common.getUserselect")); //제품구분 -- 2.49.1 From 8eb82bd0ee69815a289258de87b4f68a8fc33f5d Mon Sep 17 00:00:00 2001 From: hjjeong Date: Mon, 9 Feb 2026 18:08:44 +0900 Subject: [PATCH 7/7] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EC=84=9C=20=EC=9E=85=EA=B3=A0=EC=9A=94=EC=B2=AD=EC=9D=BC=20?= =?UTF-8?q?=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80,=20=EA=B2=AC=EC=A0=81?= =?UTF-8?q?=20=EC=88=98=EC=8B=A0=20=ED=9B=84=20=EB=8B=A8=EA=B0=80,=20?= =?UTF-8?q?=EC=9E=85=EA=B3=A0=EC=9A=94=EC=B2=AD=EC=9D=BC=20=EC=9E=85?= =?UTF-8?q?=EB=A0=A5=EC=8B=9C=20mbom=5Fdetail=20=EC=97=90=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8(=ED=92=88=EC=9D=98=EC=84=9C?= =?UTF-8?q?=EC=97=90=20=EB=94=B0=EB=9D=BC=EA=B0=80=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=ED=95=98=EA=B8=B0=20=EC=9C=84=ED=95=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../view/salesMng/quotationRequestFormPopup.jsp | 11 +++++++++++ .../view/salesmgmt/salesMgmt/salesMgmtList.jsp | 8 ++++---- src/com/pms/mapper/salesMng.xml | 7 ++++++- src/com/pms/salesmgmt/service/SalesMngService.java | 7 +++++-- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/WebContent/WEB-INF/view/salesMng/quotationRequestFormPopup.jsp b/WebContent/WEB-INF/view/salesMng/quotationRequestFormPopup.jsp index 08d95b6..e9976de 100644 --- a/WebContent/WEB-INF/view/salesMng/quotationRequestFormPopup.jsp +++ b/WebContent/WEB-INF/view/salesMng/quotationRequestFormPopup.jsp @@ -306,6 +306,17 @@ function fn_initGrid() { } }); + // 입고요청일 (수정가능 - 달력 선택) + columns.push({ + headerHozAlign: 'center', + hozAlign: 'center', + width: 130, + title: '입고요청일', + field: 'DELIVERY_REQUEST_DATE', + editor: 'date', + editable: true + }); + // // 총단가 (자동계산) - 주석처리 // columns.push({ // headerHozAlign: 'center', diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp index d471f83..514f289 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesMgmtList.jsp @@ -175,7 +175,7 @@ function fn_openSaleRegPopup(orderNo, saleNo){ var popup_width = 850; - var popup_height = 550; + var popup_height = 400; // 한글 프로젝트 번호 인코딩 처리 var url = "/salesMgmt/salesRegForm.do?orderNo=" + encodeURIComponent(orderNo) + "&saleNo=" + (saleNo ? encodeURIComponent(saleNo) : ""); fn_centerPopup(popup_width, popup_height, url); @@ -187,7 +187,7 @@ console.log("rowData:", rowData); var popup_width = 850; - var popup_height = 550; + var popup_height = 420; // 신규 판매등록: orderNo와 잔량 전달 (saleNo 없음) var params = "orderNo=" + encodeURIComponent(rowData.PROJECT_NO); @@ -649,8 +649,8 @@ function fn_splitShipment(){ } // 분할출하 팝업 열기 - var popup_width = 800; - var popup_height = 600; + var popup_width = 900; + var popup_height = 450; var url = "/salesMgmt/splitShipmentForm.do?projectNo=" + encodeURIComponent(projectNo); fn_centerPopup(popup_width, popup_height, url); } diff --git a/src/com/pms/mapper/salesMng.xml b/src/com/pms/mapper/salesMng.xml index a442284..91adefd 100644 --- a/src/com/pms/mapper/salesMng.xml +++ b/src/com/pms/mapper/salesMng.xml @@ -5076,6 +5076,7 @@ ORDER BY V.PATH2 QRD.UNIT_PRICE, QRD.REMARK, QRD.REG_DATE, + QRD.DELIVERY_REQUEST_DATE, -- 마스터 정보 QRM.VENDOR_TYPE, QRM.VENDOR_OBJID, @@ -5160,11 +5161,12 @@ ORDER BY V.PATH2 ) - + UPDATE QUOTATION_REQUEST_DETAIL SET UNIT_PRICE = #{UNIT_PRICE}::NUMERIC, TOTAL_PRICE = #{QTY}::NUMERIC * #{UNIT_PRICE}::NUMERIC, + DELIVERY_REQUEST_DATE = CASE WHEN #{DELIVERY_REQUEST_DATE} IS NOT NULL AND #{DELIVERY_REQUEST_DATE} != '' THEN #{DELIVERY_REQUEST_DATE} ELSE NULL END, EDIT_DATE = NOW() WHERE OBJID = #{OBJID}::NUMERIC @@ -5191,6 +5193,9 @@ ORDER BY V.PATH2 PROCESSING_UNIT_PRICE = #{UNIT_PRICE}::NUMERIC + + , DELIVERY_REQUEST_DATE = #{DELIVERY_REQUEST_DATE} + , EDIT_DATE = NOW() WHERE OBJID IN ( SELECT MD2.OBJID diff --git a/src/com/pms/salesmgmt/service/SalesMngService.java b/src/com/pms/salesmgmt/service/SalesMngService.java index 8abb060..616d505 100644 --- a/src/com/pms/salesmgmt/service/SalesMngService.java +++ b/src/com/pms/salesmgmt/service/SalesMngService.java @@ -2458,19 +2458,22 @@ public class SalesMngService { String salesRequestPartObjid = CommonUtils.checkNull(detail.get("SALES_REQUEST_PART_OBJID")); String unitPrice = CommonUtils.checkNull(detail.get("UNIT_PRICE")); String qty = CommonUtils.checkNull(detail.get("QTY")); + String deliveryRequestDate = CommonUtils.checkNull(detail.get("DELIVERY_REQUEST_DATE")); - // 1. 견적요청서 상세 단가 업데이트 + // 1. 견적요청서 상세 단가/입고요청일 업데이트 Map updateParam = new HashMap(); updateParam.put("OBJID", detailObjid); updateParam.put("UNIT_PRICE", unitPrice); updateParam.put("QTY", qty); + updateParam.put("DELIVERY_REQUEST_DATE", deliveryRequestDate); sqlSession.update("salesMng.updateQuotationRequestDetailPrice", updateParam); - // 2. 구매리스트 단가 업데이트 + // 2. 구매리스트 단가/입고요청일 업데이트 Map purchaseUpdateParam = new HashMap(); purchaseUpdateParam.put("SALES_REQUEST_PART_OBJID", salesRequestPartObjid); purchaseUpdateParam.put("UNIT_PRICE", unitPrice); purchaseUpdateParam.put("VENDOR_TYPE", vendorType); + purchaseUpdateParam.put("DELIVERY_REQUEST_DATE", deliveryRequestDate); sqlSession.update("salesMng.updatePurchaseListPriceFromQuotation", purchaseUpdateParam); } -- 2.49.1