@ -989,8 +989,11 @@
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE
INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true'
INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
LEFT JOIN Z_INSPECTION_TASK zit ON zsd.HANDLE = zit.SFC_DISPATCH_BO AND zit.STEP_ID = zsd.STEP_ID
LEFT JOIN (SELECT zit.HANDLE, zit.SHOP_ORDER, zit.MODIFY_USER
LEFT JOIN Z_NWA_USER znu ON znu.USER_NAME = zit.MODIFY_USER
FROM Z_INSPECTION_TASK zit
WHERE ROWID IN (SELECT MAX(ROWID) FROM Z_INSPECTION_TASK zit GROUP BY zit.SHOP_ORDER)) ZITK
ON zsd.SHOP_ORDER = ZITK.SHOP_ORDER
LEFT JOIN Z_NWA_USER znu ON znu.USER_NAME = ZITK.MODIFY_USER
<where >
<where >
zsd.DISPATCH_STATUS = 'COMPLETE'
zsd.DISPATCH_STATUS = 'COMPLETE'
AND zsd.SITE = #{site}
AND zsd.SITE = #{site}
@ -1010,18 +1013,29 @@
</select>
</select>
<select id= "itemTraceScheduleReport" parameterType= "java.util.HashMap" resultType= "java.util.HashMap" >
<select id= "itemTraceScheduleReport" parameterType= "java.util.HashMap" resultType= "java.util.HashMap" >
SELECT cf.VALUE ITEM_NUMBER,
SELECT cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC,
s.SFC SFC,
i.ITEM ITEM,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
it.DESCRIPTION ITEM_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
ot.DESCRIPTION OPERATION_DESCRIPTION,
ot.DESCRIPTION OPERATION_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.ACTUAL_ START_DATE ACTUAL_START_DATE,
zsd.START_DATE ACTUAL_START_DATE,
zsd.ACTUAL_COMPLETE_DATE ACTUAL_COMPLETE_DATE
zsd.ACTUAL_COMPLETE_DATE ACTUAL_COMPLETE_DATE
FROM Z_SFC_DISPATCH zsd
FROM (SELECT COMP.*,STAT.START_DATE
FROM (SELECT *
FROM (SELECT sd.*,
row_number() over (PARTITION BY sd.SFC ORDER BY sd.ACTUAL_COMPLETE_DATE DESC)
AS NEWINDEX
FROM Z_SFC_DISPATCH sd
WHERE sd.DISPATCH_STATUS = 'COMPLETE')
WHERE NEWINDEX = '1') COMP
LEFT JOIN (SELECT sd2.SFC, MIN(sd2.ACTUAL_START_DATE) START_DATE
FROM Z_SFC_DISPATCH sd2
WHERE sd2.DISPATCH_STATUS = 'COMPLETE'
GROUP BY sd2.SFC) STAT ON COMP.SFC = STAT.SFC) zsd
LEFT JOIN SFC s ON s.SFC = zsd.SFC AND s.SITE = zsd.SITE
LEFT JOIN SFC s ON s.SFC = zsd.SFC AND s.SITE = zsd.SITE
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
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 cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'ITEM_NUMBER'
@ -1035,7 +1049,7 @@
INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true'
INNER JOIN OPERATION o ON o.SITE = zsd.SITE AND o.OPERATION = zsd.OPERATION AND o.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
<where >
<where >
zsd.DISPATCH_STATUS = 'COMPLETE'
zsd.DISPATCH_STATUS = 'COMPLETE' AND ot.DESCRIPTION='下料'
AND zsd.SITE = #{site}
AND zsd.SITE = #{site}
<if test= "shopOrder != null and shopOrder != ''" >
<if test= "shopOrder != null and shopOrder != ''" >
AND zsd.SHOP_ORDER = #{shopOrder}
AND zsd.SHOP_ORDER = #{shopOrder}
@ -1057,7 +1071,9 @@
WHEN WIP.DISPATCH_STATUS = 'START' THEN N'已开始'
WHEN WIP.DISPATCH_STATUS = 'START' THEN N'已开始'
END AS DISPATCH_STATUS
END AS DISPATCH_STATUS
FROM (
FROM (
SELECT cf.VALUE ITEM_NUMBER,
SELECT zsd.OPERATION OPERATION,
rs.DESCRIPTION DESCRIPTION,
cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.DISPATCH_NO DISPATCH_NO,
zsd.DISPATCH_NO DISPATCH_NO,
@ -1078,9 +1094,10 @@
zsd.DISPATCH_SEQ - 1 BEFORE_SEQ,
zsd.DISPATCH_SEQ - 1 BEFORE_SEQ,
zsd.PLANNED_START_DATE PLANNED_START_DATE,
zsd.PLANNED_START_DATE PLANNED_START_DATE,
zsd.PLANNED_COMP_DATE PLANNED_COMP_DATE,
zsd.PLANNED_COMP_DATE PLANNED_COMP_DATE,
zsd.ACTUAL_START_DATE ACTUAL_START_DATE
zsd.ACTUAL_START_DATE ACTUAL_START_DATE
FROM Z_SFC_DISPATCH zsd
FROM Z_SFC_DISPATCH zsd
LEFT JOIN SFC s ON s.SFC = zsd.SFC AND s.SITE = zsd.SITE
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 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 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 CUSTOM_FIELDS cf2 ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
@ -1098,7 +1115,6 @@
ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.ROUTER_BO = WIP.ROUTER_BO AND
ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.ROUTER_BO = WIP.ROUTER_BO AND
V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
<where >
<where >
1=1
<if test= "shopOrder != null and shopOrder != ''" >
<if test= "shopOrder != null and shopOrder != ''" >
AND WIP.SHOP_ORDER = #{shopOrder}
AND WIP.SHOP_ORDER = #{shopOrder}
</if>
</if>