原材料追溯报表批次号

master
yinq 3 years ago
parent 433537f8cf
commit deb7c88f47

@ -963,30 +963,34 @@
</select>
<select id="partsTraceScheduleReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC,
cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
ot.DESCRIPTION OPERATION_DESCRIPTION,
SELECT zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC,
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,
ot.DESCRIPTION OPERATION_DESCRIPTION,
zsd.EMPLOYEE_DESCRIPTION PB_USER,
zsd.ACTUAL_START_DATE ACTUAL_START_DATE,
zsd.ACTUAL_START_DATE ACTUAL_START_DATE,
zsd.ACTUAL_COMPLETE_DATE ACTUAL_COMPLETE_DATE,
znu.FULL_NAME FULL_NAME
znu.FULL_NAME FULL_NAME
FROM Z_SFC_DISPATCH zsd
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 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 ITEM i On i.HANDLE = so.ITEM_BO
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO AND it.LOCALE = 'zh'
INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE
INNER JOIN (select bc.BOM_BO from BOM_COMPONENT bc group by bc.BOM_BO) bc ON sb.BOM_BO = bc.BOM_BO
LEFT JOIN ITEM cp ON cp.HANDLE = s.ITEM_BO
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE
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
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 (SELECT zit.HANDLE, zit.SHOP_ORDER, zit.MODIFY_USER
@ -1010,27 +1014,39 @@
AND it.DESCRIPTION = #{itemDescription}
</if>
</where>
ORDER BY s.SFC DESC,zsd.ACTUAL_COMPLETE_DATE ASC
</select>
<select id="itemTraceScheduleReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
ot.DESCRIPTION OPERATION_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.START_DATE ACTUAL_START_DATE,
SELECT cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
s.SFC SFC,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
WIP.COMPONENT_DESCRIPTION COMPONENT_DESCRIPTION,
zsd.DESCRIPTION OPERATION_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
PL.INVENTORY INVENTORY,
zsd.START_DATE ACTUAL_START_DATE,
zsd.ACTUAL_COMPLETE_DATE ACTUAL_COMPLETE_DATE
FROM (SELECT COMP.*,STAT.START_DATE
FROM (SELECT COMP.*, STAT.START_DATE
FROM (SELECT *
FROM (SELECT sd.*,
FROM (SELECT sd.SFC SFC,
sd.SHOP_ORDER SHOP_ORDER,
sd.SITE SITE,
sd.BLANKING_SIZE BLANKING_SIZE,
sd.ACTUAL_COMPLETE_DATE ACTUAL_COMPLETE_DATE,
ot.DESCRIPTION DESCRIPTION,
row_number() over (PARTITION BY sd.SFC ORDER BY sd.ACTUAL_COMPLETE_DATE DESC)
AS NEWINDEX
AS NEWINDEX
FROM Z_SFC_DISPATCH sd
WHERE sd.DISPATCH_STATUS = 'COMPLETE')
INNER JOIN OPERATION o ON o.SITE = sd.SITE
AND o.OPERATION = sd.OPERATION AND o.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
WHERE sd.DISPATCH_STATUS = 'COMPLETE'
AND ot.DESCRIPTION = '下料'
)
WHERE NEWINDEX = '1') COMP
LEFT JOIN (SELECT sd2.SFC, MIN(sd2.ACTUAL_START_DATE) START_DATE
FROM Z_SFC_DISPATCH sd2
@ -1041,16 +1057,19 @@
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 ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO
INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE
INNER JOIN (select bc.BOM_BO from BOM_COMPONENT bc group by bc.BOM_BO) bc ON sb.BOM_BO = bc.BOM_BO
LEFT JOIN ITEM cp ON cp.HANDLE = s.ITEM_BO
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'
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
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
LEFT JOIN Z_PRINT_LOG PL ON PL.ITEM_BO = it.ITEM_BO AND PL.PRINT_TEMPLATE = 'INV'
<where>
zsd.DISPATCH_STATUS = 'COMPLETE' AND ot.DESCRIPTION='下料'
AND zsd.SITE = #{site}
zsd.SITE = #{site}
AND PL.INVENTORY IS NOT NULL
<if test="shopOrder != null and shopOrder != ''">
AND zsd.SHOP_ORDER = #{shopOrder}
</if>
@ -1058,43 +1077,44 @@
AND s.SFC = #{sfc}
</if>
</where>
ORDER BY SFC DESC
</select>
<select id="resourceTaskDetailReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT WIP.*,
CASE
WHEN WIP.DISPATCH_SEQ = 1 OR V1.DISPATCH_STATUS = 'COMPLETE'
WHEN (WIP.DISPATCH_SEQ = 1 OR V1.DISPATCH_STATUS = 'COMPLETE')
THEN N'是'
ELSE N'否' END IS_COMPLETED,
CASE
WHEN WIP.DISPATCH_STATUS = 'NEW' THEN N'新建'
WHEN WIP.DISPATCH_STATUS = 'RELEASE' THEN N'发布'
WHEN WIP.DISPATCH_STATUS = 'START' THEN N'已开始'
END AS DISPATCH_STATUS
END AS DISPATCH_STATUS
FROM (
SELECT zsd.OPERATION OPERATION,
rs.DESCRIPTION DESCRIPTION,
cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.DISPATCH_NO DISPATCH_NO,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
ct.DESCRIPTION COMPONENT_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.DISPATCH_QTY DISPATCH_QTY,
zsd.PROD_HOURS PROD_HOURS,
SELECT zsd.OPERATION OPERATION,
rs.DESCRIPTION DESCRIPTION,
cf.VALUE ITEM_NUMBER,
cf2.VALUE WORK_ORDER,
zsd.SHOP_ORDER SHOP_ORDER,
zsd.DISPATCH_NO DISPATCH_NO,
i.ITEM ITEM,
it.DESCRIPTION ITEM_DESCRIPTION,
WIP.COMPONENT_DESCRIPTION COMPONENT_DESCRIPTION,
zsd.BLANKING_SIZE BLANKING_SIZE,
zsd.DISPATCH_QTY DISPATCH_QTY,
zsd.PROD_HOURS PROD_HOURS,
CASE
WHEN zsd.PROD_HOURS IS NULL THEN 0
ELSE ROUND(zsd.DISPATCH_QTY * zsd.PROD_HOURS, 4) END TOTAL_PROD_HOURS,
zsd.DISPATCH_STATUS DISPATCH_STATUS,
zsd.SITE SITE,
zsd.SFC SFC,
zsd.ROUTER_BO ROUTER_BO,
zsd.DISPATCH_STATUS DISPATCH_STATUS,
zsd.SITE SITE,
zsd.SFC SFC,
zsd.ROUTER_BO ROUTER_BO,
zsd.DISPATCH_SEQ,
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
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
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
@ -1102,15 +1122,20 @@
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 ITEM i On i.HANDLE = so.ITEM_BO AND I.SITE = SO.SITE
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO AND it.LOCALE = 'zh'
INNER JOIN SFC_BOM sb ON SB.SFC_BO = s.HANDLE
INNER JOIN (select bc.BOM_BO from BOM_COMPONENT bc group by bc.BOM_BO) bc ON sb.BOM_BO = bc.BOM_BO
LEFT JOIN ITEM cp ON cp.HANDLE = s.ITEM_BO
LEFT JOIN ITEM_T ct ON ct.ITEM_BO = cp.HANDLE AND ct.LOCALE = 'zh'
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.SITE = '1000'
AND zsd.DISPATCH_STATUS = 'NEW'
AND (zsd.DISPATCH_STATUS = 'NEW'
OR zsd.DISPATCH_STATUS = 'RELEASE'
OR zsd.DISPATCH_STATUS = 'START') WIP
OR zsd.DISPATCH_STATUS = 'START')
ORDER BY s.SFC DESC, zsd.ACTUAL_COMPLETE_DATE ASC) 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

Loading…
Cancel
Save