From bbf91df26e581ed0120b9bca20a850049ee533f7 Mon Sep 17 00:00:00 2001 From: Johngreen Date: Wed, 22 Oct 2025 17:22:02 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=81=EC=97=85=EA=B4=80=EB=A6=AC=5F?= =?UTF-8?q?=ED=8C=90=EB=A7=A4=EA=B4=80=EB=A6=AC=EC=97=85=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile.dev | 3 + .../classes/com/pms/mapper/project.xml | 29 +- .../salesmgmt/mapper/salesNcollectMgmt.xml | 565 +++++++++++++++--- .../view/project/projectMgmtWbsList3.jsp | 29 +- .../salesmgmt/salesMgmt/revenueMgmtList.jsp | 2 +- .../salesmgmt/salesMgmt/salesMgmtList.jsp | 146 ++--- .../view/salesmgmt/salesMgmt/salesRegForm.jsp | 550 ++++++++++++++++- src/com/pms/mapper/project.xml | 29 +- .../SalesNcollectMgmtController.java | 15 + .../salesmgmt/mapper/salesNcollectMgmt.xml | 565 +++++++++++++++--- .../service/SalesNcollectMgmtService.java | 11 +- tomcat-conf/server.xml | 39 ++ 12 files changed, 1653 insertions(+), 330 deletions(-) create mode 100644 tomcat-conf/server.xml diff --git a/Dockerfile.dev b/Dockerfile.dev index eef6b35..03e8b29 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -10,6 +10,9 @@ COPY src /usr/local/tomcat/webapps/ROOT/WEB-INF/src # Copy custom Tomcat context configuration for JNDI COPY ./tomcat-conf/context.xml /usr/local/tomcat/conf/context.xml +# Copy custom Tomcat server configuration for URIEncoding +COPY ./tomcat-conf/server.xml /usr/local/tomcat/conf/server.xml + # Copy database driver if needed (PostgreSQL driver is already in WEB-INF/lib) # COPY path/to/postgresql-driver.jar /usr/local/tomcat/lib/ diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/project.xml b/WebContent/WEB-INF/classes/com/pms/mapper/project.xml index 4dbf72e..6f3f4bd 100644 --- a/WebContent/WEB-INF/classes/com/pms/mapper/project.xml +++ b/WebContent/WEB-INF/classes/com/pms/mapper/project.xml @@ -3907,15 +3907,26 @@ ,CODE_NAME(MANUFACTURE_PLANT) AS MANUFACTURE_PLANT_NAME ,CONTRACT_RESULT ,CODE_NAME(CONTRACT_RESULT) AS CONTRACT_RESULT_NAME - ,CODE_NAME(AREA_CD) AS AREA_NAME - ,PROJECT_NAME - ,(SELECT CODE_NAME(O.PAID_TYPE) FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS FREE_OF_CHARGE - ,(SELECT O.QUANTITY FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS CONTRACT_QTY - ,(SELECT O.PART_NO FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS PRODUCT_ITEM_CODE - ,(SELECT O.PART_NAME FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS PRODUCT_ITEM_NAME - ,(SELECT O.SERIAL_NO FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS SERIAL_NO -영업관리_주문서관리_수주등록 ,EBOM_STATUS - ,MBOM_STATUS + ,CODE_NAME(AREA_CD) AS AREA_NAME + ,PROJECT_NAME + ,(SELECT + CASE + WHEN O.PAID_TYPE = 'paid' THEN '유상' + WHEN O.PAID_TYPE = 'free' THEN '무상' + ELSE O.PAID_TYPE + END + FROM CONTRACT_MGMT AS O WHERE O.OBJID = T.CONTRACT_OBJID) AS FREE_OF_CHARGE + ,(SELECT SUM(O.QUANTITY) FROM CONTRACT_ITEM AS O WHERE O.CONTRACT_OBJID = T.CONTRACT_OBJID) AS CONTRACT_QTY + ,(SELECT STRING_AGG(O.PART_NO, ', ' ORDER BY O.SEQ) FROM CONTRACT_ITEM AS O WHERE O.CONTRACT_OBJID = T.CONTRACT_OBJID AND O.PART_NO IS NOT NULL AND O.PART_NO != '') AS PRODUCT_ITEM_CODE + ,(SELECT STRING_AGG(O.PART_NAME, ', ' ORDER BY O.SEQ) FROM CONTRACT_ITEM AS O WHERE O.CONTRACT_OBJID = T.CONTRACT_OBJID AND O.PART_NAME IS NOT NULL AND O.PART_NAME != '') AS PRODUCT_ITEM_NAME + ,(SELECT STRING_AGG(S.SERIAL_NO, ', ' ORDER BY S.SEQ) + FROM CONTRACT_ITEM AS I + LEFT JOIN CONTRACT_ITEM_SERIAL AS S ON S.ITEM_OBJID = I.OBJID AND S.STATUS = 'ACTIVE' + WHERE I.CONTRACT_OBJID = T.CONTRACT_OBJID + AND S.SERIAL_NO IS NOT NULL) AS SERIAL_NO + -- 영업관리_주문서관리_수주등록 + ,EBOM_STATUS + ,MBOM_STATUS ,(SELECT O.PURCHASE_DATE FROM PURCHASE_ORDER_MASTER AS O WHERE O.CONTRACT_MGMT_OBJID = T.CONTRACT_OBJID LIMIT 1) AS ORDER_DATE ,RECEIVING_RATE ,PRODUCTION_TEAM_12 diff --git a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml index c08aafe..3fd34e5 100644 --- a/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml +++ b/WebContent/WEB-INF/classes/com/pms/salesmgmt/mapper/salesNcollectMgmt.xml @@ -812,178 +812,328 @@ ,editEmpNo = #{cretEmpNo} /* 수정자 */ - + - + @@ -1139,5 +1289,256 @@ ) + + + /* salesNcollectMgmt.insertSaleRegistration - shipment_log에 판매 데이터 저장 */ + INSERT INTO shipment_log ( + target_objid, + log_type, + log_message, + split_quantity, + shipping_status, + sales_unit_price, + sales_supply_price, + sales_vat, + sales_total_amount, + sales_currency, + sales_exchange_rate, + serial_no, + shipping_date, + shipping_method, + manager_user_id, + incoterms, + is_split_record, + reg_date, + reg_user_id + ) VALUES ( + #{orderNo}, + 'SALES_REGISTRATION', + '판매 등록', + #{salesQuantity}::integer, + + + #{shippingOrderStatus}, + + + '', + + + #{salesUnitPrice}::numeric, + #{salesSupplyPrice}::numeric, + #{salesVat}::numeric, + #{salesTotalAmount}::numeric, + #{salesCurrency}, + #{salesExchangeRate}::numeric, + #{serialNo}, + + + TO_DATE(#{shippingDate}, 'YYYY-MM-DD'), + + + NULL, + + + #{shippingMethod}, + #{manager}, + #{incoterms}, + false, + NOW(), + #{cretEmpNo} + ) + + + + + diff --git a/WebContent/WEB-INF/view/project/projectMgmtWbsList3.jsp b/WebContent/WEB-INF/view/project/projectMgmtWbsList3.jsp index 43136df..4bd8c5a 100644 --- a/WebContent/WEB-INF/view/project/projectMgmtWbsList3.jsp +++ b/WebContent/WEB-INF/view/project/projectMgmtWbsList3.jsp @@ -131,14 +131,29 @@ var columns = [ //var grid; function fn_search(){ - var selectedValues = $("#project_no").val(); - - $('').attr({ - type: 'hidden', - name: 'project_nos', - value: selectedValues - }).appendTo('#form1'); + // 기존 project_nos hidden input 제거 + $('input[name="project_nos"]').remove(); + var selectedValues = $("#project_no").val(); + console.log('선택된 프로젝트 번호:', selectedValues); + + // 배열을 콤마로 구분된 문자열로 변환 + var projectNosValue = ''; + if(selectedValues && Array.isArray(selectedValues) && selectedValues.length > 0) { + projectNosValue = selectedValues.join(','); + } + console.log('전송할 project_nos 값:', projectNosValue); + + // hidden input 추가 (값이 있을 때만) + if(projectNosValue) { + $('').attr({ + type: 'hidden', + name: 'project_nos', + value: projectNosValue + }).appendTo('#form1'); + } + + console.log('Form 데이터:', $('#form1').serializeObject()); _tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/project/projectMgmtWbsGridList.do", columns, false); } diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp index edf7f78..a2f2ac8 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/revenueMgmtList.jsp @@ -47,7 +47,7 @@ @@ -247,7 +167,6 @@ function fn_splitShipment(){
-
@@ -301,28 +220,31 @@ function fn_splitShipment(){ - - - - + + + + - - - - - - + + + + + + ~ diff --git a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp index eb2111a..082bf66 100644 --- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp +++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp @@ -7,13 +7,51 @@ 판매 등록 +