@ -1155,16 +1155,16 @@
WIP.shopOrderQTY "shopOrderQTY",
WIP.doneQTY "doneQTY",--已完成数量
WIP.rate || '%' "rate",
OT.DESCRIP TION "currentOperation",
zsd2.CURRENT_OPERA TION "currentOperation",
WIP.nextOperationNum "nextOperationNum",
zsd2 .PLANNED_COMP_DATE "currentPlanTime",
zsd3 .PLANNED_COMP_DATE "currentPlanTime",
WIP.endPlanTime "endPlanTime",
WIP.rework "rework",--是否返修工序
CASE
WHEN WIP.nextOperationNum > 0 AND SYSDATE > zsd2.PLANNED_COMP_DATE AND zsd2 .DISPATCH_STATUS != 'COMPLETE'
WHEN WIP.nextOperationNum > 0 AND SYSDATE > zsd3.PLANNED_COMP_DATE AND zsd3 .DISPATCH_STATUS != 'COMPLETE'
THEN 'true'
WHEN WIP.nextOperationNum = 0 AND WIP.rate !=100.00 AND SYSDATE > zsd2 .PLANNED_COMP_DATE AND
zsd2 .DISPATCH_STATUS != 'COMPLETE'
WHEN WIP.nextOperationNum = 0 AND WIP.rate !=100.00 AND SYSDATE > zsd3 .PLANNED_COMP_DATE AND
zsd3 .DISPATCH_STATUS != 'COMPLETE'
THEN 'true'
ELSE 'false' END "isOverTime" --当前工序是否超时
FROM (SELECT cf.VALUE item,--项目号
@ -1174,20 +1174,20 @@
it.DESCRIPTION itemDescription,--物料描述
MAX(zsd.DISPATCH_QTY) shopOrderQTY,--订单数量
MIN(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND zsd.DISPATCH_STATUS = 'CANCEL' THEN
zsd.DISPATCH_QTY
ELSE 0 END) doneQTY, --已完成数量
TO_CHAR(
DECODE(SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND zsd.DISPATCH_STATUS = 'CANCEL' THEN
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END), 0, 0, SUM(CASE
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' AND zsd.DISPATCH_STATUS = 'CANCEL' THEN
zsd.PROD_HOURS * zsd.DISPATCH_QTY
ELSE 0 END) / SUM(zsd.PROD_HOURS * zsd.DISPATCH_QTY))
* 100, '99990.99') rate,--进度(工时百分比)
MAX(zsd.ACTUAL_START_DATE) ACTUAL_START_DATE,--最大实际开始时间
SUM(CASE WHEN zsd.DISPATCH_STATUS != 'COMPLETE' THEN 1 ELSE 0 END) nextOperationNum,--剩余工序数量
SUM(CASE WHEN zsd.DISPATCH_STATUS != 'COMPLETE' AND zsd.DISPATCH_STATUS != 'CANCEL' THEN 1 ELSE 0 END) nextOperationNum,--剩余工序数量
MAX(zsd.PLANNED_COMP_DATE) endPlanTime,--计划最终交付时间
rs.REWORK rework,--是否返修工序
zsd.SITE SITE
@ -1201,16 +1201,25 @@
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 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
ORDER BY rate
) WIP
LEFT JOIN Z_SFC_DISPATCH zsd2 ON WIP.shopOrder = ZSD2.SHOP_ORDER AND WIP.SFC = zsd2.SFC
AND WIP.SITE = zsd2.SITE AND WIP.ACTUAL_START_DATE = zsd2.ACTUAL_START_DATE
INNER JOIN OPERATION O ON O.SITE = WIP.SITE AND O.OPERATION = zsd2.OPERATION AND O.CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = 'zh'
LEFT JOIN (SELECT zsd1.SITE,zsd1.SFC,MAX(zsd1.STEP_ID) STEP_ID,MAX(zsd1.CURRENT_OPERATION) CURRENT_OPERATION FROM (
SELECT zsd0.SITE,zsd0.SFC,OT.DESCRIPTION CURRENT_OPERATION,ss.STEP_ID
FROM Z_SFC_DISPATCH zsd0
LEFT JOIN SFC s2 ON s2.SFC = zsd0.SFC AND s2.SITE = zsd0.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 o
ON ss.OPERATION_BO = 'OperationBO:'||o.SITE||','||o.OPERATION||',#' AND o.CURRENT_REVISION = 'true' AND o.SITE = zsd0.SITE AND o.CURRENT_REVISION = 'true'
and zsd0.OPERATION = o.OPERATION
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE AND OT.LOCALE = 'zh') zsd1
GROUP BY zsd1.SITE,zsd1.SFC) zsd2 ON WIP.SFC = zsd2.SFC AND WIP.SITE = zsd2.SITE
LEFT JOIN Z_SFC_DISPATCH zsd3 ON zsd3.SFC = zsd2.SFC AND zsd3.STEP_ID = zsd2.STEP_ID AND zsd3.SITE = zsd2.SITE
<where >
<if test= "workOrder != null and finished == 'true'" >
AND WIP.rate = 100.00
@ -1545,84 +1554,84 @@
</where>
</select>
<select id= "weekLoadRateReport" resultType= "java.util.HashMap" parameterType= "java.util.HashMap" >
--资源负荷率报表(周维度)
SELECT CF.VALUE "weekCapacity",WIP.*,
WIP.RESOURCE_TYPE_DESCRIPTION "DESCRIPTION",
WIP.WORK_CENTER_DESCRIPTION "workCenterDescription",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours1" / CF.VALUE) * 100, '99990.99') || '%' "weekRate1",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours2" / CF.VALUE) * 100, '99990.99') || '%' "weekRate2",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours3" / CF.VALUE) * 100, '99990.99') || '%' "weekRate3",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours4" / CF.VALUE) * 100, '99990.99') || '%' "weekRate4",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours5" / CF.VALUE) * 100, '99990.99') || '%' "weekRate5",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours6" / CF.VALUE) * 100, '99990.99') || '%' "weekRate6",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours7" / CF.VALUE) * 100, '99990.99') || '%' "weekRate7",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours8" / CF.VALUE) * 100, '99990.99') || '%' "weekRate8"
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 O.OPERATION "operation",
OT.DESCRIPTION "operationDescription",
RT.DESCRIPTION,
SUM(CASE
WHEN TO_DATE(trunc(sysdate,'month ')) > 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) "unWorkHours1",
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) "unWorkHours2",
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) "unWorkHours3",
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) "unWorkHours4",
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) "unWorkHours5",
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) "unWorkHours6",
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) "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",
WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,
RT.DESCRIPTION RESOURCE_TYPE_DESCRIPTION
FROM Z_SFC_DISPATCH ZSD
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE AND CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE
LEFT JOIN RESOURCE_TYPE RT ON ZSD.RESOURCE_TYPE = RT.RESOURCE_TYPE
CROSS JOIN WEEK
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)
<if test= "workCenter != null and workCenter != ''" >
AND ZSD.WORK_CENTER = #{workCenter}
</if>
GROUP BY O.OPERATION,OT.DESCRIPTION,WCT.DESCRIPTION,RT.DESCRIPTION
ORDER BY "tardinessWork" DESC ) WIP
LEFT JOIN OPERATION OP ON OP.OPERATION = WIP."operation" AND CURRENT_REVISION = 'true'
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = OP.HANDLE
<where >
1=1
<if test= "operation != null and operation != ''" >
AND WIP."operation" = #{operation}
</if>
<if test= "operationDescription != null and operationDescription != ''" >
AND WIP."operationDescription" = #{operationDescription}
--资源负荷率报表(周维度)
SELECT CF.VALUE "weekCapacity",WIP.*,
WIP.RESOURCE_TYPE_DESCRIPTION "DESCRIPTION",
WIP.WORK_CENTER_DESCRIPTION "workCenterDescription",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours1" / CF.VALUE) * 100, '99990.99') || '%' "weekRate1",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours2" / CF.VALUE) * 100, '99990.99') || '%' "weekRate2",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours3" / CF.VALUE) * 100, '99990.99') || '%' "weekRate3",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours4" / CF.VALUE) * 100, '99990.99') || '%' "weekRate4",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours5" / CF.VALUE) * 100, '99990.99') || '%' "weekRate5",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours6" / CF.VALUE) * 100, '99990.99') || '%' "weekRate6",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours7" / CF.VALUE) * 100, '99990.99') || '%' "weekRate7",
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."unWorkHours8" / CF.VALUE) * 100, '99990.99') || '%' "weekRate8"
FROM (WITH WEEK AS (
SELECT TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') WEEK0,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 1 WEEK1,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 2 WEEK2,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 3 WEEK3,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 4 WEEK4,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 5 WEEK5,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 6 WEEK6,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 7 WEEK7,
TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 8 WEEK8
FROM DUAL)
SELECT O.OPERATION "operation",
OT.DESCRIPTION "operationDescription",
RT.DESCRIPTION,
SUM(CASE
WHEN TO_DATE(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW ')) > 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) "unWorkHours1",
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) "unWorkHours2",
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) "unWorkHours3",
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) "unWorkHours4",
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) "unWorkHours5",
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) "unWorkHours6",
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) "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",
WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,
RT.DESCRIPTION RESOURCE_TYPE_DESCRIPTION
FROM Z_SFC_DISPATCH ZSD
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE AND CURRENT_REVISION = 'true'
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE
LEFT JOIN RESOURCE_TYPE RT ON ZSD.RESOURCE_TYPE = RT.RESOURCE_TYPE
CROSS JOIN WEEK
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)
<if test= "workCenter != null and workCenter != ''" >
AND ZSD.WORK_CENTER = #{workCenter}
</if>
GROUP BY O.OPERATION,OT.DESCRIPTION,WCT.DESCRIPTION,RT.DESCRIPTION
ORDER BY "tardinessWork" DESC ) WIP
LEFT JOIN OPERATION OP ON OP.OPERATION = WIP."operation" AND CURRENT_REVISION = 'true'
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = OP.HANDLE
<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>
@ -1646,24 +1655,24 @@
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
SELECT ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 0 - #{month}) month0,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 1- #{month}) month1,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 2- #{month}) month2,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 3- #{month}) month3,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 4- #{month}) month4,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 5- #{month}) month5,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 6- #{month}) month6,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 7- #{month}) month7,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 8- #{month}) month8,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 9- #{month}) month9,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 10- #{month}) month10,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 11- #{month}) month11,
ADD_MONTHS(TRUNC(TO_DATE(TO_CHAR(sysdate - 8/24 , 'yyyy-MM'), 'yyyy-MM'), 'yyyy'), 12- #{month}) month12
FROM DUAL)
SELECT O.OPERATION "operation",
OT.DESCRIPTION "operationDescription",
SUM(CASE
WHEN TO_DATE(trunc(sysdate,'month')) > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork",
WHEN TO_DATE(trunc(sysdate - 8/24 ,'month')) > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork",
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",
@ -1856,7 +1865,7 @@
AND cf.VALUE IS NOT NULL
AND cf2.VALUE IS NOT NULL
<if test= "item != null and item != ''" >
AND cf.VALUE = #{item}
AND cf.VALUE LIKE '%${item}%'
</if>
<if test= "career != null and career != ''" >
AND cf2.VALUE LIKE '%${career}%'