|
|
|
@ -1505,8 +1505,8 @@
|
|
|
|
|
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 ZSD.OPERATION "operation",
|
|
|
|
|
R.DESCRIPTION "resourceDescription",
|
|
|
|
|
SELECT O.OPERATION "operation",
|
|
|
|
|
OT.DESCRIPTION "operationDescription",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN SYSDATE > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork",
|
|
|
|
|
SUM(CASE
|
|
|
|
@ -1532,26 +1532,115 @@
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "unWorkHours7",
|
|
|
|
|
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) "unWorkHours8",
|
|
|
|
|
R.RESRCE
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "unWorkHours8"
|
|
|
|
|
FROM Z_SFC_DISPATCH ZSD
|
|
|
|
|
LEFT JOIN RESRCE R ON R.SITE = ZSD.SITE AND R.RESRCE = ZSD.RESRCE
|
|
|
|
|
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')
|
|
|
|
|
AND R.DESCRIPTION IS NOT NULL
|
|
|
|
|
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 ZSD.OPERATION, R.DESCRIPTION,R.RESRCE
|
|
|
|
|
ORDER BY "tardinessWork" DESC) WIP
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = 'ResourceBO:'|| #{site} || ','|| WIP.RESRCE
|
|
|
|
|
GROUP BY O.OPERATION,OT.DESCRIPTION
|
|
|
|
|
ORDER BY "tardinessWork" DESC ) WIP
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = 'OperationBO:1000,'|| WIP."operation" || ',1.0'
|
|
|
|
|
<where>
|
|
|
|
|
1=1
|
|
|
|
|
<if test="operation != null and operation != ''">
|
|
|
|
|
AND WIP."operation" = #{operation}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="resourceDescription != null and resourceDescription != ''">
|
|
|
|
|
AND WIP."resourceDescription" = #{resourceDescription}
|
|
|
|
|
<if test="operationDescription != null and operationDescription != ''">
|
|
|
|
|
AND WIP."operationDescription" = #{operationDescription}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
</select>
|
|
|
|
|
<select id="monthLoadRateReport" resultType="java.util.HashMap" parameterType="java.util.HashMap">
|
|
|
|
|
--资源负荷率报表(月维度)
|
|
|
|
|
SELECT WIP.*,
|
|
|
|
|
CF.VALUE "monthCapacity",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours1" / CF.VALUE) * 100, '99990.99') || '%' "monthRate1",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours2" / CF.VALUE) * 100, '99990.99') || '%' "monthRate2",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours3" / CF.VALUE) * 100, '99990.99') || '%' "monthRate3",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours4" / CF.VALUE) * 100, '99990.99') || '%' "monthRate4",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours5" / CF.VALUE) * 100, '99990.99') || '%' "monthRate5",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours6" / CF.VALUE) * 100, '99990.99') || '%' "monthRate6",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours7" / CF.VALUE) * 100, '99990.99') || '%' "monthRate7",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours8" / CF.VALUE) * 100, '99990.99') || '%' "monthRate8",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours9" / CF.VALUE) * 100, '99990.99') || '%' "monthRate9",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours10" / CF.VALUE) * 100, '99990.99') || '%' "monthRate10",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours11" / CF.VALUE) * 100, '99990.99') || '%' "monthRate11",
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours12" / CF.VALUE) * 100, '99990.99') || '%' "monthRate12"
|
|
|
|
|
FROM (
|
|
|
|
|
WITH MONTH AS (
|
|
|
|
|
SELECT ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 0 - #{month}) month0,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 1- #{month}) month1,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 2- #{month}) month2,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 3- #{month}) month3,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 4- #{month}) month4,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 5- #{month}) month5,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 6- #{month}) month6,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 7- #{month}) month7,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 8- #{month}) month8,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 9- #{month}) month9,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 10- #{month}) month10,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 11- #{month}) month11,
|
|
|
|
|
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 12- #{month}) month12
|
|
|
|
|
FROM DUAL)
|
|
|
|
|
SELECT O.OPERATION "operation",
|
|
|
|
|
OT.DESCRIPTION "operationDescription",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month0) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month1)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours1",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month1) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month2)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours2",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month2) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month3)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours3",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month3) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month4)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours4",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month4) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month5)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours5",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month5) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month6)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours6",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month6) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month7)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours7",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month7) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month8)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours8",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month8) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month9)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours9",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month9) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month10)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours10",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month10) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month11)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours11",
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month11) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month12)
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours12"
|
|
|
|
|
|
|
|
|
|
FROM Z_SFC_DISPATCH ZSD
|
|
|
|
|
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')
|
|
|
|
|
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'
|
|
|
|
|
<where>
|
|
|
|
|
1=1
|
|
|
|
|
<if test="operation != null and operation != ''">
|
|
|
|
|
AND WIP."operation" = #{operation}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="operationDescription != null and operationDescription != ''">
|
|
|
|
|
AND WIP."operationDescription" = #{operationDescription}
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
</select>
|
|
|
|
|
</mapper>
|