上工序已完成报表SQL修改

master
yinq 2 years ago
parent d8ebdb37ee
commit e9bf31496d

@ -2127,71 +2127,73 @@
</if>
</select>
<select id="lastOperationCompletedReport" resultType="java.util.Map" parameterType="java.util.HashMap">
--上工序已完成报表
SELECT WIP.*,
CASE
WHEN WIP.BEFORE_SEQ = 0
THEN NULL
ELSE ot.DESCRIPTION END LAST_DESCRIPTION,
CASE
WHEN WIP.BEFORE_SEQ = 0
THEN NULL
ELSE V1.EMPLOYEE_DESCRIPTION END LAST_EMPLOYEE
CASE
WHEN WIP.BEFORE_SEQ = 0
THEN NULL
ELSE ot.DESCRIPTION END LAST_DESCRIPTION,
CASE
WHEN WIP.BEFORE_SEQ = 0
THEN NULL
ELSE V1.EMPLOYEE_DESCRIPTION END LAST_EMPLOYEE
FROM (
SELECT wct.DESCRIPTION WORK_CENTER_DESCRIPTION,
o.OPERATION OPERATION,
ot.DESCRIPTION OPERATION_DESCRIPTION,
rs.DESCRIPTION RESRCE_DESCRIPTION,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.DISPATCH_NO DISPATCH_NO,
cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
WIP.COMPONENT_DESCRIPTION COMPONENT_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
CASE
WHEN zsd.DISPATCH_STATUS = 'NEW' THEN N'新建'
WHEN zsd.DISPATCH_STATUS = 'RELEASE' THEN N'发布'
WHEN zsd.DISPATCH_STATUS = 'START' THEN N'已开始'
END AS DISPATCH_STATUS,
zsd.DISPATCH_QTY DISPATCH_QTY,
zsd.PROD_HOURS PROD_HOURS,
TO_CHAR(zsd.DISPATCH_QTY * zsd.PROD_HOURS, '99990.99') TOTAL_PROD_HOURS,
zsd.SITE SITE,
s.SFC SFC,
zsd.DISPATCH_SEQ - 1 BEFORE_SEQ,
zsd.PLANNED_START_DATE PLANNED_START_DATE,
zsd.PLANNED_COMP_DATE PLANNED_COMP_DATE,
zsd.ACTUAL_START_DATE ACTUAL_START_DATE
FROM Z_SFC_DISPATCH zsd
INNER JOIN WORK_CENTER wc ON wc.WORK_CENTER = zsd.WORK_CENTER AND wc.SITE = zsd.SITE
LEFT JOIN WORK_CENTER_T wct ON wct.WORK_CENTER_BO = wc.HANDLE AND wct.LOCALE = 'zh'
LEFT JOIN SFC s ON s.SFC = zsd.SFC AND s.SITE = zsd.SITE
LEFT JOIN RESRCE rs ON zsd.SITE = rs.SITE AND zsd.RESRCE = rs.RESRCE
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
LEFT JOIN CUSTOM_FIELDS cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN OPERATION o ON o.OPERATION = zsd.OPERATION AND o.SITE = zsd.SITE
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE AND ot.LOCALE = 'zh'
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE
LEFT JOIN (SELECT S.SFC,
LISTAGG(ct.DESCRIPTION, ',') WITHIN GROUP (ORDER BY S.SFC ) COMPONENT_DESCRIPTION
FROM SFC S
LEFT JOIN SFC_BOM SB ON SB.SFC_BO = S.HANDLE
LEFT JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
LEFT JOIN ITEM CP ON CP.HANDLE = BC.COMPONENT_GBO
LEFT JOIN ITEM_T ct ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh'
GROUP BY S.SFC) WIP ON WIP.SFC = s.SFC
WHERE (zsd.DISPATCH_STATUS = 'NEW'
OR zsd.DISPATCH_STATUS = 'RELEASE'
OR zsd.DISPATCH_STATUS = 'START')
ORDER BY wct.DESCRIPTION, zsd.DISPATCH_NO DESC) WIP
LEFT JOIN Z_SFC_DISPATCH V1
ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
LEFT JOIN OPERATION o ON o.OPERATION = V1.OPERATION AND o.SITE = V1.SITE
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE AND ot.LOCALE = 'zh'
WHERE 1=1
SELECT wct.DESCRIPTION WORK_CENTER_DESCRIPTION,
o.OPERATION OPERATION,
ot.DESCRIPTION OPERATION_DESCRIPTION,
rs.DESCRIPTION RESRCE_DESCRIPTION,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.DISPATCH_NO DISPATCH_NO,
cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
WIP.COMPONENT_DESCRIPTION COMPONENT_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
CASE
WHEN zsd.DISPATCH_STATUS = 'NEW' THEN N'新建'
WHEN zsd.DISPATCH_STATUS = 'RELEASE' THEN N'发布'
WHEN zsd.DISPATCH_STATUS = 'START' THEN N'已开始'
END AS DISPATCH_STATUS,
zsd.DISPATCH_QTY DISPATCH_QTY,
zsd.PROD_HOURS PROD_HOURS,
TO_CHAR(zsd.DISPATCH_QTY * zsd.PROD_HOURS, '99990.99') TOTAL_PROD_HOURS,
zsd.SITE SITE,
s.SFC SFC,
ZSD.DISPATCH_SEQ - 1 BEFORE_SEQ,
zsd.PREPOSITION_OPERATION PREPOSITION_OPERATION,
zsd.ROUTER_BO ROUTER_BO,
zsd.PLANNED_START_DATE PLANNED_START_DATE,
zsd.PLANNED_COMP_DATE PLANNED_COMP_DATE,
zsd.ACTUAL_START_DATE ACTUAL_START_DATE
FROM Z_SFC_DISPATCH zsd
INNER JOIN WORK_CENTER wc ON wc.WORK_CENTER = zsd.WORK_CENTER AND wc.SITE = zsd.SITE
LEFT JOIN WORK_CENTER_T wct ON wct.WORK_CENTER_BO = wc.HANDLE AND wct.LOCALE = 'zh'
LEFT JOIN SFC s ON s.SFC = zsd.SFC AND s.SITE = zsd.SITE
LEFT JOIN RESRCE rs ON zsd.SITE = rs.SITE AND zsd.RESRCE = rs.RESRCE
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
LEFT JOIN CUSTOM_FIELDS cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN OPERATION o ON o.OPERATION = zsd.OPERATION AND o.SITE = zsd.SITE
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE AND ot.LOCALE = 'zh'
LEFT JOIN ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE
LEFT JOIN (SELECT S.SFC,
LISTAGG(ct.DESCRIPTION, ',') WITHIN GROUP (ORDER BY S.SFC ) COMPONENT_DESCRIPTION
FROM SFC S
LEFT JOIN SFC_BOM SB ON SB.SFC_BO = S.HANDLE
LEFT JOIN BOM_COMPONENT BC ON BC.BOM_BO = SB.BOM_BO
LEFT JOIN ITEM CP ON CP.HANDLE = BC.COMPONENT_GBO
LEFT JOIN ITEM_T ct ON CT.ITEM_BO = CP.HANDLE AND CT.LOCALE = 'zh'
GROUP BY S.SFC) WIP ON WIP.SFC = s.SFC
WHERE zsd.DISPATCH_STATUS = 'NEW'
ORDER BY wct.DESCRIPTION, zsd.DISPATCH_NO DESC) WIP
LEFT JOIN Z_SFC_DISPATCH V1
ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.ROUTER_BO = WIP.ROUTER_BO
AND V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
LEFT JOIN OPERATION o ON o.OPERATION = V1.OPERATION AND o.SITE = V1.SITE
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE AND ot.LOCALE = 'zh'
WHERE 1 = 1
<if test="workOrder != null and workOrder != ''">
AND WIP.WORK_ORDER = #{workOrder}
</if>
@ -2404,7 +2406,7 @@ SELECT zab.CREATED_DATE_TIME,
INNER JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zab.HANDLE = zabd.ABNORMAL_BILL_BO
INNER JOIN Z_ABNORMAL_NC_CODE zanc ON zab.HANDLE = zanc.ABNORMAL_BILL_BO
INNER JOIN NC_CODE nc ON zanc.NC_CODE = nc.NC_CODE AND nc.SITE = zab.SITE
INNER JOIN NC_CODE_T nct ON nct.NC_CODE_BO = nc.HANDLE
INNER JOIN NC_CODE_T nct ON nct.NC_CODE_BO = nc.HANDLE AND nct.LOCALE = 'zh'
INNER JOIN ITEM i ON i.HANDLE = zab.ITEM_BO
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE
INNER JOIN DATA_FIELD df ON df.DATA_FIELD = 'PRODUCT_CATEGORY'

Loading…
Cancel
Save