zouyu
2026-02-03 c80a342eacd6b639c486eb47afdf04984d54183e
inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
@@ -85,14 +85,15 @@
        SELECT
        DATE(io1.send_time) AS day,
        COUNT(*) AS total,
        SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified
        SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
        FROM ifs_inventory_quantity iiq
        LEFT JOIN ins_order io1
        ON io1.ifs_inventory_id = iiq.id
        AND io1.order_type = #{dto.orderType}
        AND io1.state != -1
        AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
        LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
        FROM ins_sample
@@ -159,14 +160,15 @@
        SELECT
        MONTH(io1.send_time) AS month,
        COUNT(*) AS total,
        SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified
        SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
        FROM ifs_inventory_quantity iiq
        LEFT JOIN ins_order io1
        ON io1.ifs_inventory_id = iiq.id
        AND io1.order_type = #{dto.orderType}
        AND io1.state != -1
        AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
        LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
        FROM ins_sample
@@ -202,17 +204,13 @@
        SELECT
        COUNT(*) AS sum,
        /* 合格 */
        SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 1 or (iiq.inspect_status = 4 AND iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        /* 不合格 */
        SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unQualified,
        ROUND(
        SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END)
        / COUNT(*) * 100,
        2
        ) AS passRate
        SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
        FROM ifs_inventory_quantity iiq
        INNER JOIN ins_order io1
        ON io1.ifs_inventory_id = iiq.id
        LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT
        is2.ins_order_id,
@@ -249,17 +247,16 @@
    <select id="getMaterialPropTable" resultType="com.ruoyi.inspect.dto.MaterialPropTableDTO">
        SELECT
        iiq.supplier_name AS supplierName,
        COUNT(*) AS totalBatch,
        SUM(CASE WHEN iiq.inspect_status = 2 or iiq.inspect_status = 4 THEN 1 ELSE 0 END) AS unqualifiedBatch,
        COUNT(iiq.id) AS totalBatch,
        SUM(CASE WHEN iiq.inspect_status = 2 or (iiq.inspect_status = 4 AND iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch,
        ROUND(SUM(CASE WHEN iiq.inspect_status = 1 THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate
        FROM ifs_inventory_quantity iiq
        INNER JOIN ins_order io1
        ON io1.ifs_inventory_id = iiq.id
        AND io1.order_type = #{dto.orderType}
        AND io1.state != -1
        AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
        LEFT JOIN ins_unqualified_handler iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT
        ins_order_id,