|
|
|
@ -287,39 +287,32 @@
|
|
|
|
|
AND TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
)
|
|
|
|
|
SELECT
|
|
|
|
|
ROW_NUMBER() OVER (ORDER BY RATE) AS SEQ,
|
|
|
|
|
SELECT ROW_NUMBER() OVER (ORDER BY RATE) AS SEQ,
|
|
|
|
|
SD.QUALITY_DEFECT_NAME,
|
|
|
|
|
SD.MATERIAL_MODEL,
|
|
|
|
|
SD.DEFECT_NUMBER,
|
|
|
|
|
RATE
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT
|
|
|
|
|
DA.QUALITY_DEFECT_NAME,
|
|
|
|
|
COUNT(*) AS DEFECT_NUMBER,
|
|
|
|
|
FROM (SELECT DA.QUALITY_DEFECT_NAME,
|
|
|
|
|
DA.MATERIAL_MODEL,
|
|
|
|
|
COUNT(*) AS DEFECT_NUMBER,
|
|
|
|
|
TO_CHAR(ROUND(COUNT(*) / TD.ALL_DEFECT * 100, 2), 'FM99990.00') || '%' AS RATE
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT
|
|
|
|
|
RQI.QUALITY_DEFECT_NAME,
|
|
|
|
|
FROM (SELECT RQI.QUALITY_DEFECT_NAME,
|
|
|
|
|
RQI.BAR_CODE,
|
|
|
|
|
GET_MATERIAL_TYPE(RQI.MATERIAL_NAME) MATERIAL_MODEL,
|
|
|
|
|
RQI.QUALITY_DEFECT_CODE
|
|
|
|
|
FROM
|
|
|
|
|
REPORT_QUALITY_INSPECTION RQI
|
|
|
|
|
WHERE
|
|
|
|
|
RQI.TREATMENT_MEASURE = 1
|
|
|
|
|
FROM REPORT_QUALITY_INSPECTION RQI
|
|
|
|
|
WHERE RQI.TREATMENT_MEASURE = 1
|
|
|
|
|
<if test="stationCode != null and stationCode != ''">
|
|
|
|
|
AND RQI.STATION_CODE = #{stationCode}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD HH24:MI:SS') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY
|
|
|
|
|
RQI.QUALITY_DEFECT_NAME, RQI.BAR_CODE, RQI.QUALITY_DEFECT_CODE
|
|
|
|
|
) DA
|
|
|
|
|
GROUP BY RQI.QUALITY_DEFECT_NAME, RQI.BAR_CODE, GET_MATERIAL_TYPE(RQI.MATERIAL_NAME),
|
|
|
|
|
RQI.QUALITY_DEFECT_CODE) DA
|
|
|
|
|
CROSS JOIN TotalDefects TD
|
|
|
|
|
GROUP BY
|
|
|
|
|
DA.QUALITY_DEFECT_NAME, TD.ALL_DEFECT
|
|
|
|
|
) SD
|
|
|
|
|
ORDER BY DEFECT_NUMBER DESC
|
|
|
|
|
GROUP BY DA.QUALITY_DEFECT_NAME, DA.MATERIAL_MODEL, TD.ALL_DEFECT) SD
|
|
|
|
|
ORDER BY SD.MATERIAL_MODEL, DEFECT_NUMBER DESC
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
<select id="productTraceabilityReportList" resultType="com.aucma.report.domain.ProductTraceabilityReport"
|
|
|
|
@ -553,18 +546,27 @@
|
|
|
|
|
RIGHT JOIN (
|
|
|
|
|
SELECT PRODUCT_SCANTIME, COUNT(*) OFF_LINE_NUM
|
|
|
|
|
FROM (
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != 'MF_01'">
|
|
|
|
|
SELECT TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') PRODUCT_SCANTIME,
|
|
|
|
|
VPO.BOX_CODE
|
|
|
|
|
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE VPO
|
|
|
|
|
WHERE VPO.BOX_CODE IS NOT NULL
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
|
|
|
|
|
AND VPO.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
|
|
|
|
|
</if>
|
|
|
|
|
AND VPO.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD'), VPO.BOX_CODE
|
|
|
|
|
)
|
|
|
|
|
</if>
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE == 'MF_01'">
|
|
|
|
|
SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') PRODUCT_SCANTIME, RQI.BAR_CODE BOX_CODE
|
|
|
|
|
FROM REPORT_QUALITY_INSPECTION RQI
|
|
|
|
|
WHERE RQI.STATION_CODE = '6303'
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD'), RQI.BAR_CODE
|
|
|
|
|
</if>
|
|
|
|
|
)
|
|
|
|
|
GROUP BY PRODUCT_SCANTIME) VPO
|
|
|
|
|
ON PRODUCT_SCANTIME = RQI.INSPECTOR_TIME
|
|
|
|
|
CROSS JOIN (SELECT TO_CHAR(CUSTOM_DATA) TARGET
|
|
|
|
@ -803,6 +805,9 @@
|
|
|
|
|
<if test="FACTORY_CODE != null and FACTORY_CODE != ''">
|
|
|
|
|
AND BF.FACTORY_CODE = #{FACTORY_CODE}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="MATERIAL_MODEL != null and MATERIAL_MODEL != ''">
|
|
|
|
|
AND RQI.MATERIAL_NAME like '%' || #{MATERIAL_MODEL} || '%'
|
|
|
|
|
</if>
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
|
|
|
|
|
AND PL2.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
|
|
|
|
|
</if>
|
|
|
|
@ -1039,14 +1044,26 @@
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT PRODUCT_SCANTIME, COUNT(*) OFF_LINE_NUM
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') PRODUCT_SCANTIME,
|
|
|
|
|
VPO.BOX_CODE
|
|
|
|
|
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE VPO
|
|
|
|
|
WHERE VPO.BOX_CODE IS NOT NULL
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != 'MF_01'">
|
|
|
|
|
SELECT TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') PRODUCT_SCANTIME,
|
|
|
|
|
VPO.BOX_CODE
|
|
|
|
|
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE VPO
|
|
|
|
|
WHERE VPO.BOX_CODE IS NOT NULL
|
|
|
|
|
AND VPO.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD'), VPO.BOX_CODE
|
|
|
|
|
</if>
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE == 'MF_01'">
|
|
|
|
|
SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') PRODUCT_SCANTIME, RQI.BAR_CODE BOX_CODE
|
|
|
|
|
FROM REPORT_QUALITY_INSPECTION RQI
|
|
|
|
|
WHERE RQI.STATION_CODE = '6303'
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD'), RQI.BAR_CODE
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD'), VPO.BOX_CODE
|
|
|
|
|
)
|
|
|
|
|
GROUP BY PRODUCT_SCANTIME
|
|
|
|
|
) VPO
|
|
|
|
@ -1095,14 +1112,26 @@
|
|
|
|
|
LEFT JOIN (
|
|
|
|
|
SELECT PRODUCT_SCANTIME, COUNT(*) OFF_LINE_NUM
|
|
|
|
|
FROM (
|
|
|
|
|
SELECT TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') PRODUCT_SCANTIME,
|
|
|
|
|
VPO.BOX_CODE
|
|
|
|
|
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE VPO
|
|
|
|
|
WHERE VPO.BOX_CODE IS NOT NULL
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != ''">
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE != 'MF_01'">
|
|
|
|
|
SELECT TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') PRODUCT_SCANTIME,
|
|
|
|
|
VPO.BOX_CODE
|
|
|
|
|
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE VPO
|
|
|
|
|
WHERE VPO.BOX_CODE IS NOT NULL
|
|
|
|
|
AND VPO.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD'), VPO.BOX_CODE
|
|
|
|
|
</if>
|
|
|
|
|
<if test="PRODUCT_LINE_CODE != null and PRODUCT_LINE_CODE == 'MF_01'">
|
|
|
|
|
SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') PRODUCT_SCANTIME, RQI.BAR_CODE BOX_CODE
|
|
|
|
|
FROM REPORT_QUALITY_INSPECTION RQI
|
|
|
|
|
WHERE RQI.STATION_CODE = '6303'
|
|
|
|
|
<if test="beginBeginTime != null and beginBeginTime != '' and endBeginTime != null and endBeginTime != ''">
|
|
|
|
|
AND TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') BETWEEN #{beginBeginTime} AND #{endBeginTime}
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD'), RQI.BAR_CODE
|
|
|
|
|
</if>
|
|
|
|
|
GROUP BY TO_CHAR(VPO.PRODUCT_SCANTIME, 'YYYY-MM-DD'), VPO.BOX_CODE
|
|
|
|
|
)
|
|
|
|
|
GROUP BY PRODUCT_SCANTIME
|
|
|
|
|
) VPO
|
|
|
|
@ -1145,6 +1174,9 @@
|
|
|
|
|
<if test="orderCode != null and orderCode != ''">
|
|
|
|
|
AND BO.ORDER_CODE = #{orderCode}
|
|
|
|
|
</if>
|
|
|
|
|
<if test="BOX_NAME != null and BOX_NAME != ''">
|
|
|
|
|
AND P1.MATERIAL_NAME like '%' || #{BOX_NAME} || '%'
|
|
|
|
|
</if>
|
|
|
|
|
<if test="linerCode != null and linerCode != ''">
|
|
|
|
|
AND CB.LINER_CODE = #{linerCode}
|
|
|
|
|
</if>
|
|
|
|
|