|
|
@ -1586,9 +1586,14 @@
|
|
|
|
<select id="monthLoadRateReport" resultType="java.util.HashMap" parameterType="java.util.HashMap">
|
|
|
|
<select id="monthLoadRateReport" resultType="java.util.HashMap" parameterType="java.util.HashMap">
|
|
|
|
--资源负荷率报表(月维度)
|
|
|
|
--资源负荷率报表(月维度)
|
|
|
|
SELECT WIP.*,
|
|
|
|
SELECT WIP.*,
|
|
|
|
CF.VALUE "monthCapacity",
|
|
|
|
CF.VALUE "monthCapacity",
|
|
|
|
WIP.RESOURCE_TYPE_DESCRIPTION "DESCRIPTION",
|
|
|
|
CFD.VALUE "dayCapacity",
|
|
|
|
WIP.WORK_CENTER_DESCRIPTION "workCenterDescription",
|
|
|
|
ZWIP.currentCompletedWorkHours "currentCompletedWorkHours",
|
|
|
|
|
|
|
|
TO_CHAR(DECODE(CF.VALUE, NULL, '0.00', ZWIP.currentCompletedWorkHours / CF.VALUE) * 100, '99990.99') ||
|
|
|
|
|
|
|
|
'%' "currentCompletedRate",
|
|
|
|
|
|
|
|
ZWIP.currentPlanWorkHours "currentPlanWorkHours",
|
|
|
|
|
|
|
|
WIP.RESOURCE_TYPE_DESCRIPTION "DESCRIPTION",
|
|
|
|
|
|
|
|
WIP.WORK_CENTER_DESCRIPTION "workCenterDescription",
|
|
|
|
TO_CHAR(DECODE(CF.VALUE,NULL,0, WIP."workHours1" / CF.VALUE) * 100, '99990.99') || '%' "monthRate1",
|
|
|
|
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."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."workHours3" / CF.VALUE) * 100, '99990.99') || '%' "monthRate3",
|
|
|
@ -1620,7 +1625,9 @@
|
|
|
|
SELECT O.OPERATION "operation",
|
|
|
|
SELECT O.OPERATION "operation",
|
|
|
|
OT.DESCRIPTION "operationDescription",
|
|
|
|
OT.DESCRIPTION "operationDescription",
|
|
|
|
SUM(CASE
|
|
|
|
SUM(CASE
|
|
|
|
WHEN TO_DATE(trunc(sysdate,'month')) > (ZSD.PLANNED_COMP_DATE + 8/24) THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork",
|
|
|
|
WHEN TO_DATE(TRUNC(SYSDATE)) > (ZSD.PLANNED_COMP_DATE + 8 / 24)
|
|
|
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
|
|
|
ELSE 0 END) "tardinessWork",
|
|
|
|
SUM(CASE
|
|
|
|
SUM(CASE
|
|
|
|
WHEN (ZSD.PLANNED_COMP_DATE + 8/24) >= TO_DATE(MONTH.month0) AND (ZSD.PLANNED_COMP_DATE + 8/24) < TO_DATE(MONTH.month1)
|
|
|
|
WHEN (ZSD.PLANNED_COMP_DATE + 8/24) >= TO_DATE(MONTH.month0) AND (ZSD.PLANNED_COMP_DATE + 8/24) < TO_DATE(MONTH.month1)
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours1",
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours1",
|
|
|
@ -1675,8 +1682,40 @@
|
|
|
|
ORDER BY O.OPERATION ASC ) WIP
|
|
|
|
ORDER BY O.OPERATION ASC ) WIP
|
|
|
|
LEFT JOIN OPERATION OP ON OP.OPERATION = WIP."operation" AND CURRENT_REVISION = 'true'
|
|
|
|
LEFT JOIN OPERATION OP ON OP.OPERATION = WIP."operation" AND CURRENT_REVISION = 'true'
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='MONTH_CAPACITY' AND CF.HANDLE = OP.HANDLE
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='MONTH_CAPACITY' AND CF.HANDLE = OP.HANDLE
|
|
|
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS CFD ON CFD.ATTRIBUTE = 'DAY_CAPACITY' AND CFD.HANDLE = OP.HANDLE
|
|
|
|
|
|
|
|
LEFT JOIN (SELECT WCT.DESCRIPTION WCT_DESCRIPTION,
|
|
|
|
|
|
|
|
O.OPERATION OPERATION,
|
|
|
|
|
|
|
|
OT.DESCRIPTION OT_DESCRIPTION,
|
|
|
|
|
|
|
|
RT.DESCRIPTION RT_DESCRIPTION,
|
|
|
|
|
|
|
|
SUM(CASE
|
|
|
|
|
|
|
|
WHEN ZSD.DISPATCH_STATUS = 'COMPLETE' AND
|
|
|
|
|
|
|
|
to_char(add_months(last_day(sysdate) + 1, -1), 'yyyy-MM-dd') <=
|
|
|
|
|
|
|
|
to_char(ZSD.ACTUAL_COMPLETE_DATE + 8 / 24, 'yyyy-MM-dd')
|
|
|
|
|
|
|
|
AND to_char(last_day(add_months(last_day(sysdate) + 1, -1)), 'yyyy-MM-dd') >=
|
|
|
|
|
|
|
|
to_char(ZSD.ACTUAL_COMPLETE_DATE + 8 / 24, 'yyyy-MM-dd')
|
|
|
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
|
|
|
ELSE 0 END) currentCompletedWorkHours,
|
|
|
|
|
|
|
|
SUM(CASE
|
|
|
|
|
|
|
|
WHEN to_char(add_months(last_day(sysdate) + 1, -1), 'yyyy-MM-dd') <=
|
|
|
|
|
|
|
|
to_char(ZSD.PLANNED_COMP_DATE + 8 / 24, 'yyyy-MM-dd')
|
|
|
|
|
|
|
|
AND to_char(last_day(add_months(last_day(sysdate) + 1, -1)), 'yyyy-MM-dd') >=
|
|
|
|
|
|
|
|
to_char(ZSD.PLANNED_COMP_DATE + 8 / 24, 'yyyy-MM-dd')
|
|
|
|
|
|
|
|
THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS
|
|
|
|
|
|
|
|
ELSE 0 END) currentPlanWorkHours
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
GROUP BY O.OPERATION, OT.DESCRIPTION, WCT.DESCRIPTION, RT.DESCRIPTION) ZWIP
|
|
|
|
|
|
|
|
ON ZWIP.WCT_DESCRIPTION = WIP.WORK_CENTER_DESCRIPTION
|
|
|
|
|
|
|
|
AND ZWIP.OPERATION = WIP."operation" AND ZWIP.OT_DESCRIPTION = WIP."operationDescription" AND
|
|
|
|
|
|
|
|
ZWIP.RT_DESCRIPTION = WIP.RESOURCE_TYPE_DESCRIPTION
|
|
|
|
<where>
|
|
|
|
<where>
|
|
|
|
1=1
|
|
|
|
WIP."operation" IS NOT NULL
|
|
|
|
<if test="operation != null and operation != ''">
|
|
|
|
<if test="operation != null and operation != ''">
|
|
|
|
AND WIP."operation" = #{operation}
|
|
|
|
AND WIP."operation" = #{operation}
|
|
|
|
</if>
|
|
|
|
</if>
|
|
|
@ -2367,5 +2406,99 @@
|
|
|
|
</if>
|
|
|
|
</if>
|
|
|
|
GROUP BY wct.DESCRIPTION, WIP.USER_NAME
|
|
|
|
GROUP BY wct.DESCRIPTION, WIP.USER_NAME
|
|
|
|
</select>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="qualityProblemsInfoReport" resultType="java.util.Map">
|
|
|
|
|
|
|
|
SELECT zab.CREATED_DATE_TIME,
|
|
|
|
|
|
|
|
zab.ABNORMAL_NO ABNORMAL_NO,
|
|
|
|
|
|
|
|
dflt.DATA_TAG PRODUCT_CATEGORY,
|
|
|
|
|
|
|
|
dflt2.DATA_TAG DISCOVER,
|
|
|
|
|
|
|
|
i.ITEM ITEM,
|
|
|
|
|
|
|
|
COALESCE(itemNumber.VALUE, zab.ITEM_NUMBER) ITEM_NUMBER,
|
|
|
|
|
|
|
|
zab.SHOP_ORDER,
|
|
|
|
|
|
|
|
zab.SFC,
|
|
|
|
|
|
|
|
it.DESCRIPTION ITEM_DESCRIPTION,
|
|
|
|
|
|
|
|
mapNo.VALUE MAP_NO,
|
|
|
|
|
|
|
|
zab.PB_DESCRIPTION PB_DESCRIPTION,
|
|
|
|
|
|
|
|
CASE
|
|
|
|
|
|
|
|
WHEN zab.SFC IS NOT NULL THEN '质量异常'
|
|
|
|
|
|
|
|
ELSE '外协质量异常'
|
|
|
|
|
|
|
|
END ABNORMAL_TYPE,
|
|
|
|
|
|
|
|
znu.FULL_NAME INSPECTOR,
|
|
|
|
|
|
|
|
zab.PB_GRADE PB_GRADE,
|
|
|
|
|
|
|
|
zabd.DUTY_TYPE DUTY_TYPE,
|
|
|
|
|
|
|
|
zabd.DUTY_DEPART DUTY_DEPART,
|
|
|
|
|
|
|
|
zabd.PRINCIPAL_USER PRINCIPAL_USER,
|
|
|
|
|
|
|
|
LISTAGG(nct.DESCRIPTION, ';') WITHIN GROUP (ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION,
|
|
|
|
|
|
|
|
zabd.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,
|
|
|
|
|
|
|
|
zabd.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,
|
|
|
|
|
|
|
|
zabd.BEFORE_MEASURE BEFORE_MEASURE,
|
|
|
|
|
|
|
|
CASE
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'X' THEN '线下换料'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'S' THEN '试装'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'R' THEN '让步放行'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'C' THEN '报废'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'P' THEN '配作'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'F' THEN '返修'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'FW' THEN '返修(外协)'
|
|
|
|
|
|
|
|
WHEN zabd.ABNORMAL_METHOD = 'FB' THEN '返修(不返回原工艺)'
|
|
|
|
|
|
|
|
ELSE ''
|
|
|
|
|
|
|
|
END ABNORMAL_METHOD,
|
|
|
|
|
|
|
|
zabd.RESOLVE_REMARK RESOLVE_REMARK,
|
|
|
|
|
|
|
|
zabd.ROUTER_BO ROUTER_BO,
|
|
|
|
|
|
|
|
znu2.FULL_NAME RESOLVE_USER,
|
|
|
|
|
|
|
|
zabd.CLOSED_DATE_TIME CLOSED_DATE_TIME,
|
|
|
|
|
|
|
|
zab.NC_QTY NC_QTY,
|
|
|
|
|
|
|
|
zab.PB_QTY PB_QTY
|
|
|
|
|
|
|
|
FROM Z_ABNORMAL_BILL zab
|
|
|
|
|
|
|
|
INNER JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zab.HANDLE = zabd.ABNORMAL_BILL_BO
|
|
|
|
|
|
|
|
LEFT JOIN Z_ABNORMAL_NC_CODE zanc ON zab.HANDLE = zanc.ABNORMAL_BILL_BO
|
|
|
|
|
|
|
|
LEFT JOIN NC_CODE nc ON zanc.NC_CODE = nc.NC_CODE AND nc.SITE = zab.SITE
|
|
|
|
|
|
|
|
LEFT JOIN NC_CODE_T nct ON nct.NC_CODE_BO = nc.HANDLE
|
|
|
|
|
|
|
|
INNER JOIN ITEM i ON i.HANDLE = zab.ITEM_BO
|
|
|
|
|
|
|
|
LEFT JOIN ITEM_T it ON it.ITEM_BO = i.HANDLE
|
|
|
|
|
|
|
|
INNER JOIN DATA_FIELD df ON df.DATA_FIELD = 'PRODUCT_CATEGORY'
|
|
|
|
|
|
|
|
LEFT JOIN DATA_FIELD_LIST dfl ON dfl.DATA_FIELD_BO = df.HANDLE AND dfl.DATA_VALUE = zab.PRODUCT_CATEGORY
|
|
|
|
|
|
|
|
LEFT JOIN DATA_FIELD_LIST_T dflt ON dflt.DATA_FIELD_LIST_BO = dfl.HANDLE
|
|
|
|
|
|
|
|
INNER JOIN DATA_FIELD df2 ON df2.DATA_FIELD = 'DISCOVER'
|
|
|
|
|
|
|
|
LEFT JOIN DATA_FIELD_LIST dfl2 ON dfl2.DATA_FIELD_BO = df2.HANDLE AND dfl2.DATA_VALUE = zab.DISCOVER
|
|
|
|
|
|
|
|
LEFT JOIN DATA_FIELD_LIST_T dflt2 ON dflt2.DATA_FIELD_LIST_BO = dfl2.HANDLE
|
|
|
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS mapNo ON mapNo."ATTRIBUTE" = 'DWG_NO' AND mapNo.HANDLE = i.HANDLE
|
|
|
|
|
|
|
|
LEFT JOIN SHOP_ORDER so ON so.SHOP_ORDER = zab.SHOP_ORDER AND so.SITE = zab.SITE
|
|
|
|
|
|
|
|
LEFT JOIN CUSTOM_FIELDS itemNumber ON itemNumber.HANDLE = so.HANDLE AND itemNumber."ATTRIBUTE" = 'ITEM_NUMBER'
|
|
|
|
|
|
|
|
LEFT JOIN Z_NWA_USER znu ON znu.USER_NAME = zab.CREATED_USER AND znu.SITE = zab.SITE
|
|
|
|
|
|
|
|
LEFT JOIN Z_NWA_USER znu2 ON znu2.USER_NAME = zabd.RESOLVE_USER AND znu2.SITE = zab.SITE
|
|
|
|
|
|
|
|
<where>
|
|
|
|
|
|
|
|
zab.SITE = #{site} AND zab."TYPE" ='Z'
|
|
|
|
|
|
|
|
<if test="abnormalNo != null and abnormalNo != ''">
|
|
|
|
|
|
|
|
AND zab.ABNORMAL_NO = #{abnormalNo}
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
<if test="shopOrder != null and shopOrder != ''">
|
|
|
|
|
|
|
|
AND so.SHOP_ORDER = #{shopOrder}
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
<if test="productCategory != null and productCategory != ''">
|
|
|
|
|
|
|
|
AND (dflt.DATA_TAG = #{productCategory} OR
|
|
|
|
|
|
|
|
zab.PRODUCT_CATEGORY = #{productCategory}
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
<if test="discover != null and discover != ''">
|
|
|
|
|
|
|
|
AND zab.DISCOVER = #{discover}
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
<if test="createdUser != null and createdUser != ''">
|
|
|
|
|
|
|
|
AND (zab.CREATED_USER = #{createdUser} OR znu.FULL_NAME = #{createdUser})
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
<if test="startDateTime != null and startDateTime != ''">
|
|
|
|
|
|
|
|
AND zab.CREATED_DATE_TIME >= TO_DATE(#{startDateTime},'YYYY-MM-DD') - 8/24
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
<if test="endDateTime != null and endDateTime != ''">
|
|
|
|
|
|
|
|
AND zab.CREATED_DATE_TIME <= TO_DATE(#{endDateTime}|| '15:59:59','YYYY-MM-DD HH24:MI:SS')
|
|
|
|
|
|
|
|
</if>
|
|
|
|
|
|
|
|
</where>
|
|
|
|
|
|
|
|
GROUP BY zab.CREATED_DATE_TIME, zab.ABNORMAL_NO, i.ITEM, it.DESCRIPTION, itemNumber.VALUE, zab.ITEM_NUMBER, mapNo.VALUE,
|
|
|
|
|
|
|
|
zab.PB_DESCRIPTION, zabd.DUTY_DEPART, zabd.PRINCIPAL_USER, zab.PB_GRADE, zabd.DUTY_CAUSE_DESCRIPTION,
|
|
|
|
|
|
|
|
zabd.BEFORE_MEASURE, ABNORMAL_METHOD,
|
|
|
|
|
|
|
|
zabd.RESOLVE_REMARK, zabd.RESOLVE_USER, zabd.CLOSED_DATE_TIME, zab.NC_QTY, zab.PB_QTY, zab.SHOP_ORDER,
|
|
|
|
|
|
|
|
so.QTY_TO_BUILD, dflt.DATA_TAG, zabd.DUTY_CAUSE_TYPE, zabd.DUTY_TYPE, zabd.DUTY_DEPART, zab.SFC, znu.FULL_NAME,
|
|
|
|
|
|
|
|
znu2.FULL_NAME, dflt2.DATA_TAG, zabd.ROUTER_BO
|
|
|
|
|
|
|
|
ORDER BY zab.CREATED_DATE_TIME DESC
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
</mapper>
|
|
|
|
</mapper>
|