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..f297bf0 100644
--- a/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp
+++ b/WebContent/WEB-INF/view/salesmgmt/salesMgmt/salesRegForm.jsp
@@ -7,13 +7,51 @@
판매 등록
+