|
|
|
@ -40,137 +40,261 @@
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="partsManufacturing" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
|
|
|
SELECT * FROM (
|
|
|
|
|
SELECT cf.VALUE WORK_ORDER,zsd.SHOP_ORDER FINISHED_SHOP_ORDER,i.ITEM FINISHED_ITEM,it.DESCRIPTION
|
|
|
|
|
FINISHED_ITEM_DESCRIPTION,zsd.SFC FINISHED_SFC,
|
|
|
|
|
CASE WHEN o.OPERATION IS NOT NULL THEN
|
|
|
|
|
CASE WHEN zsd.DISPATCH_STATUS = 'NEW'THEN '新建'
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'RELEASE' THEN '发布'
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'PAUSE' THEN '暂挂'
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'START'THEN '已开始'
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN '已完成'
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'CANCEL' THEN '已取消'
|
|
|
|
|
ELSE '' END ELSE '' END FINISHED_OPERATION_STATUS,
|
|
|
|
|
o.OPERATION FINISHED_OPERATION,
|
|
|
|
|
CASE WHEN zsd4.HANDLE IS NOT NULL THEN '否' ELSE '是' END ZI_JIAN,
|
|
|
|
|
cf3.VALUE ITEM_NUMBER,so2.SHOP_ORDER,i2.ITEM,it2.DESCRIPTION ITEM_DESCRIPTION,
|
|
|
|
|
so2.QTY_TO_BUILD SHOP_ORDER_QTY,s2.SFC,o2.OPERATION,ot2.DESCRIPTION OPERATION_DESCRIPTION,zsd3.STEP_ID STEP_ID,
|
|
|
|
|
CASE WHEN zsd3.DISPATCH_STATUS = 'NEW'THEN '新建'
|
|
|
|
|
WHEN zsd3.DISPATCH_STATUS = 'RELEASE' THEN '发布'
|
|
|
|
|
WHEN zsd3.DISPATCH_STATUS = 'PAUSE' THEN '暂挂'
|
|
|
|
|
WHEN zsd3.DISPATCH_STATUS = 'START'THEN '已开始'
|
|
|
|
|
WHEN zsd3.DISPATCH_STATUS = 'COMPLETE' THEN '已完成'
|
|
|
|
|
WHEN zsd3.DISPATCH_STATUS = 'CANCEL' THEN '已取消'
|
|
|
|
|
ELSE '' END OPERATION_STATUS,o3.OPERATION CURRENT_OPERATION,ot3.DESCRIPTION CURRENT_OPERATION_DESCRIPTION,
|
|
|
|
|
CASE WHEN st2.STATUS = '405' THEN '是' ELSE '否' END DISPATCH_STATUS,
|
|
|
|
|
znu2.FULL_NAME
|
|
|
|
|
OPERATION_USER,zsd3.PLANNED_START_DATE,zsd3.PLANNED_COMP_DATE,zsd3.ACTUAL_START_DATE,zsd3.ACTUAL_COMPLETE_DATE,
|
|
|
|
|
zsd3.BLANKING_SIZE
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
|
-- INNER JOIN (
|
|
|
|
|
-- SELECT zsd.SFC,min(zsd.STEP_ID) STEP_ID,SITE FROM Z_SFC_DISPATCH zsd GROUP BY zsd.sfc,SITE
|
|
|
|
|
-- ) zsd2 ON zsd2.SFC = zsd.sfc AND zsd2.STEP_ID = zsd.STEP_ID AND zsd2.SITE = zsd.SITE
|
|
|
|
|
/*因为不根据stepID选,所以选最小的一个stepID*/
|
|
|
|
|
INNER JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
|
|
|
|
|
INNER JOIN ITEM i ON i.HANDLE = so.ITEM_BO
|
|
|
|
|
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE AND it.LOCALE = 'zh'
|
|
|
|
|
INNER JOIN OPERATION o ON o.OPERATION = zsd.OPERATION AND o.SITE = zsd.SITE AND o.CURRENT_REVISION = 'true' AND
|
|
|
|
|
o.OPERATION IN ('HJ_6106HJH1','HJ_6106HJH2','HJ_6106HJH3')
|
|
|
|
|
LEFT JOIN OPERATION_T ot ON ot.OPERATION_BO = o.HANDLE
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS cf ON cf.HANDLE = so.HANDLE AND cf."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
/*从上面往下边开始查找子件*/
|
|
|
|
|
LEFT JOIN Z_SFC_DISPATCH zsd3 ON zsd3.HANDLE IN (
|
|
|
|
|
SELECT zsd2.HANDLE FROM
|
|
|
|
|
BOM_COMPONENT bc
|
|
|
|
|
INNER JOIN ITEM i ON i.HANDLE = bc.COMPONENT_GBO
|
|
|
|
|
INNER JOIN SHOP_ORDER so2 ON so2.ITEM_BO = i.HANDLE
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS cf2 ON cf2.HANDLE = so2.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER' AND cf2.VALUE =
|
|
|
|
|
cf.VALUE
|
|
|
|
|
INNER JOIN Z_SFC_DISPATCH zsd2 ON zsd2.SHOP_ORDER = so2.SHOP_ORDER AND zsd2.SITE = zsd.SITE
|
|
|
|
|
WHERE cf2.VALUE IS NOT NULL AND bc.BOM_BO = so.BOM_BO
|
|
|
|
|
)
|
|
|
|
|
INNER JOIN SHOP_ORDER so2 ON so2.SHOP_ORDER = zsd3.SHOP_ORDER AND so2.SITE = zsd.SITE
|
|
|
|
|
INNER JOIN ITEM i2 ON i2.HANDLE = so2.ITEM_BO
|
|
|
|
|
LEFT JOIN ITEM_T it2 ON it2.ITEM_BO = i2.HANDLE AND it2.LOCALE = 'zh'
|
|
|
|
|
INNER JOIN SFC s2 ON s2.SFC = zsd3.SFC AND s2.SITE = zsd.SITE
|
|
|
|
|
LEFT JOIN SFC_ROUTING sr ON sr.SFC_BO = s2.HANDLE
|
|
|
|
|
LEFT JOIN SFC_ROUTER st ON st.SFC_ROUTING_BO = sr.HANDLE AND st.IN_USE = 'true'
|
|
|
|
|
LEFT JOIN SFC_STEP ss ON ss.SFC_ROUTER_BO = st.HANDLE AND (ss.QTY_IN_QUEUE > 0 OR ss.QTY_IN_WORK > 0)
|
|
|
|
|
INNER JOIN OPERATION o2 ON o2.OPERATION = zsd3.OPERATION AND o2.SITE = zsd.SITE AND o2.CURRENT_REVISION = 'true'
|
|
|
|
|
LEFT JOIN OPERATION_T ot2 ON ot2.OPERATION_BO = o2.HANDLE AND ot2.LOCALE = 'zh'
|
|
|
|
|
LEFT JOIN OPERATION o3 ON o3.OPERATION =
|
|
|
|
|
SUBSTR(SS.OPERATION_BO,INSTR(SS.OPERATION_BO,',',1,1)+1,INSTR(SS.OPERATION_BO,',',1,2) -
|
|
|
|
|
INSTR(SS.OPERATION_BO,',') -1) AND o3.SITE = zsd.SITE AND o3.CURRENT_REVISION = 'true'
|
|
|
|
|
LEFT JOIN OPERATION_T ot3 ON ot3.OPERATION_BO = o3.HANDLE AND ot3.LOCALE = 'zh'
|
|
|
|
|
LEFT JOIN Z_NWA_USER znu2 ON znu2.USER_NAME = zsd3.EMPLOYEE AND zsd3.DISPATCH_SEQ = (
|
|
|
|
|
SELECT MAX(zsd4.DISPATCH_SEQ)
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd4
|
|
|
|
|
WHERE zsd4.SFC = zsd3.SFC AND zsd.SITE = zsd4.SITE )
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS cf3
|
|
|
|
|
ON so2.HANDLE = cf3.HANDLE AND cf3."ATTRIBUTE" = 'ITEM_NUMBER'
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS cf4
|
|
|
|
|
ON so2.HANDLE = cf4.HANDLE AND cf4."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
INNER JOIN STATUS st2
|
|
|
|
|
ON st2.HANDLE = s2.STATUS_BO
|
|
|
|
|
LEFT JOIN Z_SFC_DISPATCH zsd4 ON zsd4.HANDLE = zsd3.HANDLE AND zsd4.DISPATCH_STATUS != 'COMPLETE' AND
|
|
|
|
|
zsd4.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
<!-- LEFT JOIN Z_SFC_DISPATCH zsd4 ON zsd4.HANDLE-->
|
|
|
|
|
<!-- = (-->
|
|
|
|
|
<!-- SELECT zsd2.HANDLE FROM Z_SFC_DISPATCH zsd2-->
|
|
|
|
|
<!-- WHERE zsd2.DISPATCH_STATUS != 'COMPLETE' AND zsd4.DISPATCH_STATUS != 'CANCEL' AND zsd2.HANDLE = zsd3.HANDLE AND ROWNUM < 2-->
|
|
|
|
|
<!-- )-->
|
|
|
|
|
<where>
|
|
|
|
|
zsd.SITE = #{param.site} AND cf.VALUE = #{param.workOrder}
|
|
|
|
|
<if test="param.itemNumber != null and param.itemNumber != ''">
|
|
|
|
|
AND CF3.VALUE LIKE '%${param.itemNumber}%'
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.shopOrder != null and param.shopOrder != ''">
|
|
|
|
|
AND (zsd.SHOP_ORDER = #{param.shopOrder} OR zsd3.SHOP_ORDER = #{param.shopOrder})
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.item != null and param.item != ''">
|
|
|
|
|
AND (i.ITEM = #{param.item} OR it.DESCRIPTION = #{param.item} OR i2.ITEM = #{param.item} OR
|
|
|
|
|
it2.DESCRIPTION = #{param.item})
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.currentOperation != null and param.currentOperation != ''">
|
|
|
|
|
AND (ot3.DESCRIPTION LIKE '%${param.currentOperation}%' OR
|
|
|
|
|
o3.OPERATION LIKE '%${param.currentOperation}%')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.operation != null and param.operation != ''">
|
|
|
|
|
AND (O.OPERATION LIKE '%${param.operation}%'
|
|
|
|
|
OR OT.DESCRIPTION LIKE '%${param.operation}%'
|
|
|
|
|
OR o2.OPERATION LIKE '%${param.operation}'
|
|
|
|
|
OR ot2.DESCRIPTION LIKE '%${param.operation}'
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.status != null and param.status != ''">
|
|
|
|
|
<if test="param.status == 'Y'.toString()">
|
|
|
|
|
AND st2.STATUS = '405'
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.status == 'N'.toString()">
|
|
|
|
|
AND st2.STATUS != '405'
|
|
|
|
|
</if>
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.startDateTime != null and param.startDateTime != ''">
|
|
|
|
|
AND ZSD3.ACTUAL_START_DATE >= TO_DATE(#{param.startDateTime}, 'YYYY-MM-DD') - 8/24
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.endDateTime != null and param.endDateTime != ''">
|
|
|
|
|
AND ZSD3.ACTUAL_START_DATE <= TO_DATE(#{param.endDateTime}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.completeStartDateTime != null and param.completeStartDateTime != ''">
|
|
|
|
|
AND ZSD3.ACTUAL_COMPLETE_DATE >= TO_DATE(#{param.completeStartDateTime}, 'YYYY-MM-DD') - 8/24
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.completeEndDateTime != null and param.completeEndDateTime != ''">
|
|
|
|
|
AND ZSD3.ACTUAL_COMPLETE_DATE <= TO_DATE(#{param.completeEndDateTime}|| '15:59:59',
|
|
|
|
|
'YYYY-MM-DD HH24:MI:SS')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.finishedStatus != null and param.finishedStatus != ''">
|
|
|
|
|
AND zsd.DISPATCH_STATUS = #{param.finishedStatus}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="param.partsStatus != null and param.partsStatus != ''">
|
|
|
|
|
AND zsd3.DISPATCH_STATUS = #{param.partsStatus}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
) ORDER BY FINISHED_OPERATION,FINISHED_SHOP_ORDER,SFC,STEP_ID
|
|
|
|
|
SELECT
|
|
|
|
|
DISTINCT
|
|
|
|
|
SITE,
|
|
|
|
|
FINISHED_WORK_ORDER,
|
|
|
|
|
FINISHED_SHOP_ORDER,
|
|
|
|
|
FINISHED_SFC,
|
|
|
|
|
FINISHED_ITEM,
|
|
|
|
|
FINISHED_ITEM_DESCRIPTION,
|
|
|
|
|
FINISHED_OPERATION,
|
|
|
|
|
FINISHED_OPERATION_DESCRIPTION,
|
|
|
|
|
CASE WHEN FINISHED_STATUS = 'NEW'THEN '新建'
|
|
|
|
|
WHEN FINISHED_STATUS = 'RELEASE' THEN '发布'
|
|
|
|
|
WHEN FINISHED_STATUS = 'PAUSE' THEN '暂挂'
|
|
|
|
|
WHEN FINISHED_STATUS = 'START'THEN '已开始'
|
|
|
|
|
WHEN FINISHED_STATUS = 'COMPLETE' THEN '已完成'
|
|
|
|
|
WHEN FINISHED_STATUS = 'CANCEL' THEN '已取消'
|
|
|
|
|
ELSE '' END FINISHED_STATUS,
|
|
|
|
|
HJ_IS_COMPLETE,
|
|
|
|
|
ITEM_NUMBER,
|
|
|
|
|
SHOP_ORDER ,
|
|
|
|
|
ITEM ,
|
|
|
|
|
ITEM_DESCRIPTION,
|
|
|
|
|
DISPATCH_QTY ,
|
|
|
|
|
BLANKING_SIZE ,
|
|
|
|
|
SFC ,
|
|
|
|
|
OPERATION ,
|
|
|
|
|
OPERATION_DESCRIPTION,
|
|
|
|
|
STEP_ID,
|
|
|
|
|
CASE WHEN DISPATCH_STATUS = 'NEW'THEN '新建'
|
|
|
|
|
WHEN DISPATCH_STATUS = 'RELEASE' THEN '发布'
|
|
|
|
|
WHEN DISPATCH_STATUS = 'PAUSE' THEN '暂挂'
|
|
|
|
|
WHEN DISPATCH_STATUS = 'START'THEN '已开始'
|
|
|
|
|
WHEN DISPATCH_STATUS = 'COMPLETE' THEN '已完成'
|
|
|
|
|
WHEN DISPATCH_STATUS = 'CANCEL' THEN '已取消'
|
|
|
|
|
ELSE '' END DISPATCH_STATUS,
|
|
|
|
|
CURRENT_OPERATION,
|
|
|
|
|
CURRENT_OPERATION_DESCRIPTION,
|
|
|
|
|
IS_COMPLETE,
|
|
|
|
|
EMPLOYEE_DESCRIPTION,
|
|
|
|
|
PLANNED_START_DATE ,
|
|
|
|
|
PLANNED_COMP_DATE,
|
|
|
|
|
ACTUAL_START_DATE,
|
|
|
|
|
ACTUAL_COMPLETE_DATE
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
FINISHED_WORK_ORDER,
|
|
|
|
|
FINISHED_SHOP_ORDER,
|
|
|
|
|
FINISHED_SFC,
|
|
|
|
|
FINISHED_ITEM,
|
|
|
|
|
FINISHED_ITEM_DESCRIPTION,
|
|
|
|
|
FINISHED_OPERATION,
|
|
|
|
|
FINISHED_OPERATION_DESCRIPTION,
|
|
|
|
|
FINISHED_STATUS,
|
|
|
|
|
zsd.SITE,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN zsdTemplate.NUM > 1 THEN '未完成'
|
|
|
|
|
ELSE '完成'
|
|
|
|
|
END HJ_IS_COMPLETE,
|
|
|
|
|
cf2.VALUE ITEM_NUMBER,
|
|
|
|
|
so.SHOP_ORDER ,
|
|
|
|
|
i.ITEM ,
|
|
|
|
|
it.DESCRIPTION ITEM_DESCRIPTION,
|
|
|
|
|
zsd2.DISPATCH_QTY ,
|
|
|
|
|
zsd2.BLANKING_SIZE ,
|
|
|
|
|
zsd2.SFC ,
|
|
|
|
|
zsd2.OPERATION ,
|
|
|
|
|
ot2.DESCRIPTION OPERATION_DESCRIPTION,
|
|
|
|
|
zsd2.DISPATCH_STATUS ,
|
|
|
|
|
o3.OPERATION CURRENT_OPERATION,
|
|
|
|
|
ot3.DESCRIPTION CURRENT_OPERATION_DESCRIPTION,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN zsd3.NUM > 1 THEN '未完成'
|
|
|
|
|
ELSE '完成'
|
|
|
|
|
END IS_COMPLETE,
|
|
|
|
|
zsd2.EMPLOYEE_DESCRIPTION,
|
|
|
|
|
zsd2.PLANNED_START_DATE ,
|
|
|
|
|
zsd2.PLANNED_COMP_DATE,
|
|
|
|
|
zsd2.ACTUAL_START_DATE ,
|
|
|
|
|
zsd2.ACTUAL_COMPLETE_DATE,
|
|
|
|
|
zsd2.STEP_ID
|
|
|
|
|
FROM
|
|
|
|
|
(
|
|
|
|
|
SELECT
|
|
|
|
|
cf.VALUE FINISHED_WORK_ORDER,
|
|
|
|
|
so.SHOP_ORDER FINISHED_SHOP_ORDER,
|
|
|
|
|
zsd.SFC FINISHED_SFC,
|
|
|
|
|
i.ITEM FINISHED_ITEM,
|
|
|
|
|
it.DESCRIPTION FINISHED_ITEM_DESCRIPTION,
|
|
|
|
|
o.OPERATION FINISHED_OPERATION,
|
|
|
|
|
ot.DESCRIPTION FINISHED_OPERATION_DESCRIPTION,
|
|
|
|
|
so.BOM_BO ,
|
|
|
|
|
zsd.SITE,
|
|
|
|
|
zsd.DISPATCH_STATUS FINISHED_STATUS
|
|
|
|
|
FROM
|
|
|
|
|
Z_SFC_DISPATCH zsd
|
|
|
|
|
INNER JOIN SHOP_ORDER so ON
|
|
|
|
|
so.SHOP_ORDER = zsd.SHOP_ORDER
|
|
|
|
|
AND so.SITE = zsd.SITE
|
|
|
|
|
INNER JOIN ITEM i ON
|
|
|
|
|
i.HANDLE = so.ITEM_BO
|
|
|
|
|
LEFT JOIN ITEM_T it ON
|
|
|
|
|
it.ITEM_BO = i.HANDLE
|
|
|
|
|
AND it.LOCALE = 'zh'
|
|
|
|
|
INNER JOIN OPERATION o ON
|
|
|
|
|
o.OPERATION = zsd.OPERATION
|
|
|
|
|
AND o.SITE = zsd.SITE
|
|
|
|
|
AND o.CURRENT_REVISION = 'true'
|
|
|
|
|
LEFT JOIN OPERATION_T ot ON
|
|
|
|
|
ot.OPERATION_BO = o.HANDLE
|
|
|
|
|
INNER JOIN CUSTOM_FIELDS cf ON
|
|
|
|
|
cf.HANDLE = so.HANDLE
|
|
|
|
|
AND cf."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
WHERE
|
|
|
|
|
zsd.OPERATION IN ('HJ_6106HJH1', 'HJ_6106HJH2', 'HJ_6106HJH3')
|
|
|
|
|
AND cf.VALUE = #{workOrder}
|
|
|
|
|
AND zsd.SITE = #{site}
|
|
|
|
|
)zsd
|
|
|
|
|
INNER JOIN (
|
|
|
|
|
SELECT
|
|
|
|
|
COUNT(zsd.HANDLE) NUM,
|
|
|
|
|
cf.VALUE WORK_ORDER ,
|
|
|
|
|
zsd.SITE
|
|
|
|
|
FROM
|
|
|
|
|
Z_SFC_DISPATCH zsd
|
|
|
|
|
INNER JOIN SHOP_ORDER so ON
|
|
|
|
|
so.SHOP_ORDER = zsd.SHOP_ORDER
|
|
|
|
|
AND so.SITE = zsd.SITE
|
|
|
|
|
INNER JOIN CUSTOM_FIELDS cf ON
|
|
|
|
|
cf.HANDLE = so.HANDLE
|
|
|
|
|
AND cf."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
WHERE
|
|
|
|
|
zsd.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND cf.VALUE = #{workOrder}
|
|
|
|
|
GROUP BY
|
|
|
|
|
cf.VALUE,
|
|
|
|
|
zsd.SITE
|
|
|
|
|
) zsdTemplate ON
|
|
|
|
|
zsdTemplate.WORK_ORDER = zsd.FINISHED_WORK_ORDER
|
|
|
|
|
AND zsdTemplate.SITE = zsd.SITE
|
|
|
|
|
INNER JOIN BOM_COMPONENT bc ON
|
|
|
|
|
bc.BOM_BO = zsd.BOM_BO
|
|
|
|
|
INNER JOIN ITEM i ON
|
|
|
|
|
i.HANDLE = bc.COMPONENT_GBO
|
|
|
|
|
LEFT JOIN ITEM_T it ON
|
|
|
|
|
it.ITEM_BO = i.HANDLE
|
|
|
|
|
AND it.LOCALE = 'zh'
|
|
|
|
|
INNER JOIN SHOP_ORDER so ON
|
|
|
|
|
so.ITEM_BO = i.HANDLE
|
|
|
|
|
AND i.SITE = so.SITE
|
|
|
|
|
INNER JOIN CUSTOM_FIELDS cf ON
|
|
|
|
|
cf.HANDLE = so.HANDLE
|
|
|
|
|
AND cf."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
AND cf.VALUE = zsd.FINISHED_WORK_ORDER
|
|
|
|
|
/*子件的查询*/
|
|
|
|
|
INNER JOIN Z_SFC_DISPATCH zsd2 ON
|
|
|
|
|
zsd2.SHOP_ORDER = so.SHOP_ORDER
|
|
|
|
|
AND zsd.SITE = zsd2.SITE
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS cf2 ON
|
|
|
|
|
so.HANDLE = cf2.HANDLE
|
|
|
|
|
AND cf2."ATTRIBUTE" = 'ITEM_NUMBER'
|
|
|
|
|
INNER JOIN OPERATION o2 ON
|
|
|
|
|
o2.OPERATION = zsd2.OPERATION
|
|
|
|
|
AND o2.SITE = zsd.SITE
|
|
|
|
|
LEFT JOIN OPERATION_T ot2 ON
|
|
|
|
|
ot2.OPERATION_BO = o2.HANDLE
|
|
|
|
|
AND ot2.LOCALE = 'zh'
|
|
|
|
|
INNER JOIN SFC s2 ON
|
|
|
|
|
s2.SFC = zsd2.SFC
|
|
|
|
|
AND s2.SITE = zsd.SITE
|
|
|
|
|
LEFT JOIN SFC_ROUTING sr ON
|
|
|
|
|
sr.SFC_BO = s2.HANDLE
|
|
|
|
|
LEFT JOIN SFC_ROUTER st ON
|
|
|
|
|
st.SFC_ROUTING_BO = sr.HANDLE
|
|
|
|
|
AND st.IN_USE = 'true'
|
|
|
|
|
LEFT JOIN SFC_STEP ss ON
|
|
|
|
|
ss.SFC_ROUTER_BO = st.HANDLE
|
|
|
|
|
AND (ss.QTY_IN_QUEUE > 0
|
|
|
|
|
OR ss.QTY_IN_WORK > 0)
|
|
|
|
|
LEFT JOIN OPERATION o3 ON
|
|
|
|
|
o3.OPERATION = SPLIT(ss.OPERATION_BO,
|
|
|
|
|
2)
|
|
|
|
|
AND o3.SITE = zsd.SITE
|
|
|
|
|
AND o3.CURRENT_REVISION = 'true'
|
|
|
|
|
LEFT JOIN OPERATION_T ot3 ON
|
|
|
|
|
ot3.OPERATION_BO = o3.HANDLE
|
|
|
|
|
AND ot3.LOCALE = 'zh'
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT
|
|
|
|
|
COUNT(HANDLE) NUM,
|
|
|
|
|
SHOP_ORDER,
|
|
|
|
|
SITE
|
|
|
|
|
FROM
|
|
|
|
|
Z_SFC_DISPATCH zsd
|
|
|
|
|
WHERE
|
|
|
|
|
SITE = #{site}
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
GROUP BY
|
|
|
|
|
SITE ,
|
|
|
|
|
SHOP_ORDER
|
|
|
|
|
) zsd3 ON
|
|
|
|
|
zsd3.SHOP_ORDER = so.SHOP_ORDER
|
|
|
|
|
AND zsd3.SITE = zsd.SITE
|
|
|
|
|
)
|
|
|
|
|
<where>
|
|
|
|
|
SITE = #{site} AND FINISHED_WORK_ORDER = #{workOrder}
|
|
|
|
|
<if test="itemNumber != null and itemNumber != ''">
|
|
|
|
|
AND ITEM_NUMBER = #{itemNumber}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="shopOrder != null and shopOrder != ''">
|
|
|
|
|
AND (FINISHED_SHOP_ORDER = #{shopOrder} OR SHOP_ORDER = #{shopOrder})
|
|
|
|
|
</if>
|
|
|
|
|
<if test="item != null and item != ''">
|
|
|
|
|
AND (FINISHED_ITEM = #{item} OR FINISHED_ITEM_DESCRIPTION = #{item}
|
|
|
|
|
OR ITEM = #{item} OR ITEM_DESCRIPTION = #{item}
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="currentOperation != null and currentOperation != ''">
|
|
|
|
|
AND (CURRENT_OPERATION LIKE '%${currentOperation}%' OR
|
|
|
|
|
CURRENT_OPERATION_DESCRIPTION LIKE '%${currentOperation}%'
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="operation != null and operation != ''">
|
|
|
|
|
AND (FINISHED_OPERATION LIKE '%${operation}%'
|
|
|
|
|
OR FINISHED_OPERATION_DESCRIPTION LIKE '%${operation}%'
|
|
|
|
|
OR OPERATION LIKE '%${operation}%'
|
|
|
|
|
OR OPERATION_DESCRIPTION LIKE '%${operation}%'
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="finishedStatus != null and finishedStatus != ''">
|
|
|
|
|
AND FINISHED_STATUS = #{finishedStatus}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startDateTime != null and startDateTime != ''">
|
|
|
|
|
AND ACTUAL_START_DATE >= TO_DATE(#{startDateTime}, 'YYYY-MM-DD') - 8/24
|
|
|
|
|
</if>
|
|
|
|
|
<if test="endDateTime != null and endDateTime != ''">
|
|
|
|
|
AND ACTUAL_START_DATE <= TO_DATE(#{endDateTime}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="completeStartDateTime != null and completeStartDateTime != ''">
|
|
|
|
|
AND ACTUAL_COMPLETE_DATE >= TO_DATE(#{completeStartDateTime}, 'YYYY-MM-DD') - 8/24
|
|
|
|
|
</if>
|
|
|
|
|
<if test="completeEndDateTime != null and completeEndDateTime != ''">
|
|
|
|
|
AND ACTUAL_COMPLETE_DATE <= TO_DATE(#{completeEndDateTime}|| '15:59:59',
|
|
|
|
|
'YYYY-MM-DD HH24:MI:SS')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="hjIsCompleted != null and hjIsCompleted != ''">
|
|
|
|
|
AND HJ_IS_COMPLETE = #{hjIsCompleted}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="isCompleted != null and hjIsCompleted != ''">
|
|
|
|
|
AND IS_COMPLETE = #{isCompleted}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
ORDER BY FINISHED_OPERATION,FINISHED_SHOP_ORDER,SFC,STEP_ID
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="surplusReturnTable" resultType="java.util.HashMap">
|
|
|
|
@ -547,9 +671,9 @@
|
|
|
|
|
ELSE ''
|
|
|
|
|
END SURPLUS_DAY,
|
|
|
|
|
CASE WHEN zsd.ACTUAL_START_DATE IS NOT NULL AND cf3.VALUE IS NOT NULL AND cf3.VALUE != 0 AND zsd.ACTUAL_COMPLETE_DATE IS NULL
|
|
|
|
|
THEN ROUND(TO_NUMBER(SYSDATE - (zsd.ACTUAL_START_DATE+8/24))*24/TO_NUMBER(cf3.VALUE),2)*100 || '%'
|
|
|
|
|
THEN ROUND(TO_NUMBER(SYSDATE - (zsd.ACTUAL_START_DATE+8/24))*24/TO_NUMBER(cf3.VALUE * zsd.DISPATCH_QTY),2)*100 || '%'
|
|
|
|
|
WHEN zsd.ACTUAL_START_DATE IS NOT NULL AND cf3.VALUE IS NOT NULL AND cf3.VALUE != 0 AND zsd.ACTUAL_COMPLETE_DATE IS NOT NULL
|
|
|
|
|
THEN ROUND(TO_NUMBER((zsd.ACTUAL_COMPLETE_DATE+8/24) - (zsd.ACTUAL_START_DATE+8/24))*24/TO_NUMBER(cf3.VALUE),2)*100 || '%'
|
|
|
|
|
THEN ROUND(TO_NUMBER((zsd.ACTUAL_COMPLETE_DATE+8/24) - (zsd.ACTUAL_START_DATE+8/24))*24/TO_NUMBER(cf3.VALUE * zsd.DISPATCH_QTY),2)*100 || '%'
|
|
|
|
|
ELSE ''
|
|
|
|
|
END PROCESS_HOURS
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
@ -674,16 +798,18 @@
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT zsd.WORK_ORDER,
|
|
|
|
|
zsd.ITEM_NUMBER,
|
|
|
|
|
zsd.DISPATCH_SEQ,
|
|
|
|
|
TO_CHAR(TO_NUMBER(zsd.HOURS_PERCENT), 'FM9999990.00') HOURS_PERCENT,
|
|
|
|
|
TO_CHAR(TO_NUMBER(zsd.OPERATION_PERCENT), 'FM9999990.00') OPERATION_PERCENT,
|
|
|
|
|
zsd.DISPATCH_QTY,
|
|
|
|
|
TO_CHAR(TO_NUMBER(zsd.HOURS_PERCENT), 'FM9999990.00') || '%' HOURS_PERCENT,
|
|
|
|
|
TO_CHAR(TO_NUMBER(zsd.OPERATION_PERCENT), 'FM9999990.00') || '%' OPERATION_PERCENT,
|
|
|
|
|
CREATED_DATE_TIME,
|
|
|
|
|
zsd.WORK_CENTER,
|
|
|
|
|
CASE WHEN zsd2.QTY > 0 THEN '未完成' ELSE '完成' END IS_COMPLETE
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT WORK_ORDER,
|
|
|
|
|
ITEM_NUMBER,
|
|
|
|
|
MIN(CREATED_DATE_TIME) CREATED_DATE_TIME,
|
|
|
|
|
SUM(DISPATCH_SEQ) DISPATCH_SEQ,
|
|
|
|
|
SUM(DISPATCH_QTY) DISPATCH_QTY,
|
|
|
|
|
WORK_CENTER,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN SUM(COMP_HOURS) != 0 THEN (SUM(COMP_HOURS) / SUM(HOURS) * 100)
|
|
|
|
|
ELSE 0 END HOURS_PERCENT,
|
|
|
|
@ -695,11 +821,12 @@
|
|
|
|
|
SELECT cf2.VALUE WORK_ORDER,
|
|
|
|
|
cf.VALUE ITEM_NUMBER,
|
|
|
|
|
zsd.CREATED_DATE_TIME,
|
|
|
|
|
zsd.DISPATCH_SEQ,
|
|
|
|
|
zsd.PROD_HOURS * zsd.DISPATCH_SEQ HOURS,
|
|
|
|
|
zsd.DISPATCH_QTY,
|
|
|
|
|
zsd.PROD_HOURS * zsd.DISPATCH_QTY HOURS,
|
|
|
|
|
zsd.WORK_CENTER WORK_CENTER,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' OR zsd.DISPATCH_STATUS = 'CANCEL'
|
|
|
|
|
THEN zsd.PROD_HOURS * zsd.DISPATCH_SEQ
|
|
|
|
|
THEN zsd.PROD_HOURS * zsd.DISPATCH_QTY
|
|
|
|
|
ELSE 0 END COMP_HOURS,
|
|
|
|
|
CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' OR zsd.DISPATCH_STATUS = 'CANCEL'
|
|
|
|
@ -712,12 +839,12 @@
|
|
|
|
|
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'
|
|
|
|
|
WHERE zsd.SITE = #{site}
|
|
|
|
|
WHERE zsd.SITE = '1000'
|
|
|
|
|
)
|
|
|
|
|
GROUP BY WORK_ORDER, ITEM_NUMBER
|
|
|
|
|
GROUP BY WORK_ORDER, ITEM_NUMBER,WORK_CENTER
|
|
|
|
|
) zsd
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT cf2.VALUE WORK_ORDER, cf.VALUE ITEM_NUMBER, COUNT(zsd.HANDLE) QTY
|
|
|
|
|
SELECT cf2.VALUE WORK_ORDER, cf.VALUE ITEM_NUMBER, COUNT(zsd.HANDLE) QTY,zsd.WORK_CENTER
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
|
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS cf
|
|
|
|
@ -726,22 +853,25 @@
|
|
|
|
|
ON cf2.HANDLE = so.HANDLE AND cf2."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
WHERE zsd.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
GROUP BY cf2.VALUE, cf.VALUE
|
|
|
|
|
) zsd2 ON zsd2.WORK_ORDER || zsd2.ITEM_NUMBER = zsd.WORK_ORDER || zsd.ITEM_NUMBER
|
|
|
|
|
GROUP BY cf2.VALUE, cf.VALUE,zsd.WORK_CENTER
|
|
|
|
|
) zsd2 ON zsd2.WORK_ORDER || zsd2.ITEM_NUMBER = zsd.WORK_ORDER || zsd.ITEM_NUMBER AND zsd2.WORK_CENTER = zsd.WORK_CENTER
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT cf2.VALUE WORK_ORDER, cf.VALUE ITEM_NUMBER, COUNT(zsd.HANDLE) QTY
|
|
|
|
|
SELECT cf2.VALUE WORK_ORDER, cf.VALUE ITEM_NUMBER, COUNT(zsd.HANDLE) QTY,zsd.WORK_CENTER
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
|
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'
|
|
|
|
|
GROUP BY cf2.VALUE, cf.VALUE
|
|
|
|
|
) zsd3 ON zsd3.WORK_ORDER || zsd3.ITEM_NUMBER = zsd.WORK_ORDER || zsd.ITEM_NUMBER
|
|
|
|
|
GROUP BY cf2.VALUE, cf.VALUE,zsd.WORK_CENTER
|
|
|
|
|
) zsd3 ON zsd3.WORK_ORDER || zsd3.ITEM_NUMBER = zsd.WORK_ORDER || zsd.ITEM_NUMBER AND zsd3.WORK_CENTER = zsd.WORK_CENTER AND zsd3.WORK_CENTER = zsd.WORK_CENTER
|
|
|
|
|
WHERE (zsd.WORK_ORDER IS NOT NULL OR zsd.ITEM_NUMBER IS NOT NULL)
|
|
|
|
|
)
|
|
|
|
|
<where>
|
|
|
|
|
1 = 1
|
|
|
|
|
<if test="workCenter != null and workCenter != ''">
|
|
|
|
|
AND WORK_CENTER = #{workCenter}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="workOrder != null and workOrder != ''">
|
|
|
|
|
AND WORK_ORDER = #{workOrder}
|
|
|
|
|
</if>
|
|
|
|
|