|
|
|
@ -1205,6 +1205,7 @@
|
|
|
|
|
LEFT JOIN ROUTER r ON zsd.ROUTER_BO = R.HANDLE
|
|
|
|
|
LEFT JOIN ROUTER_STEP rs ON rs.ROUTER_BO = r.HANDLE AND rs.STEP_ID = zsd.STEP_ID
|
|
|
|
|
WHERE zsd.SITE = '1000'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND cf.VALUE IS NOT NULL
|
|
|
|
|
AND cf2.VALUE IS NOT NULL
|
|
|
|
|
GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE, zsd.SHOP_ORDER, zsd.SFC, it.DESCRIPTION, rs.REWORK
|
|
|
|
@ -1284,7 +1285,7 @@
|
|
|
|
|
</select>
|
|
|
|
|
<select id="documentInformation" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
|
|
|
--近半年单据信息
|
|
|
|
|
WITH acc AS (SELECT COUNT(DISPATCH_QTY) QTY
|
|
|
|
|
WITH acc AS (SELECT SUM(DISPATCH_QTY) QTY
|
|
|
|
|
FROM (SELECT ZSD.SFC, MAX(ZSD.DISPATCH_QTY) DISPATCH_QTY
|
|
|
|
|
FROM Z_SFC_DISPATCH ZSD
|
|
|
|
|
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zsd.SHOP_ORDER AND so.SITE = zsd.SITE
|
|
|
|
@ -1326,6 +1327,7 @@
|
|
|
|
|
WHERE DF.DATA_FIELD = 'REASON_CATEGORY'
|
|
|
|
|
</select>
|
|
|
|
|
<select id="abnormalQuality" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
|
|
|
--近半年质量异常情况
|
|
|
|
|
SELECT TO_CHAR(zab.CREATED_DATE_TIME,'yyyy-mm') DATE_TIME,
|
|
|
|
|
SUM(zab.NC_QTY) NC_QTY
|
|
|
|
|
FROM Z_ABNORMAL_BILL zab
|
|
|
|
@ -1395,6 +1397,38 @@
|
|
|
|
|
</where>
|
|
|
|
|
ORDER BY WIP."rate" DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="projectPlanningProgress" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT OWIP.workOrder "workOrder",
|
|
|
|
|
OWIP.item "item",--项目号
|
|
|
|
|
SUM(OWIP.shopOrderQTY) "shopOrderQTY",
|
|
|
|
|
SUM(OWIP.doneQTY) "doneQTY",
|
|
|
|
|
TO_CHAR(SUM(OWIP.doneQTY) / SUM(OWIP.shopOrderQTY) * 100, '99990.99') "rate"
|
|
|
|
|
FROM (SELECT cf.VALUE item,--项目号
|
|
|
|
|
cf2.VALUE workOrder,--工作令
|
|
|
|
|
zsd.SFC,
|
|
|
|
|
MAX(zsd.DISPATCH_QTY) shopOrderQTY,--订单数量
|
|
|
|
|
MIN(CASE WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN zsd.DISPATCH_QTY ELSE 0 END ) doneQTY
|
|
|
|
|
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'
|
|
|
|
|
WHERE zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND cf.VALUE IS NOT NULL
|
|
|
|
|
AND cf2.VALUE IS NOT NULL
|
|
|
|
|
GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE, zsd.SFC
|
|
|
|
|
) OWIP
|
|
|
|
|
GROUP BY OWIP.item, OWIP.workOrder
|
|
|
|
|
) WIP
|
|
|
|
|
<where>
|
|
|
|
|
<if test="user != null and user != ''">
|
|
|
|
|
AND WIP."workOrder" like '%${user}%'
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
ORDER BY WIP."workOrder" DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="qualityRepairReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
|
|
|
SELECT * FROM
|
|
|
|
|
(SELECT zab.WORK_ORDER "workOrder",
|
|
|
|
@ -1537,7 +1571,7 @@
|
|
|
|
|
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE
|
|
|
|
|
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
|
|
|
|
|
CROSS JOIN WEEK
|
|
|
|
|
WHERE (ZSD.DISPATCH_STATUS != 'COMPLETE' AND ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE')
|
|
|
|
|
WHERE (ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE' AND ZSD.DISPATCH_STATUS != 'COMPLETE')
|
|
|
|
|
AND ZSD.PLANNED_COMP_DATE IS NOT NULL
|
|
|
|
|
-- AND ZSD.CREATED_DATE_TIME > TO_DATE(TRUNC(TO_DATE(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd'),'IW') - 8 * 7)
|
|
|
|
|
GROUP BY O.OPERATION,OT.DESCRIPTION
|
|
|
|
@ -1628,8 +1662,9 @@
|
|
|
|
|
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE
|
|
|
|
|
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
|
|
|
|
|
CROSS JOIN MONTH
|
|
|
|
|
WHERE (ZSD.DISPATCH_STATUS != 'COMPLETE' AND ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE')
|
|
|
|
|
WHERE (ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE')
|
|
|
|
|
AND ZSD.PLANNED_COMP_DATE IS NOT NULL
|
|
|
|
|
|
|
|
|
|
GROUP BY O.OPERATION,OT.DESCRIPTION
|
|
|
|
|
ORDER BY O.OPERATION DESC ) WIP
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='MONTH_CAPACITY' AND CF.HANDLE = 'OperationBO:1000,'|| WIP."operation" || ',1.0'
|
|
|
|
@ -1643,4 +1678,271 @@
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
</select>
|
|
|
|
|
<select id="weekDeliveryRateReport" resultType="java.util.HashMap" parameterType="java.util.HashMap">
|
|
|
|
|
SELECT WIP.WORK_CENTER "workCenter",
|
|
|
|
|
WIP.RESRCE "resrceCode",
|
|
|
|
|
WIP.OPERATION_DESCRIPTION "operationDescription",
|
|
|
|
|
WIP.RESRCE_DESCRIPTION "resrceDescription",
|
|
|
|
|
WIP.SUM_QTY "sumQTY",
|
|
|
|
|
WIP.SUM_DONE_QTY "sumDoneQTY",
|
|
|
|
|
TO_CHAR(DECODE(WIP.SUM_QTY,0,0,WIP.SUM_DONE_QTY / WIP.SUM_QTY) * 100, '99990.99') || '%' "QTYrate",
|
|
|
|
|
WIP.SUM_HOURS "sumHours",
|
|
|
|
|
WIP.SUM_DONE_HOURS "sumDoneHours",
|
|
|
|
|
TO_CHAR(DECODE(WIP.SUM_HOURS,0,0,WIP.SUM_DONE_HOURS / WIP.SUM_HOURS) * 100, '99990.99') || '%' "HOURSrate"
|
|
|
|
|
FROM
|
|
|
|
|
(SELECT wct.DESCRIPTION WORK_CENTER,
|
|
|
|
|
r.RESRCE,
|
|
|
|
|
OT.DESCRIPTION OPERATION_DESCRIPTION,
|
|
|
|
|
r.DESCRIPTION RESRCE_DESCRIPTION,
|
|
|
|
|
SUM(zsd.DISPATCH_QTY) SUM_QTY,
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND SYSDATE > zsd.ACTUAL_COMPLETE_DATE THEN zsd.DISPATCH_QTY
|
|
|
|
|
ELSE 0 END) SUM_DONE_QTY,
|
|
|
|
|
SUM(zsd.PROD_HOURS) SUM_HOURS,
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND SYSDATE > zsd.ACTUAL_COMPLETE_DATE THEN zsd.PROD_HOURS
|
|
|
|
|
ELSE 0 END) SUM_DONE_HOURS
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
|
LEFT JOIN WORK_CENTER wc ON zsd.WORK_CENTER = wc.WORK_CENTER
|
|
|
|
|
LEFT JOIN WORK_CENTER_T wct ON wc.HANDLE = wct.WORK_CENTER_BO
|
|
|
|
|
LEFT JOIN RESRCE r ON r.RESRCE = zsd.RESRCE AND r.SITE = zsd.SITE
|
|
|
|
|
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE
|
|
|
|
|
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
|
|
|
|
|
WHERE zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'NEW'
|
|
|
|
|
AND zsd.RESRCE IS NOT NULL
|
|
|
|
|
<if test="workCenter != null and workCenter != ''">
|
|
|
|
|
AND wc.WORK_CENTER = #{workCenter}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startDate != null and startDate != ''">
|
|
|
|
|
AND zsd.PLANNED_COMP_DATE >= TO_DATE(#{startDate},'YYYY-mm-dd')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="endDate != null and endDate != ''">
|
|
|
|
|
AND zsd.PLANNED_COMP_DATE <= TO_DATE(#{endDate},'YYYY-mm-dd')
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY wct.DESCRIPTION, r.RESRCE, r.DESCRIPTION, OT.DESCRIPTION) WIP
|
|
|
|
|
<where>
|
|
|
|
|
1=1
|
|
|
|
|
<if test="resrce != null and resrce != ''">
|
|
|
|
|
AND WIP.RESRCE = #{resrce}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="operationDescription != null and operationDescription != ''">
|
|
|
|
|
AND WIP.OPERATION_DESCRIPTION = #{operationDescription}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
ORDER BY WIP.SUM_HOURS DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="monthDeliveryRateReport" parameterType="java.util.HashMap" resultType="java.util.Map" >
|
|
|
|
|
SELECT WIP.WORK_CENTER "workCenter",
|
|
|
|
|
WIP.RESRCE "resrceCode",
|
|
|
|
|
WIP.OPERATION_DESCRIPTION "operationDescription",
|
|
|
|
|
WIP.RESRCE_DESCRIPTION "resrceDescription",
|
|
|
|
|
WIP.SUM_QTY "sumQTY",
|
|
|
|
|
WIP.SUM_DONE_QTY "sumDoneQTY",
|
|
|
|
|
TO_CHAR(DECODE(WIP.SUM_QTY,0,0,WIP.SUM_DONE_QTY / WIP.SUM_QTY) * 100, '99990.99') || '%' "QTYrate",
|
|
|
|
|
WIP.SUM_HOURS "sumHours",
|
|
|
|
|
WIP.SUM_DONE_HOURS "sumDoneHours",
|
|
|
|
|
TO_CHAR(DECODE(WIP.SUM_HOURS,0,0,WIP.SUM_DONE_HOURS / WIP.SUM_HOURS) * 100, '99990.99') || '%' "HOURSrate"
|
|
|
|
|
FROM
|
|
|
|
|
(SELECT wct.DESCRIPTION WORK_CENTER,
|
|
|
|
|
r.RESRCE,
|
|
|
|
|
OT.DESCRIPTION OPERATION_DESCRIPTION,
|
|
|
|
|
r.DESCRIPTION RESRCE_DESCRIPTION,
|
|
|
|
|
SUM(zsd.DISPATCH_QTY) SUM_QTY,
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND SYSDATE > zsd.ACTUAL_COMPLETE_DATE THEN zsd.DISPATCH_QTY
|
|
|
|
|
ELSE 0 END) SUM_DONE_QTY,
|
|
|
|
|
SUM(zsd.PROD_HOURS) SUM_HOURS,
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND SYSDATE > zsd.ACTUAL_COMPLETE_DATE THEN zsd.PROD_HOURS
|
|
|
|
|
ELSE 0 END) SUM_DONE_HOURS
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
|
LEFT JOIN WORK_CENTER wc ON zsd.WORK_CENTER = wc.WORK_CENTER
|
|
|
|
|
LEFT JOIN WORK_CENTER_T wct ON wc.HANDLE = wct.WORK_CENTER_BO
|
|
|
|
|
LEFT JOIN RESRCE r ON r.RESRCE = zsd.RESRCE AND r.SITE = zsd.SITE
|
|
|
|
|
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE
|
|
|
|
|
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
|
|
|
|
|
WHERE zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'NEW'
|
|
|
|
|
AND zsd.RESRCE IS NOT NULL
|
|
|
|
|
<if test="workCenter != null and workCenter != ''">
|
|
|
|
|
AND wc.WORK_CENTER = #{workCenter}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startDate != null and startDate != ''">
|
|
|
|
|
AND zsd.PLANNED_COMP_DATE >= TO_DATE(#{startDate},'YYYY-mm')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="endDate != null and endDate != ''">
|
|
|
|
|
AND zsd.PLANNED_COMP_DATE <= TO_DATE(#{endDate},'YYYY-mm')
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY wct.DESCRIPTION, r.RESRCE, r.DESCRIPTION, OT.DESCRIPTION) WIP
|
|
|
|
|
<where>
|
|
|
|
|
1=1
|
|
|
|
|
<if test="resrce != null and resrce != ''">
|
|
|
|
|
AND WIP.RESRCE = #{resrce}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="operationDescription != null and operationDescription != ''">
|
|
|
|
|
AND WIP.OPERATION_DESCRIPTION = #{operationDescription}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
ORDER BY WIP.SUM_HOURS DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="itemProductProgressReport" parameterType="java.util.HashMap" resultType="java.util.Map">
|
|
|
|
|
SELECT cf.VALUE "projectNo",--项目号
|
|
|
|
|
cf2.VALUE "workOrder",--工作令
|
|
|
|
|
zsd.SHOP_ORDER "shopOrder",--订单编号
|
|
|
|
|
i.ITEM "item", --物料编号
|
|
|
|
|
it.DESCRIPTION "itemDescription",--物料描述
|
|
|
|
|
MIN(zsd.ACTUAL_START_DATE) "actualStartDate",--最小实际开始时间
|
|
|
|
|
MAX(zsd.ACTUAL_COMPLETE_DATE) "actualCompeteDate",--最大实际完成时间
|
|
|
|
|
TO_CHAR(MAX(zsd.ACTUAL_COMPLETE_DATE) - MIN(zsd.ACTUAL_START_DATE), '99990.99') "productProgress"
|
|
|
|
|
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 AND I.SITE = SO.SITE
|
|
|
|
|
LEFT JOIN ITEM_T it ON it.ITEM_BO = so.ITEM_BO AND it.LOCALE = 'zh'
|
|
|
|
|
WHERE zsd.SITE = '1000'
|
|
|
|
|
AND ZSD.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND ZSD.DISPATCH_STATUS != 'PAUSE'
|
|
|
|
|
AND zsd.ACTUAL_COMPLETE_DATE IS NOT NULL
|
|
|
|
|
AND cf.VALUE IS NOT NULL
|
|
|
|
|
AND cf2.VALUE IS NOT NULL
|
|
|
|
|
<if test="item != null and item != ''">
|
|
|
|
|
AND cf.VALUE = #{item}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="career != null and career != ''">
|
|
|
|
|
AND cf2.VALUE LIKE '%${career}%'
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startFromDate != null and startFromDate != ''">
|
|
|
|
|
AND zsd.ACTUAL_START_DATE >= TO_DATE(#{startFromDate},'YYYY-mm-dd')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startToDate != null and startToDate != ''">
|
|
|
|
|
AND zsd.ACTUAL_START_DATE <= TO_DATE(#{startToDate},'YYYY-mm-dd')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="completeFromDate != null and completeFromDate != ''">
|
|
|
|
|
AND zsd.ACTUAL_COMPLETE_DATE >= TO_DATE(#{completeFromDate},'YYYY-mm-dd')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="completeToDate != null and completeToDate != ''">
|
|
|
|
|
AND zsd.ACTUAL_COMPLETE_DATE <= TO_DATE(#{completeToDate},'YYYY-mm-dd')
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY cf.VALUE, cf2.VALUE, zsd.SHOP_ORDER, i.ITEM, it.DESCRIPTION
|
|
|
|
|
ORDER BY cf.VALUE DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="qualityInspectionResponseReport" parameterType="java.util.HashMap" resultType="java.util.Map">
|
|
|
|
|
--质量检验响应时间报表
|
|
|
|
|
SELECT WT.DESCRIPTION "workCenter",
|
|
|
|
|
C2.VALUE "projectNo",
|
|
|
|
|
C1.VALUE "workOrder",
|
|
|
|
|
SO.SHOP_ORDER "shopOrder",
|
|
|
|
|
IM.ITEM "item",
|
|
|
|
|
IT.DESCRIPTION "itemDescription",
|
|
|
|
|
zsd.DISPATCH_QTY "inspectionQTY",
|
|
|
|
|
OT.DESCRIPTION "operationDescription",
|
|
|
|
|
zsd.EMPLOYEE_DESCRIPTION "declarationUser",
|
|
|
|
|
ZT.CREATED_DATE_TIME "declarationTime",
|
|
|
|
|
ZT.MODIFIED_DATE_TIME "inspectionDoneTime",
|
|
|
|
|
TO_CHAR((ZT.MODIFIED_DATE_TIME - ZT.CREATED_DATE_TIME) * 24,'99990.99') "hoursDiff",
|
|
|
|
|
ZNU.FULL_NAME "inspectionUser"
|
|
|
|
|
FROM Z_INSPECTION_TASK ZT
|
|
|
|
|
LEFT JOIN WORK_CENTER WC ON WC.SITE = ZT.SITE AND WC.WORK_CENTER = ZT.WORK_CENTER
|
|
|
|
|
LEFT JOIN WORK_CENTER_T WT ON WT.WORK_CENTER_BO = WC.HANDLE AND WT.LOCALE = 'zh'
|
|
|
|
|
INNER JOIN SHOP_ORDER SO ON ZT.SITE = SO.SITE AND ZT.SHOP_ORDER = SO.SHOP_ORDER
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS C1 ON C1.HANDLE = SO.HANDLE AND C1."ATTRIBUTE" = 'WORK_ORDER'
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS C2 ON C2.HANDLE = SO.HANDLE AND C2."ATTRIBUTE" = 'ITEM_NUMBER'
|
|
|
|
|
INNER JOIN ITEM IM ON IM.HANDLE = SO.ITEM_BO
|
|
|
|
|
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = IM.HANDLE
|
|
|
|
|
INNER JOIN OPERATION OP ON OP.SITE = ZT.SITE AND OP.OPERATION = ZT.OPERATION AND OP.CURRENT_REVISION = 'true'
|
|
|
|
|
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = OP.HANDLE
|
|
|
|
|
LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZT.MODIFY_USER
|
|
|
|
|
INNER JOIN Z_SFC_DISPATCH zsd ON zsd.HANDLE = ZT.SFC_DISPATCH_BO
|
|
|
|
|
WHERE ZT.CREATED_DATE_TIME < ZT.MODIFIED_DATE_TIME
|
|
|
|
|
<if test="projectNo != null and projectNo != ''">
|
|
|
|
|
AND C2.VALUE = #{projectNo}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="workCenter != null and workCenter != ''">
|
|
|
|
|
AND ZT.WORK_CENTER = #{workCenter}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="shopOrder != null and shopOrder != ''">
|
|
|
|
|
AND SO.SHOP_ORDER = #{shopOrder}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="item != null and item != ''">
|
|
|
|
|
AND IM.ITEM = #{item}
|
|
|
|
|
</if>
|
|
|
|
|
ORDER BY ZT.MODIFIED_DATE_TIME DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="capacityLoad" resultType="java.util.Map">
|
|
|
|
|
--设备产能负荷看板看板接口
|
|
|
|
|
SELECT WIP.* FROM (WITH WEEK AS (
|
|
|
|
|
SELECT TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') WEEK0,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 1 WEEK1,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 2 WEEK2,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 3 WEEK3,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 4 WEEK4,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 5 WEEK5,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 6 WEEK6,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 7 WEEK7,
|
|
|
|
|
TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 8 WEEK8
|
|
|
|
|
FROM DUAL)
|
|
|
|
|
SELECT wct.DESCRIPTION "descripion",
|
|
|
|
|
rt.RESOURCE_TYPE "resourceType",
|
|
|
|
|
rt.DESCRIPTION "resourceDescription",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN SYSDATE > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "tardinessWork",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK0) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK1)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity1",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK1) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK2)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity2",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK2) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK3)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity3",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK3) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK4)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity4",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK4) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK5)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity5",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK5) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK6)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity6",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK6) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK7)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity7",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK7) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK8)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
ELSE 0 END) "planCapacity8",
|
|
|
|
|
MAX(CF.VALUE) "standardWeekCapacity",
|
|
|
|
|
MAX(CF2.VALUE) "standardMonthCapacity"
|
|
|
|
|
FROM Z_SFC_DISPATCH ZSD
|
|
|
|
|
LEFT JOIN WORK_CENTER wc ON zsd.WORK_CENTER = wc.WORK_CENTER
|
|
|
|
|
LEFT JOIN WORK_CENTER_T wct ON wc.HANDLE = wct.WORK_CENTER_BO
|
|
|
|
|
LEFT JOIN RESOURCE_TYPE rt ON rt.RESOURCE_TYPE = ZSD.RESOURCE_TYPE
|
|
|
|
|
CROSS JOIN WEEK
|
|
|
|
|
LEFT JOIN OPERATION O ON O.RESOURCE_TYPE_BO = rt.HANDLE AND O.SITE = rt.SITE
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE = 'WEEK_CAPACITY'
|
|
|
|
|
AND CF.HANDLE = 'OperationBO:1000,' || o.OPERATION || ',1.0'
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF2 ON CF2.ATTRIBUTE = 'MONTH_CAPACITY'
|
|
|
|
|
AND CF2.HANDLE = 'OperationBO:1000,' || o.OPERATION || ',1.0'
|
|
|
|
|
WHERE zsd.DISPATCH_STATUS != 'CANCEL'
|
|
|
|
|
AND zsd.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
AND CF.VALUE IS NOT NULL
|
|
|
|
|
AND CF2.VALUE IS NOT NULL
|
|
|
|
|
<if test="workCenter != null and workCenter != ''">
|
|
|
|
|
AND wc.WORK_CENTER = #{workCenter}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY wct.DESCRIPTION, rt.RESOURCE_TYPE, rt.DESCRIPTION
|
|
|
|
|
ORDER BY "planCapacity1" DESC ) WIP
|
|
|
|
|
WHERE 8 >= ROWNUM
|
|
|
|
|
</select>
|
|
|
|
|
</mapper>
|