@ -433,40 +433,48 @@
<select id= "findQualityInspectionReport" parameterType= "java.util.HashMap" resultType= "java.util.HashMap" >
<select id= "findQualityInspectionReport" parameterType= "java.util.HashMap" resultType= "java.util.HashMap" >
SELECT Szsd.PROD_HOURS* CFPT.VALUE*zab.PB_QTY PRICE,CFPT.VALUE PRICE_TIME,zab.CREATED_DATE_TIME,zab.ABNORMAL_NO ABNORMAL_NO,
SELECT Szsd.PROD_HOURS* CFPT.VALUE*zab.PB_QTY PRICE,CFPT.VALUE PRICE_TIME,zab.CREATED_DATE_TIME,zab.ABNORMAL_NO ABNORMAL_NO,
dflt.DATA_TAG PRODUCT_CATEGORY,
dflt.DATA_TAG PRODUCT_CATEGORY,
dflt2.DATA_TAG DISCOVER,
dflt2.DATA_TAG DISCOVER,
i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,
i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,
COALESCE(itemNumber.VALUE,zab.ITEM_NUMBER) ITEM_NUMBER,
COALESCE(itemNumber.VALUE,zab.ITEM_NUMBER) ITEM_NUMBER,
zab.SHOP_ORDER,
zab.SHOP_ORDER,
mapNo.VALUE MAP_NO,zab.PB_DESCRIPTION PB_DESCRIPTION,zsd.EMPLOYEE_DESCRIPTION OPERATOR,
mapNo.VALUE MAP_NO,zab.PB_DESCRIPTION PB_DESCRIPTION,zsd.EMPLOYEE_DESCRIPTION OPERATOR,
CASE WHEN zab."TYPE" = 'Z' THEN '质量异常'
CASE WHEN zab."TYPE" = 'Z' THEN '质量异常'
WHEN zab."TYPE" = 'Q' THEN '其他异常'
WHEN zab."TYPE" = 'Q' THEN '其他异常'
WHEN zab."TYPE" = 'S' THEN '设备异常' END "TYPE",
WHEN zab."TYPE" = 'S' THEN '设备异常' END "TYPE",
znu.FULL_NAME INSPECTOR ,
CASE WHEN Szsd.handle IS NULL THEN ot.DESCRIPTION
zab.PB_GRADE PB_GRADE ,
ELSE ot2.DESCRIPTION END OPERATION,
zabd.PRINCIPAL_USER PRINCIPAL_USER,
CASE WHEN Szsd.handle IS NULL THEN r2.RESRCE
LISTAGG(nct.DESCRIPTION , ';') WITHIN GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION,
ELSE RES.RESRCE END RESRCE,
zabd.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,zabd.BEFORE_MEASURE BEFORE_MEASURE,
CASE WHEN Szsd.handle IS NULL THEN r2.DESCRIPTION
CASE WHEN zabd.ABNORMAL_METHOD = 'X' THEN '线下换料'
ELSE RES.DESCRIPTION END RESRCE_DESCRIPTION,
WHEN zabd.ABNORMAL_METHOD = 'S' THEN '试装'
CASE WHEN Szsd.handle IS NULL THEN zsd.RESOURCE_TYPE
WHEN zabd.ABNORMAL_METHOD = 'R' THEN '让步放心'
ELSE Szsd.RESOURCE_TYPE END RESOURCE_TYPE,
WHEN zabd.ABNORMAL_METHOD = 'C' THEN '报废'
CASE WHEN Szsd.handle IS NULL THEN rt.DESCRIPTION
WHEN zabd.ABNORMAL_METHOD = 'P' THEN '配作'
ELSE rt2.DESCRIPTION END RESOURCE_TYPE_DESCRIPTION,
WHEN zabd.ABNORMAL_METHOD = 'F' THEN '返修'
znu.FULL_NAME INSPECTOR ,
WHEN zabd.ABNORMAL_METHOD = 'FW' THEN '返修(外协)'
zab.PB_GRADE PB_GRADE ,
WHEN zabd.ABNORMAL_METHOD = 'FB' THEN '返修(不返回原工艺)'
zabd.PRINCIPAL_USER PRINCIPAL_USER,
ELSE ''
LISTAGG(nct.DESCRIPTION , ';') WITHIN GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION,
END ABNORMAL_METHOD,zabd.RESOLVE_REMARK RESOLVE_REMARK,znu2.FULL_NAME RESOLVE_USER,
zabd.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,zabd.BEFORE_MEASURE BEFORE_MEASURE,
zabd.CLOSED_DATE_TIME CLOSED_DATE_TIME,zab.NC_QTY NC_QTY,zab.PB_QTY PB_QTY,
CASE WHEN zabd.ABNORMAL_METHOD = 'X' THEN '线下换料'
CASE WHEN (zabd.ABNORMAL_METHOD ='F' AND zab.SHOP_ORDER IS NOT NULL) THEN TO_CHAR(so.QTY_TO_BUILD,'9999')
WHEN zabd.ABNORMAL_METHOD = 'S' THEN '试装'
WHEN zabd.ABNORMAL_METHOD = 'F' THEN TO_CHAR(zab.PB_QTY,'9999') ELSE '' END NUMBERS,
WHEN zabd.ABNORMAL_METHOD = 'R' THEN '让步放心'
zsd.EMPLOYEE_DESCRIPTION DISPATCH_USER ,ot.DESCRIPTION OPERATION ,
WHEN zabd.ABNORMAL_METHOD = 'C' THEN '报废'
r2.RESRCE RESRCE,r2.DESCRIPTION RESRCE_DESCRIPTION,zsd.RESOURCE_TYPE RESOURCE_TYPE,
WHEN zabd.ABNORMAL_METHOD = 'P' THEN '配作'
rt.DESCRIPTION RESOURCE_TYPE_DESCRIPTION,zabd.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,zabd.DUTY_TYPE DUTY_TYPE,
WHEN zabd.ABNORMAL_METHOD = 'F' THEN '返修'
zabd.DUTY_DEPART DUTY_DEPART,TO_CHAR(TO_NUMBER(zabd.CLOSED_DATE_TIME - zab.RESPONSE_DATE_TIME)*24,'FM9999990.000') WORKING_HOURS,
WHEN zabd.ABNORMAL_METHOD = 'FW' THEN '返修(外协)'
CASE WHEN zab.SFC IS NOT NULL THEN '质量异常'
WHEN zabd.ABNORMAL_METHOD = 'FB' THEN '返修(不返回原工艺)'
ELSE '外协质量异常'
ELSE ''
END ABNORMAL_TYPE
END ABNORMAL_METHOD,zabd.RESOLVE_REMARK RESOLVE_REMARK,znu2.FULL_NAME RESOLVE_USER,
zabd.CLOSED_DATE_TIME CLOSED_DATE_TIME,zab.NC_QTY NC_QTY,zab.PB_QTY PB_QTY,
CASE WHEN (zabd.ABNORMAL_METHOD ='F' AND zab.SHOP_ORDER IS NOT NULL) THEN TO_CHAR(so.QTY_TO_BUILD,'9999')
WHEN zabd.ABNORMAL_METHOD = 'F' THEN TO_CHAR(zab.PB_QTY,'9999') ELSE '' END NUMBERS,
zsd.EMPLOYEE_DESCRIPTION DISPATCH_USER ,zabd.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,zabd.DUTY_TYPE DUTY_TYPE,
zabd.DUTY_DEPART DUTY_DEPART,TO_CHAR(TO_NUMBER(zabd.CLOSED_DATE_TIME - zab.RESPONSE_DATE_TIME)*24,'FM9999990.000') WORKING_HOURS,
CASE WHEN zab.SFC IS NOT NULL THEN '质量异常'
ELSE '外协质量异常'
END ABNORMAL_TYPE
FROM Z_ABNORMAL_BILL zab
FROM Z_ABNORMAL_BILL zab
INNER JOIN Z_ABNORMAL_BILL_DISPOSE zabd ON zab.HANDLE = zabd.ABNORMAL_BILL_BO
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 Z_ABNORMAL_NC_CODE zanc ON zab.HANDLE = zanc.ABNORMAL_BILL_BO
@ -487,8 +495,11 @@
LEFT JOIN CUSTOM_FIELDS itemNumber ON itemNumber.HANDLE = so.HANDLE AND itemNumber."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN CUSTOM_FIELDS itemNumber ON itemNumber.HANDLE = so.HANDLE AND itemNumber."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN SFC s ON s.SFC = zab.SFC AND s.SITE = zab.SITE
LEFT JOIN SFC s ON s.SFC = zab.SFC AND s.SITE = zab.SITE
LEFT JOIN Z_SFC_DISPATCH Szsd ON s.SFC = zab.SFC AND SUBSTR(Szsd.HANDLE,1,INSTR(Szsd.HANDLE,',',-1)-1) = SUBSTR(zabd.ROUTER_BO,1,INSTR(zabd.ROUTER_BO,',',-1)-1)
LEFT JOIN Z_SFC_DISPATCH Szsd ON s.SFC = zab.SFC AND SUBSTR(Szsd.ROUTER_BO,1,INSTR(Szsd.ROUTER_BO,',',-1)-1) = SUBSTR(zabd.ROUTER_BO,1,INSTR(zabd.ROUTER_BO,',',-1)-1)
LEFT JOIN OPERATION o2 ON o2.OPERATION = Szsd.OPERATION AND o2.SITE = Szsd.SITE AND o2.CURRENT_REVISION ='true'
LEFT JOIN OPERATION_T ot2 ON ot2.OPERATION_BO = o2.HANDLE AND ot2.LOCALE = 'zh'
LEFT JOIN RESRCE RES ON RES.RESRCE = Szsd.RESRCE AND Szsd.SITE = RES.SITE
LEFT JOIN RESRCE RES ON RES.RESRCE = Szsd.RESRCE AND Szsd.SITE = RES.SITE
LEFT JOIN RESOURCE_TYPE rt2 ON rt2.RESOURCE_TYPE = Szsd.RESOURCE_TYPE AND rt2.SITE = Szsd.SITE
LEFT JOIN CUSTOM_FIELDS CFPT ON CFPT."ATTRIBUTE" = 'PRICE_TIME' AND CFPT.HANDLE = RES.HANDLE
LEFT JOIN CUSTOM_FIELDS CFPT ON CFPT."ATTRIBUTE" = 'PRICE_TIME' AND CFPT.HANDLE = RES.HANDLE
LEFT JOIN SFC_ROUTING SR ON SR.SFC_BO = S.HANDLE
LEFT JOIN SFC_ROUTING SR ON SR.SFC_BO = S.HANDLE
@ -530,15 +541,15 @@
</if>
</if>
</where>
</where>
GROUP BY zab.CREATED_DATE_TIME ,zab.ABNORMAL_NO ,CFPT.VALUE,
GROUP BY zab.CREATED_DATE_TIME ,zab.ABNORMAL_NO ,CFPT.VALUE,
i.ITEM ,it.DESCRIPTION ,itemNumber.VALUE ,zab.ITEM_NUMBER,
i.ITEM ,it.DESCRIPTION ,itemNumber.VALUE ,zab.ITEM_NUMBER,
mapNo.VALUE ,zab.PB_DESCRIPTION ,zsd.EMPLOYEE_DESCRIPTION ,
mapNo.VALUE ,zab.PB_DESCRIPTION ,zsd.EMPLOYEE_DESCRIPTION ,
zab."TYPE" ,zab.REPORT_SEND_USER_GROUP ,zabd.DUTY_DEPART ,zabd.PRINCIPAL_USER,
zab."TYPE" ,zab.REPORT_SEND_USER_GROUP ,zabd.DUTY_DEPART ,zabd.PRINCIPAL_USER,
zab.PB_GRADE,zabd.DUTY_CAUSE_DESCRIPTION ,zabd.BEFORE_MEASURE,ABNORMAL_METHOD,
zab.PB_GRADE,zabd.DUTY_CAUSE_DESCRIPTION ,zabd.BEFORE_MEASURE,ABNORMAL_METHOD,
zabd.RESOLVE_REMARK ,zabd.RESOLVE_USER ,
zabd.RESOLVE_REMARK ,zabd.RESOLVE_USER ,Szsd.RESOURCE_TYPE,
zabd.CLOSED_DATE_TIME ,zab.NC_QTY ,zab.PB_QTY ,zab.SHOP_ORDER,so.QTY_TO_BUILD,
zabd.CLOSED_DATE_TIME ,zab.NC_QTY ,zab.PB_QTY ,zab.SHOP_ORDER,so.QTY_TO_BUILD,
zsd.EMPLOYEE_DESCRIPTION ,ot.DESCRIPTION ,
zsd.EMPLOYEE_DESCRIPTION ,ot.DESCRIPTION ,RES.RESRCE,RES.DESCRIPTION,
r2.RESRCE,r2.DESCRIPTION,zsd.RESOURCE_TYPE,
r2.RESRCE,r2.DESCRIPTION,zsd.RESOURCE_TYPE,ot2.DESCRIPTION,rt2.DESCRIPTION,
rt.DESCRIPTION, dflt.DATA_TAG,zabd.DUTY_CAUSE_TYPE,zabd.DUTY_TYPE ,zabd.DUTY_DEPART,zab.SFC,
rt.DESCRIPTION, dflt.DATA_TAG,zabd.DUTY_CAUSE_TYPE,zabd.DUTY_TYPE ,zabd.DUTY_DEPART,zab.SFC,
znu.FULL_NAME,znu2.FULL_NAME,zab.RESPONSE_DATE_TIME,dflt2.DATA_TAG,Szsd.HANDLE, Szsd.PROD_HOURS
znu.FULL_NAME,znu2.FULL_NAME,zab.RESPONSE_DATE_TIME,dflt2.DATA_TAG,Szsd.HANDLE, Szsd.PROD_HOURS
ORDER BY zab.CREATED_DATE_TIME DESC
ORDER BY zab.CREATED_DATE_TIME DESC
</select>
</select>