|
|
|
@ -1167,7 +1167,8 @@
|
|
|
|
|
CASE
|
|
|
|
|
WHEN WIP.nextOperationNum > 0 AND SYSDATE > zsd2.PLANNED_COMP_DATE AND zsd2.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 > zsd2.PLANNED_COMP_DATE AND
|
|
|
|
|
zsd2.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
THEN 'true'
|
|
|
|
|
ELSE 'false' END "isOverTime" --当前工序是否超时
|
|
|
|
|
FROM (SELECT cf.VALUE item,--项目号
|
|
|
|
@ -1396,7 +1397,100 @@
|
|
|
|
|
ORDER BY"rate" DESC
|
|
|
|
|
</select>
|
|
|
|
|
<select id="qualityRepairReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT * FROM
|
|
|
|
|
(SELECT zab.WORK_ORDER "workOrder",
|
|
|
|
|
i.ITEM "item",
|
|
|
|
|
"MAP".VALUE "mapNo",
|
|
|
|
|
zab.PB_DESCRIPTION "problemDescription",
|
|
|
|
|
CASE
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'F' THEN '返修'
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'FW' THEN '返修(外协)'
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'FB' THEN '返修(不返回原工艺)'
|
|
|
|
|
ELSE ''
|
|
|
|
|
END "abnormalMethod",
|
|
|
|
|
zab.CREATED_DATE_TIME "submissionTime",
|
|
|
|
|
zabd.RESOLVE_DATE_TIME "resolveDateTime",
|
|
|
|
|
ZSDD.SFC_RELEASED_DATE "dispatchingTime",
|
|
|
|
|
ZSDD.PLANNED_COMP_DATE "estimatedCompletionTime",
|
|
|
|
|
ZSDD.ACTUAL_COMPLETE_DATE "actualCompletionTime",
|
|
|
|
|
OT.DESCRIPTION "operationDescription",
|
|
|
|
|
ZSDD.repairTotalNumber "repairTotalNumber",
|
|
|
|
|
ZSDD.surplusRepairNumber "surplusRepairNumber",
|
|
|
|
|
ZSDD.RATE "rate",
|
|
|
|
|
zab.SFC "SFC"
|
|
|
|
|
FROM Z_ABNORMAL_BILL zab
|
|
|
|
|
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zabd.ABNORMAL_BILL_BO = zab.HANDLE
|
|
|
|
|
LEFT JOIN ITEM i ON i.HANDLE = zab.ITEM_BO
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS "MAP" ON "MAP".HANDLE = i.HANDLE AND "MAP"."ATTRIBUTE" = 'DWG_NO'
|
|
|
|
|
LEFT JOIN (SELECT WIP.SFC_RELEASED_DATE,
|
|
|
|
|
WIP.PLANNED_COMP_DATE,
|
|
|
|
|
WIP.ACTUAL_COMPLETE_DATE,
|
|
|
|
|
WIP.STEP_ID,
|
|
|
|
|
zsd2.OPERATION,
|
|
|
|
|
WIP.repairTotalNumber,
|
|
|
|
|
WIP.surplusRepairNumber,
|
|
|
|
|
WIP.RATE,
|
|
|
|
|
WIP.SFC
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT zsd.SFC SFC,
|
|
|
|
|
MIN(zsd.SFC_RELEASED_DATE) SFC_RELEASED_DATE,
|
|
|
|
|
MAX(zsd.PLANNED_COMP_DATE) PLANNED_COMP_DATE,
|
|
|
|
|
MAX(zsd.ACTUAL_COMPLETE_DATE) ACTUAL_COMPLETE_DATE,
|
|
|
|
|
MAX(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
THEN zsd.STEP_ID
|
|
|
|
|
ELSE zsd.STEP_ID END
|
|
|
|
|
) STEP_ID,
|
|
|
|
|
COUNT(STEP_ID) repairTotalNumber,
|
|
|
|
|
SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS != 'COMPLETE'
|
|
|
|
|
THEN 1
|
|
|
|
|
ELSE 0 END
|
|
|
|
|
) surplusRepairNumber,
|
|
|
|
|
TO_CHAR(
|
|
|
|
|
DECODE(SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE' THEN
|
|
|
|
|
zsd.PROD_HOURS
|
|
|
|
|
ELSE 0 END), 0, 0, SUM(CASE
|
|
|
|
|
WHEN zsd.DISPATCH_STATUS = 'COMPLETE'
|
|
|
|
|
THEN
|
|
|
|
|
zsd.PROD_HOURS
|
|
|
|
|
ELSE 0 END) /
|
|
|
|
|
SUM(zsd.PROD_HOURS))
|
|
|
|
|
* 100, '99990.99') || '%' RATE --进度百分比
|
|
|
|
|
FROM Z_SFC_DISPATCH zsd
|
|
|
|
|
WHERE zsd.STEP_ID LIKE '9%'
|
|
|
|
|
GROUP BY zsd.SFC) WIP
|
|
|
|
|
LEFT JOIN Z_SFC_DISPATCH zsd2 ON zsd2.SFC = WIP.SFC AND WIP.STEP_ID = zsd2.STEP_ID
|
|
|
|
|
) ZSDD
|
|
|
|
|
ON ZSDD.SFC = zab.SFC
|
|
|
|
|
LEFT JOIN OPERATION O ON O.OPERATION = ZSDD.OPERATION AND O.SITE = ZAB.SITE AND O.CURRENT_REVISION = 'true'
|
|
|
|
|
LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO
|
|
|
|
|
WHERE zabd.ABNORMAL_METHOD = 'F'
|
|
|
|
|
OR zabd.ABNORMAL_METHOD = 'FW'
|
|
|
|
|
OR zabd.ABNORMAL_METHOD = 'FB'
|
|
|
|
|
AND zab.SFC IS NOT NULL
|
|
|
|
|
ORDER BY "submissionTime" DESC) FJ
|
|
|
|
|
<where>
|
|
|
|
|
1=1
|
|
|
|
|
<if test="item != null and item != ''">
|
|
|
|
|
AND FJ."item" = #{item}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="careerKey != null and careerKey != ''">
|
|
|
|
|
AND FJ."workOrder" like '%${careerKey}%'
|
|
|
|
|
</if>
|
|
|
|
|
<if test="startDateTime != null and startDateTime != ''">
|
|
|
|
|
AND FJ."resolveDateTime" >= TO_DATE(#{startDateTime}, 'YYYY-MM-DD')
|
|
|
|
|
</if>
|
|
|
|
|
<if test="endDateTime != null and endDateTime != ''">
|
|
|
|
|
AND FJ."resolveDateTime" <= TO_DATE(#{endDateTime}, 'YYYY-MM-DD')
|
|
|
|
|
</if>
|
|
|
|
|
<if test='isCompleted != null and isCompleted != "" and isCompleted == "0" '>
|
|
|
|
|
AND FJ."surplusRepairNumber" = #{isCompleted}
|
|
|
|
|
</if>
|
|
|
|
|
<if test='isCompleted != null and isCompleted != "" and isCompleted =="1" '>
|
|
|
|
|
AND FJ."surplusRepairNumber" > 0
|
|
|
|
|
</if>
|
|
|
|
|
</where>
|
|
|
|
|
</select>
|
|
|
|
|
</mapper>
|