diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml b/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml
index a98532c..f79103a 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/productionplanning.xml
@@ -3137,6 +3137,7 @@
PM.CONTRACT_OBJID,
PM.PROJECT_NO,
PM.BOM_REPORT_OBJID,
+ PM.PART_OBJID,
PM.PART_NO,
PM.PART_NAME,
PM.SOURCE_BOM_TYPE,
@@ -3293,6 +3294,7 @@
0 AS PO_QTY,
'' AS VENDOR,
0 AS UNIT_PRICE,
+ 0 AS PROCESSING_UNIT_PRICE,
0 AS TOTAL_PRICE,
1 AS LEVEL
FROM
@@ -3373,6 +3375,7 @@
0 AS PO_QTY,
'' AS VENDOR,
0 AS UNIT_PRICE,
+ 0 AS PROCESSING_UNIT_PRICE,
0 AS TOTAL_PRICE,
1 AS LEVEL
FROM
@@ -3426,6 +3429,7 @@
MH.BEFORE_DATA,
MH.AFTER_DATA,
MH.CHANGE_USER,
+ USER_NAME(MH.CHANGE_USER) AS CHANGE_USER_NAME,
TO_CHAR(MH.CHANGE_DATE, 'YYYY-MM-DD HH24:MI:SS') AS CHANGE_DATE,
-- MBOM_HEADER 정보 조인
MHD.MBOM_NO AS MBOM_PART_NO,
@@ -3848,7 +3852,7 @@
PROCESSING_VENDOR, PROCESSING_DEADLINE, GRINDING_DEADLINE,
REQUIRED_QTY, ORDER_QTY, PRODUCTION_QTY, STOCK_QTY, SHORTAGE_QTY,
NET_QTY, PO_QTY,
- VENDOR, UNIT_PRICE, TOTAL_PRICE, CURRENCY, LEAD_TIME, MIN_ORDER_QTY,
+ VENDOR, UNIT_PRICE, PROCESSING_UNIT_PRICE, TOTAL_PRICE, CURRENCY, LEAD_TIME, MIN_ORDER_QTY,
PROPOSAL_DATE,
@@ -3861,7 +3865,7 @@
#{processingVendor}, #{processingDeadline}, #{grindingDeadline},
#{requiredQty}, #{orderQty}, #{productionQty}, #{stockQty}, #{shortageQty},
#{netQty}, #{poQty},
- #{vendor}, #{unitPrice}, #{totalPrice}, #{currency}, #{leadTime}, #{minOrderQty},
+ #{vendor}, #{unitPrice}, #{processingUnitPrice}, #{totalPrice}, #{currency}, #{leadTime}, #{minOrderQty},
#{proposalDate},
@@ -4047,6 +4051,7 @@
MD.PO_QTY,
MD.VENDOR,
MD.UNIT_PRICE,
+ MD.PROCESSING_UNIT_PRICE,
MD.TOTAL_PRICE,
MD.CURRENCY,
MD.LEAD_TIME,
@@ -4100,6 +4105,7 @@
SHORTAGE_QTY,
VENDOR,
UNIT_PRICE,
+ PROCESSING_UNIT_PRICE,
TOTAL_PRICE,
CURRENCY,
LEAD_TIME,
@@ -4144,6 +4150,7 @@
A.SHORTAGE_QTY,
A.VENDOR,
A.UNIT_PRICE,
+ A.PROCESSING_UNIT_PRICE,
A.TOTAL_PRICE,
A.CURRENCY,
A.LEAD_TIME,
@@ -4196,6 +4203,7 @@
B.SHORTAGE_QTY,
B.VENDOR,
B.UNIT_PRICE,
+ B.PROCESSING_UNIT_PRICE,
B.TOTAL_PRICE,
B.CURRENCY,
B.LEAD_TIME,
@@ -4248,6 +4256,7 @@
V.VENDOR,
(SELECT CLIENT_NM FROM CLIENT_MNG WHERE OBJID::VARCHAR = V.VENDOR) AS VENDOR_NAME,
V.UNIT_PRICE,
+ V.PROCESSING_UNIT_PRICE,
V.TOTAL_PRICE,
V.CURRENCY,
V.LEAD_TIME,
@@ -4410,6 +4419,7 @@
NULL AS SHORTAGE_QTY,
NULL AS VENDOR,
NULL AS UNIT_PRICE,
+ NULL AS PROCESSING_UNIT_PRICE,
NULL AS TOTAL_PRICE,
NULL AS CURRENCY,
NULL AS LEAD_TIME,
@@ -4931,4 +4941,93 @@
WHERE PROJECT_OBJID = #{projectObjid}
+
+
+
+
+
+
diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml
index 56624c4..320d447 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/purchaseOrder.xml
@@ -879,10 +879,15 @@
SELECT
SRP.OBJID,
SRP.PART_OBJID,
- SRP.QTY,
- COALESCE(SRP.PO_QTY, SRP.QTY::NUMERIC, 0) AS ORDER_QTY, -- 발주수량 (PO_QTY 우선, 없으면 QTY)
- SRP.UNIT_PRICE AS PARTNER_PRICE,
- SRP.TOTAL_PRICE,
+ COALESCE(NULLIF(SRP.QTY::VARCHAR, ''), '0') AS QTY,
+ -- 발주수량: PO_QTY가 있고 0보다 크면 사용, 아니면 QTY 사용
+ CASE
+ WHEN SRP.PO_QTY IS NOT NULL AND SRP.PO_QTY::NUMERIC > 0 THEN SRP.PO_QTY::VARCHAR
+ WHEN SRP.QTY IS NOT NULL THEN SRP.QTY::VARCHAR
+ ELSE '0'
+ END AS ORDER_QTY,
+ COALESCE(SRP.UNIT_PRICE, 0) AS PARTNER_PRICE,
+ COALESCE(SRP.TOTAL_PRICE, 0) AS TOTAL_PRICE,
SRP.VENDOR_PM AS PARTNER_OBJID,
PM.PART_NO,
PM.PART_NAME,
@@ -3317,7 +3322,7 @@ SELECT POM.OBJID
ON POM.CONTRACT_MGMT_OBJID = CM.OBJID
left outer join SALES_REQUEST_MASTER as SRM
on POM.SALES_REQUEST_OBJID = SRM.OBJID
- and SRM.DOC_TYPE = 'PROPOSAL'
+ and SRM.DOC_TYPE IN ('PROPOSAL', 'PURCHASE_REG_PROPOSAL')
,TO_CHAR(POM.REGDATE,'YYYY') AS POM_YEAR
,(SELECT SUPPLY_NAME FROM SUPPLY_MNG AS O WHERE O.OBJID::VARCHAR = CM.CUSTOMER_OBJID) AS CUSTOMER_NAME
@@ -6123,4 +6129,192 @@ FROM(
ORDER BY PART_NO
+
+
+
+
+
+ UPDATE PURCHASE_ORDER_MASTER
+ SET STATUS = #{STATUS}
+ WHERE OBJID = #{OBJID}
+
+
+
+
+ UPDATE PURCHASE_ORDER_MASTER
+ SET STATUS = #{STATUS}
+ WHERE MULTI_MASTER_OBJID = #{OBJID}
+
+
+
+
+
\ No newline at end of file
diff --git a/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml b/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
index e290c55..ed91339 100644
--- a/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
+++ b/WebContent/WEB-INF/classes/com/pms/mapper/quality.xml
@@ -1208,6 +1208,12 @@
AND (SELECT CASE WHEN COUNT(CASE WHEN PID.INSPECTION_RESULT = 'NG' THEN 1 END) > 0 THEN 'NG' ELSE 'OK' END
FROM PROCESS_INSPECTION_DETAIL PID WHERE PID.MASTER_OBJID = PIM.OBJID) = #{search_inspection_result}
+ /* 진행공정 */
+
+ AND EXISTS (SELECT 1 FROM PROCESS_INSPECTION_DETAIL PID
+ WHERE PID.MASTER_OBJID = PIM.OBJID
+ AND PID.PROCESS_CD = #{search_process_cd})
+
ORDER BY PIM.REG_DATE DESC
@@ -1411,6 +1417,10 @@
AND PID.INSPECTION_RESULT = #{search_inspection_result}
+ /* 진행공정 */
+
+ AND PID.PROCESS_CD = #{search_process_cd}
+
ORDER BY PIM.INSPECTION_DATE DESC, PIM.REG_DATE DESC, PID.REG_DATE
@@ -1486,17 +1496,17 @@
AND (T2.INSPECTOR IS NOT NULL OR T2.WRITER IS NOT NULL)) sub
WHERE val IS NOT NULL AND val != ''
) AS WRITER_NAME
-
- , SUM(T.RECEIPT_QTY) AS RECEIPT_QTY
- , SUM(T.GOOD_QTY) AS GOOD_QTY
- , SUM(T.DEFECT_QTY) AS DEFECTIVE_QTY
+
+ , SUM(CASE WHEN T.DATA_TYPE = 'GOOD' THEN T.RECEIPT_QTY ELSE 0 END) AS RECEIPT_QTY
+ , SUM(CASE WHEN T.DATA_TYPE = 'GOOD' THEN T.GOOD_QTY ELSE 0 END) AS GOOD_QTY
+ , SUM(CASE WHEN T.DATA_TYPE = 'DEFECT' THEN T.DEFECT_QTY ELSE 0 END) AS DEFECTIVE_QTY
, CASE
- WHEN SUM(T.RECEIPT_QTY) > 0
- THEN ROUND(SUM(T.DEFECT_QTY) * 100.0 / SUM(T.RECEIPT_QTY), 2)
+ WHEN SUM(CASE WHEN T.DATA_TYPE = 'GOOD' THEN T.RECEIPT_QTY ELSE 0 END) > 0
+ THEN ROUND(SUM(CASE WHEN T.DATA_TYPE = 'DEFECT' THEN T.DEFECT_QTY ELSE 0 END) * 100.0 / SUM(CASE WHEN T.DATA_TYPE = 'GOOD' THEN T.RECEIPT_QTY ELSE 0 END), 2)
ELSE 0
END AS DEFECT_RATE
- , SUM(CASE WHEN T.DISPOSITION_TYPE = '수정' THEN T.DEFECT_QTY ELSE 0 END) AS REGENERATION_QTY
- , SUM(T.GOOD_QTY) + SUM(CASE WHEN T.DISPOSITION_TYPE = '수정' THEN T.DEFECT_QTY ELSE 0 END) AS FINAL_GOOD_QTY
+ , SUM(CASE WHEN T.DATA_TYPE = 'DEFECT' AND T.DISPOSITION_TYPE = '수정' THEN T.DEFECT_QTY ELSE 0 END) AS REGENERATION_QTY
+ , SUM(CASE WHEN T.DATA_TYPE = 'GOOD' THEN T.GOOD_QTY ELSE 0 END) + SUM(CASE WHEN T.DATA_TYPE = 'DEFECT' AND T.DISPOSITION_TYPE = '수정' THEN T.DEFECT_QTY ELSE 0 END) AS FINAL_GOOD_QTY
FROM (
SELECT SPI.OBJID
, COALESCE(SPI.MODEL_NAME, '') AS MODEL_NAME
@@ -1537,6 +1547,14 @@
AND SPI.WRITER = #{search_writer}
+
+
+ AND UPPER(SPI.DEFECT_TYPE) LIKE UPPER('%' || #{search_defect_type} || '%')
+
+
+
+ AND UPPER(SPI.RESPONSIBLE_DEPT) LIKE UPPER('%' || #{search_responsible_dept} || '%')
+
) T
GROUP BY T.INSPECTION_GROUP_ID
ORDER BY MIN(T.INSPECTION_DATE) DESC, T.INSPECTION_GROUP_ID
@@ -1645,6 +1663,24 @@
ORDER BY NAME
+
+
+
+
+
+
-
-