refactor(report/xml): 替换所有质量检测视图来源为统一视图(PdaApiController调用的对REPORT_QUALITY_INSPECTION的方法不修改)

- 将 BoardReportMapper 中质量检测数据表替换为 V_QUALITY_INSPECTION_UNIFIED 视图
- 在 GeneralReportMapper 中所有涉及质量检测的表均替换为 V_QUALITY_INSPECTION_UNIFIED
- 修改 ReportQualityInspectionMapper 中质量检测表为统一视图
- 统一查询入口保障数据一致性和维护便捷性
- 确保关联查询及过滤条件不受影响,保持业务逻辑正确性
master
zangch@mesnac.com 5 days ago
parent e9364fbfe8
commit d7253037ef

@ -87,7 +87,7 @@
SELECT QUALITY_DEFECT_NAME, SUM
FROM (
SELECT xl.DICT_LABEL QUALITY_DEFECT_NAME, COUNT(*) SUM
FROM REPORT_QUALITY_INSPECTION QI
FROM V_QUALITY_INSPECTION_UNIFIED QI
LEFT JOIN BASE_QUALITY_INSPECTION_ITEM QII ON QII.QUALITY_DEFECT_CODE = QI.QUALITY_DEFECT_CODE
left join SYS_DICT_DATA xl
on xl.DICT_TYPE = 'defect_subclass' and QII.MATERIAL_SUBCLASS = xl.DICT_VALUE

@ -148,7 +148,7 @@
BP.PRODUCT_LINE_NAME STATION_NAME,
RQI.BAR_CODE,
MAX(CASE WHEN RQI.TREATMENT_MEASURE = '1' THEN 1 ELSE 0 END) REWORK_NUMBER
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
LEFT JOIN BASE_PRODUCTLINE BP
ON BP.PRODUCT_LINE_CODE = RQI.STATION_CODE
LEFT JOIN BASE_PRODUCTLINE BPP ON BPP.PRODUCT_LINE_CODE = BP.PARENT_ID
@ -184,7 +184,7 @@
RQI.QUALITY_DEFECT_CODE,
RQI.QUALITY_DEFECT_NAME,
COUNT(*) DEFECT_NUMBER
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
LEFT JOIN BASE_PRODUCTLINE BP ON BP.PRODUCT_LINE_CODE = RQI.STATION_CODE
LEFT JOIN BASE_PRODUCTLINE BPP ON BPP.PRODUCT_LINE_CODE = BP.PARENT_ID
LEFT JOIN BASE_FACTORY FY ON FY.FACTORY_CODE = BPP.PLANT_CODE
@ -228,7 +228,7 @@
RQI.BAR_CODE,
RQI.QUALITY_DEFECT_CODE,
QI.QUALITY_DEFECT_NAME
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
LEFT JOIN BASE_PRODUCTLINE PL on RQI.STATION_CODE = PL.PRODUCT_LINE_CODE
LEFT JOIN BASE_PRODUCTLINE PL2 on PL2.PRODUCT_LINE_CODE = PL.PARENT_ID
LEFT JOIN BASE_FACTORY BF on BF.FACTORY_CODE = PL.PLANT_CODE
@ -280,7 +280,7 @@
SELECT
COUNT(*) AS ALL_DEFECT
FROM
REPORT_QUALITY_INSPECTION RQI
V_QUALITY_INSPECTION_UNIFIED RQI
WHERE
RQI.TREATMENT_MEASURE = 1
<if test="stationCode != null and stationCode != ''">
@ -303,7 +303,7 @@
RQI.BAR_CODE,
GET_MATERIAL_TYPE(RQI.MATERIAL_NAME) MATERIAL_MODEL,
RQI.QUALITY_DEFECT_CODE
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
WHERE RQI.TREATMENT_MEASURE = 1
<if test="stationCode != null and stationCode != ''">
AND RQI.STATION_CODE = #{stationCode}
@ -334,7 +334,7 @@
LEFT JOIN BASE_ORDERINFO BO ON BO.ORDER_CODE = SUBSTR(PO.PRODUCT_ORDER_NO, -8)
LEFT JOIN BASE_PRODUCTLINE PL ON PL.WORK_CENTER_CODE = BO.WORK_CENTER_CODE
LEFT JOIN (SELECT BAR_CODE
FROM REPORT_QUALITY_INSPECTION
FROM V_QUALITY_INSPECTION_UNIFIED
WHERE PROCESS_RESULT = 'KA'
GROUP BY BAR_CODE) KA ON KA.BAR_CODE = PO.BOX_CODE
<where>
@ -379,7 +379,7 @@
U.NICK_NAME USER_NAME
FROM C##AUCMA_SCADA.PRODUCT_OFFLINE PO
LEFT JOIN C##AUCMA_SCADA.CODE_BINDING CB ON PO.BOX_CODE = CB.BOX_CODE
JOIN REPORT_QUALITY_INSPECTION RQI ON ((RQI.BAR_CODE = PO.BOX_CODE) OR (RQI.BAR_CODE = CB.LINER_CODE))
JOIN V_QUALITY_INSPECTION_UNIFIED RQI ON ((RQI.BAR_CODE = PO.BOX_CODE) OR (RQI.BAR_CODE = CB.LINER_CODE))
LEFT JOIN BASE_PRODUCTLINE PL on RQI.STATION_CODE = PL.PRODUCT_LINE_CODE
LEFT JOIN SYS_USER U on U.USER_NAME = RQI.INSPECTOR_CODE
WHERE PO.BOX_CODE = #{BOX_CODE}
@ -430,7 +430,7 @@
LEFT JOIN (SELECT BAR_CODE, SUM(SCRAP_NUMBER) SCRAP_NUMBER
FROM (SELECT QI.BAR_CODE,
COUNT(*) SCRAP_NUMBER
FROM REPORT_QUALITY_INSPECTION QI
FROM V_QUALITY_INSPECTION_UNIFIED QI
WHERE QI.PROCESS_RESULT = '报废重做'
GROUP BY QI.BAR_CODE)
GROUP BY BAR_CODE) BF ON BF.BAR_CODE = OM.BARCODE_CODE
@ -499,7 +499,7 @@
IE.BARCODE_CODE) OM
ON OM.ORDER_CODE = BO.ORDER_CODE AND OM.WORK_CENTER_CODE = BO.WORK_CENTER_CODE
LEFT JOIN C##AUCMA_SCADA.PRODUCT_OFFLINE OL ON OL.BOX_CODE = OM.BARCODE_CODE
LEFT JOIN REPORT_QUALITY_INSPECTION QI
LEFT JOIN V_QUALITY_INSPECTION_UNIFIED QI
ON QI.PROCESS_RESULT = '报废重做' AND QI.BAR_CODE = OM.BARCODE_CODE
LEFT JOIN C##AUCMA_SCADA.MATERIAL_COMPLETION MC
ON MC.MATERIAL_BARCODE = OM.BARCODE_CODE
@ -529,7 +529,7 @@
FROM (SELECT INSPECTOR_TIME, COUNT(*) QUALITY_SUM
FROM (
SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') INSPECTOR_TIME, RQI.BAR_CODE
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
WHERE RQI.TREATMENT_MEASURE = '1'
<if test="stationCodeList != null and stationCodeList != ''">
AND RQI.STATION_CODE IN
@ -562,7 +562,7 @@
</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
FROM V_QUALITY_INSPECTION_UNIFIED 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}
@ -726,7 +726,7 @@
GROUP BY PRODUCT_SCANTIME) VPO
LEFT JOIN (SELECT INSPECTOR_TIME, NVL(COUNT(*), 0) QUALITY_SUM
FROM (SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') INSPECTOR_TIME, RQI.BAR_CODE
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
LEFT JOIN BASE_PRODUCTLINE BP on RQI.STATION_CODE = BP.PRODUCT_LINE_CODE
<if test="alarmType != null and alarmType == 1 ">
WHERE RQI.PROCESS_RESULT = 'KA'
@ -767,7 +767,7 @@
RQI.STATION_CODE,
MAX(CASE WHEN RQI.TREATMENT_MEASURE = '1' THEN 1 ELSE 0 END) ALARM_FLAG,
TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM') INSPECTOR_MONTH
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
CROSS JOIN YEART
WHERE RQI.INSPECTOR_TIME BETWEEN to_date(YEART.LASTYEAR || '-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
AND to_date(YEART.THISYEAR || '-12-31 23:59:59', 'yyyy-mm-dd hh24:mi:ss')
@ -796,7 +796,7 @@
PL2.PRODUCT_LINE_NAME,
GET_MATERIAL_TYPE(RQI.MATERIAL_NAME) MATERIAL_MODEL,
RQI.BAR_CODE
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
LEFT JOIN BASE_PRODUCTLINE PL on RQI.STATION_CODE = PL.PRODUCT_LINE_CODE
LEFT JOIN BASE_PRODUCTLINE PL2 on PL2.PRODUCT_LINE_CODE = PL.PARENT_ID
LEFT JOIN BASE_FACTORY BF on BF.FACTORY_CODE = PL.PLANT_CODE
@ -839,7 +839,7 @@
FROM TABLE (GET_YEAR_WEEK_TIME(${year}))) WEE
LEFT JOIN (
SELECT R.BAR_CODE, R.INSPECTOR_TIME, R.QUALITY_DEFECT_NAME
FROM REPORT_QUALITY_INSPECTION R
FROM V_QUALITY_INSPECTION_UNIFIED R
LEFT JOIN BASE_PRODUCTLINE BP on R.STATION_CODE = BP.PRODUCT_LINE_CODE
LEFT JOIN BASE_PRODUCTLINE P2 on P2.PRODUCT_LINE_CODE = BP.PARENT_ID
WHERE P2.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
@ -871,7 +871,7 @@
FROM TABLE (GET_YEAR_MONTH_TIME(${year}))) WEE
LEFT JOIN (
SELECT R.BAR_CODE, R.INSPECTOR_TIME, R.QUALITY_DEFECT_NAME
FROM REPORT_QUALITY_INSPECTION R
FROM V_QUALITY_INSPECTION_UNIFIED R
LEFT JOIN BASE_PRODUCTLINE BP on R.STATION_CODE = BP.PRODUCT_LINE_CODE
LEFT JOIN BASE_PRODUCTLINE P2 on P2.PRODUCT_LINE_CODE = BP.PARENT_ID
WHERE P2.PRODUCT_LINE_CODE = #{PRODUCT_LINE_CODE}
@ -962,7 +962,7 @@
IE.BARCODE_CODE) OM
ON OM.ORDER_CODE = BO.ORDER_CODE AND OM.WORK_CENTER_CODE = BO.WORK_CENTER_CODE
LEFT JOIN C##AUCMA_SCADA.PRODUCT_OFFLINE OL ON OL.BOX_CODE = OM.BARCODE_CODE
LEFT JOIN REPORT_QUALITY_INSPECTION QI ON QI.PROCESS_RESULT = '报废重做' AND QI.BAR_CODE = OM.BARCODE_CODE
LEFT JOIN V_QUALITY_INSPECTION_UNIFIED QI ON QI.PROCESS_RESULT = '报废重做' AND QI.BAR_CODE = OM.BARCODE_CODE
LEFT JOIN C##AUCMA_SCADA.MATERIAL_COMPLETION MC ON MC.MATERIAL_BARCODE = OM.BARCODE_CODE
LEFT JOIN BASE_PRODUCTLINE PL ON PL.PRODUCT_LINE_CODE = MC.STATION_NAME
WHERE OL.BOX_CODE IS NULL
@ -1026,7 +1026,7 @@
SELECT INSPECTOR_TIME, COUNT(*) QUALITY_SUM
FROM (
SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') INSPECTOR_TIME, RQI.BAR_CODE
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
WHERE RQI.TREATMENT_MEASURE = '1'
<if test="stationCodeList != null and stationCodeList != ''">
AND RQI.STATION_CODE IN
@ -1060,7 +1060,7 @@
</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
FROM V_QUALITY_INSPECTION_UNIFIED 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}
@ -1094,7 +1094,7 @@
SELECT INSPECTOR_TIME, COUNT(*) QUALITY_SUM
FROM (
SELECT TO_CHAR(RQI.INSPECTOR_TIME, 'YYYY-MM-DD') INSPECTOR_TIME, RQI.BAR_CODE
FROM REPORT_QUALITY_INSPECTION RQI
FROM V_QUALITY_INSPECTION_UNIFIED RQI
WHERE RQI.TREATMENT_MEASURE = '1'
<if test="stationCodeList != null and stationCodeList != ''">
AND RQI.STATION_CODE IN
@ -1128,7 +1128,7 @@
</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
FROM V_QUALITY_INSPECTION_UNIFIED 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}

@ -55,7 +55,7 @@
rqi.is_flag,
rqi.updated_by,
rqi.updated_time
from report_quality_inspection rqi
from V_QUALITY_INSPECTION_UNIFIED rqi
left join BASE_PROCESS_STATION bps on bps.PROCESS_CODE = rqi.PROCESS_CODE
left join BASE_TEAMMEMBERS btm on btm.TEAM_CODE = rqi.group_code
left join SYS_USER su on su.USER_NAME = rqi.inspector_code

@ -0,0 +1,50 @@
-- 创建基础联合视图
CREATE OR REPLACE VIEW V_QUALITY_INSPECTION_UNIFIED AS
SELECT
obj_id,
bar_code,
material_name,
process_code,
test_item_code,
quality_defect_code,
quality_defect_name,
treatment_measure,
process_result,
is_lower_line,
group_code,
inspector_code,
inspector_time,
rework_number,
finish_time,
is_flag,
updated_by,
updated_time,
station_code,
submint_qualty_id,
'REPORT_QUALITY_INSPECTION' AS SOURCE_TABLE
FROM REPORT_QUALITY_INSPECTION
UNION
SELECT
obj_id,
bar_code,
material_name,
process_code,
test_item_code,
quality_defect_code,
quality_defect_name,
treatment_measure,
process_result,
is_lower_line,
group_code,
inspector_code,
inspector_time,
rework_number,
finish_time,
is_flag,
updated_by,
updated_time,
station_code,
submint_qualty_id,
'REPORT_QUALITY_INSPECTION_1' AS SOURCE_TABLE
FROM REPORT_QUALITY_INSPECTION_1
;
Loading…
Cancel
Save