diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/common.xml b/WebContent/WEB-INF/classes/com/pms/mapper/common.xml
index 7a001af..ea79b04 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/common.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/common.xml
@@ -2736,6 +2736,24 @@ ORDER BY COALESCE(T.REVISION, '1.0')
ORDER BY SUPPLY_NAME
+
+
+ SELECT
+ OBJID::VARCHAR AS CODE
+ ,SUPPLY_NAME AS NAME
+ ,OBJID::VARCHAR AS CODE_ID
+ ,SUPPLY_NAME AS CODE_NAME
+ FROM ADMIN_SUPPLY_MNG
+ UNION ALL
+ SELECT
+ 'C_' || OBJID::VARCHAR AS CODE
+ ,CLIENT_NM AS NAME
+ ,'C_' || OBJID::VARCHAR AS CODE_ID
+ ,CLIENT_NM AS CODE_NAME
+ FROM CLIENT_MNG
+ ORDER BY NAME
+
+
SELECT
diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml b/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml
index f962473..cb0e8d0 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml
@@ -4416,6 +4416,10 @@
''
) AS PRODUCT_NAME,
CM.CATEGORY_CD AS CATEGORY_CODE,
+ COALESCE(
+ (SELECT CODE_NAME FROM COMM_CODE WHERE CODE_ID = CM.CATEGORY_CD LIMIT 1),
+ CM.CATEGORY_CD
+ ) AS CATEGORY_CODE_NAME,
-- 생산유형 (TODO: 실제 컬럼명 확인 필요)
'' AS PRODUCTION_TYPE,
'' AS PRODUCTION_TYPE_NAME,
@@ -4472,9 +4476,12 @@
WHERE 1=1
AND PM.PROJECT_NO IS NOT NULL
AND PM.PROJECT_NO != ''
-
-
- AND UPPER(PM.PROJECT_NO) LIKE '%' || UPPER(#{search_project_no}) || '%'
+
+
+ AND PM.OBJID::VARCHAR IN
+
+ #{projNo}
+
@@ -4488,9 +4495,13 @@
AND 1=1
-
+
- AND CM.CUSTOMER_OBJID = #{search_customer_objid}
+ AND (
+ CM.CUSTOMER_OBJID = #{search_customer_objid}
+ OR CM.CUSTOMER_OBJID = REPLACE(#{search_customer_objid}, 'C_', '')
+ OR REPLACE(CM.CUSTOMER_OBJID, 'C_', '') = REPLACE(#{search_customer_objid}, 'C_', '')
+ )
diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml
index b0b40d3..8e0354b 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml
@@ -2944,7 +2944,7 @@ WHERE 1=1
AND EXISTS (
SELECT 'E' FROM PROJECT_MGMT AS S_P
WHERE POM.CONTRACT_MGMT_OBJID = S_P.OBJID
- AND S_P.CUSTOMER_OBJID = #{customer_cd}
+ AND S_P.CUSTOMER_OBJID = REPLACE(#{customer_cd}, 'C_', '')
)
@@ -2972,7 +2972,7 @@ WHERE 1=1
AND TO_DATE(POM.DELIVERY_DATE ,'YYYY-MM-DD') TO_DATE(#{delivery_end_date}, 'YYYY-MM-DD')
- AND POM.PARTNER_OBJID = #{partner_objid}
+ AND POM.PARTNER_OBJID = REPLACE(#{partner_objid}, 'C_', '')
AND POM.SALES_MNG_USER_ID = #{sales_mng_user_id}
@@ -3107,7 +3107,7 @@ SELECT
AND EXISTS (
SELECT 'E' FROM PROJECT_MGMT AS S_P
WHERE POM.CONTRACT_MGMT_OBJID = S_P.OBJID
- AND S_P.CUSTOMER_OBJID = #{customer_cd}
+ AND S_P.CUSTOMER_OBJID = REPLACE(#{customer_cd}, 'C_', '')
)
@@ -3135,7 +3135,7 @@ SELECT
AND TO_DATE(POM.DELIVERY_DATE ,'YYYY-MM-DD') TO_DATE(#{delivery_end_date}, 'YYYY-MM-DD')
- AND POM.PARTNER_OBJID = #{partner_objid}
+ AND POM.PARTNER_OBJID = REPLACE(#{partner_objid}, 'C_', '')
AND POM.SALES_MNG_USER_ID = #{sales_mng_user_id}
@@ -3337,7 +3337,7 @@ WHERE 1=1
AND EXISTS (
SELECT 'E' FROM PROJECT_MGMT AS S_P
WHERE POM.CONTRACT_MGMT_OBJID = S_P.OBJID
- AND S_P.CUSTOMER_OBJID = #{customer_cd}
+ AND S_P.CUSTOMER_OBJID = REPLACE(#{customer_cd}, 'C_', '')
)
@@ -3372,7 +3372,7 @@ WHERE 1=1
AND TO_DATE(POM.DELIVERY_DATE ,'YYYY-MM-DD') TO_DATE(#{delivery_end_date}, 'YYYY-MM-DD')
- AND POM.PARTNER_OBJID = #{partner_objid}
+ AND POM.PARTNER_OBJID = REPLACE(#{partner_objid}, 'C_', '')
)) THEN '입고완료'
+ AND (CASE WHEN 0 = ]]> ((SELECT SUM(ORDER_QTY::NUMERIC) FROM PURCHASE_ORDER_PART AS O WHERE POM.OBJID::VARCHAR = O.PURCHASE_ORDER_MASTER_OBJID) - (S1.TOTAL_DELIVERY_QTY )) THEN '입고완료'
WHEN TO_CHAR(NOW(),'YYYY-MM-DD') ]]> POM.DELIVERY_DATE THEN '지연'
ELSE '입고중'
END) = #{delivery_status}
diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml b/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
index a448a55..6f2cf41 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
@@ -827,32 +827,59 @@
ELSE '입고중'
END) = #{search_delivery_status}
-
+
- AND CM.PROJECT_NO IN
+ AND CM.OBJID::VARCHAR IN
#{item}
- AND IID.INSPECTOR_ID = #{inspector_id}
+ AND EXISTS (
+ SELECT 1 FROM INCOMING_INSPECTION_DETAIL IID_SUB
+ LEFT JOIN INCOMING_INSPECTION_DEFECT IDF_SUB ON IDF_SUB.INSPECTION_DETAIL_OBJID = IID_SUB.OBJID
+ WHERE IID_SUB.PURCHASE_ORDER_MASTER_OBJID = POM.OBJID::VARCHAR
+ AND IDF_SUB.INSPECTOR_ID = #{inspector_id}
+ )
- AND IID.INSPECTION_DATE = ]]> #{inspection_start_date}
+ AND EXISTS (
+ SELECT 1 FROM INCOMING_INSPECTION_DETAIL IID_SUB
+ LEFT JOIN INCOMING_INSPECTION_DEFECT IDF_SUB ON IDF_SUB.INSPECTION_DETAIL_OBJID = IID_SUB.OBJID
+ WHERE IID_SUB.PURCHASE_ORDER_MASTER_OBJID = POM.OBJID::VARCHAR
+ AND IDF_SUB.INSPECTION_DATE = ]]> TO_DATE(#{inspection_start_date}, 'YYYY-MM-DD')
+ )
- AND IID.INSPECTION_DATE #{inspection_end_date}
+ AND EXISTS (
+ SELECT 1 FROM INCOMING_INSPECTION_DETAIL IID_SUB
+ LEFT JOIN INCOMING_INSPECTION_DEFECT IDF_SUB ON IDF_SUB.INSPECTION_DETAIL_OBJID = IID_SUB.OBJID
+ WHERE IID_SUB.PURCHASE_ORDER_MASTER_OBJID = POM.OBJID::VARCHAR
+ AND IDF_SUB.INSPECTION_DATE TO_DATE(#{inspection_end_date}, 'YYYY-MM-DD')
+ )
- AND (CASE WHEN IID.NG_COUNT > 0 THEN 'NG'
- WHEN IID.TOTAL_COUNT > 0 AND IID.TOTAL_COUNT = IID.INSPECTED_COUNT THEN 'OK'
- WHEN IID.INSPECTED_COUNT > 0 THEN '검사중'
+ AND (CASE WHEN DEFECT.NG_COUNT > 0 THEN 'NG'
+ WHEN DEFECT.INSPECTION_TARGET_COUNT > 0 AND DEFECT.INSPECTION_TARGET_COUNT = DEFECT.INSPECTED_COUNT THEN 'OK'
+ WHEN DEFECT.INSPECTED_COUNT > 0 THEN '검사중'
ELSE '' END) = #{search_inspection_result}
+
+
+ AND IID.REQUEST_USER_ID = #{request_user_id}
+
+
+
+ AND IID.REQUEST_DATE = ]]> #{request_start_date}
+
+
+
+ AND IID.REQUEST_DATE #{request_end_date}
+
AND REQ.DELIVERY_TOTAL_COUNT = REQ.SELECTED_COUNT
@@ -1096,23 +1123,23 @@
WHERE PID.MASTER_OBJID = PIM.OBJID
AND PM.PRODUCT = #{productType})
- /* 품번 */
+ /* 품번 (OBJID 또는 품번 텍스트로 검색) */
AND EXISTS (SELECT 1 FROM PROCESS_INSPECTION_DETAIL PID
WHERE PID.MASTER_OBJID = PIM.OBJID
- AND PID.PART_OBJID = #{search_part_objid})
+ AND (PID.PART_OBJID = #{search_part_objid} OR UPPER(PID.PART_NO) LIKE '%' || UPPER(#{search_part_objid}) || '%'))
- /* 품명 */
+ /* 품명 (LIKE 검색) */
AND EXISTS (SELECT 1 FROM PROCESS_INSPECTION_DETAIL PID
WHERE PID.MASTER_OBJID = PIM.OBJID
- AND PID.PART_OBJID = #{search_part_name})
+ AND UPPER(PID.PART_NAME) LIKE '%' || UPPER(#{search_part_name}) || '%')
- /* 작업환경상태 */
+ /* 작업환경상태 (화면 표시 로직과 동일하게: 하나라도 불량이면 불량) */
- AND EXISTS (SELECT 1 FROM PROCESS_INSPECTION_DETAIL PID
- WHERE PID.MASTER_OBJID = PIM.OBJID
- AND PID.WORK_ENV_STATUS = CASE WHEN #{search_work_env_status} = 'OK' THEN '양호' ELSE '불량' END)
+ AND (SELECT CASE WHEN COUNT(CASE WHEN PID.WORK_ENV_STATUS = '불량' THEN 1 END) > 0 THEN '불량' ELSE '양호' END
+ FROM PROCESS_INSPECTION_DETAIL PID WHERE PID.MASTER_OBJID = PIM.OBJID
+ ) = CASE WHEN #{search_work_env_status} = 'OK' THEN '양호' ELSE '불량' END
/* 측정기 */
diff --git a/WebContent/WEB-INF/view/productionplanning/prodPlanResultMgmtList.jsp b/WebContent/WEB-INF/view/productionplanning/prodPlanResultMgmtList.jsp
index 2e05b9f..4a25b1a 100644
--- a/WebContent/WEB-INF/view/productionplanning/prodPlanResultMgmtList.jsp
+++ b/WebContent/WEB-INF/view/productionplanning/prodPlanResultMgmtList.jsp
@@ -138,7 +138,7 @@ var columns = [
hozAlign: 'center',
width: 80,
title: '주문유형',
- field: 'CATEGORY_CODE'
+ field: 'CATEGORY_CODE_NAME'
},
// 5. 생산유형
@@ -299,6 +299,23 @@ var columns = [
// 검색 함수
function fn_search(){
+ // multiple select 값을 콤마로 join해서 hidden input에 설정
+ var projectNos = $("#search_project_no").val();
+ console.log("=== 프로젝트번호 검색 디버그 ===");
+ console.log("projectNos:", projectNos);
+ console.log("projectNos type:", typeof projectNos);
+ console.log("projectNos length:", projectNos ? projectNos.length : 0);
+
+ if(projectNos && projectNos.length > 0) {
+ var joinedVal = projectNos.join(",");
+ console.log("joined value:", joinedVal);
+ $("#search_project_nos_hidden").val(joinedVal);
+ } else {
+ $("#search_project_nos_hidden").val("");
+ }
+ console.log("hidden input value:", $("#search_project_nos_hidden").val());
+ console.log("================================");
+
_tabulGrid = fnc_tabul_search(_tabul_layout_fitColumns, _tabulGrid, "/productionplanning/prodPlanResultMgmtGridList.do", columns, true);
}
@@ -413,6 +430,7 @@ function getCheckedRows() {