zouyu
12 小时以前 288c8e2d24ee2db081ba818e6b42ea52eb9c4ca2
inspect-server/src/main/resources/mapper/DataAnalysisMapper.xml
@@ -85,8 +85,8 @@
        SELECT
        DATE(io1.send_time) AS day,
        COUNT(*) AS total,
        SUM(CASE WHEN iiq.inspect_status = 1 or (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
        SUM(CASE WHEN iiq.inspect_status = 1 and (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status != 1 or (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
@@ -95,18 +95,11 @@
        AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
        LEFT JOIN (
            SELECT
                iuh.id,
                coa.operation,
                MAX(iuh.id) AS id,
                iuh.inventory_quantity_id
            FROM ins_unqualified_handler iuh
            LEFT JOIN (
            SELECT
            *,
            ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn
            FROM
            common_oa
            ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1
            WHERE coa.operation !='退回' AND coa.operation is not null
            WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
            GROUP BY iuh.inventory_quantity_id
        ) iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
@@ -174,8 +167,8 @@
        SELECT
        MONTH(io1.send_time) AS month,
        COUNT(*) AS total,
        SUM(CASE WHEN iiq.inspect_status = 1 or (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
        SUM(CASE WHEN iiq.inspect_status = 1 and (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status != 1 or (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
@@ -184,18 +177,11 @@
        AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
        LEFT JOIN (
            SELECT
            iuh.id,
            coa.operation,
            MAX(iuh.id) AS id,
            iuh.inventory_quantity_id
            FROM ins_unqualified_handler iuh
            LEFT JOIN (
            SELECT
            *,
            ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn
            FROM
            common_oa
            ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1
            WHERE coa.operation !='退回' AND coa.operation is not null
            WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
            GROUP BY iuh.inventory_quantity_id
        ) iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT ins_order_id, MAX(sample) AS sample, MAX(model) AS model
@@ -232,26 +218,19 @@
        SELECT
        COUNT(*) AS sum,
        /* 合格 */
        SUM(CASE WHEN iiq.inspect_status = 1 or (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        SUM(CASE WHEN iiq.inspect_status = 1 and (iuh.id is null) THEN 1 ELSE 0 END) AS qualified,
        /* 不合格 */
        SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unQualified
        SUM(CASE WHEN iiq.inspect_status != 1 or (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 (
            SELECT
            iuh.id,
            coa.operation,
            MAX(iuh.id) AS id,
            iuh.inventory_quantity_id
            FROM ins_unqualified_handler iuh
            LEFT JOIN (
            SELECT
            *,
            ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn
            FROM
            common_oa
            ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1
            WHERE coa.operation !='退回' AND coa.operation is not null
            WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
            GROUP BY iuh.inventory_quantity_id
        ) iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT
@@ -290,7 +269,7 @@
        SELECT
        iiq.supplier_name AS supplierName,
        COUNT(iiq.id) AS totalBatch,
        SUM(CASE WHEN iiq.inspect_status = 2 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch,
        SUM(CASE WHEN iiq.inspect_status != 1 or (iuh.id is not null) THEN 1 ELSE 0 END) AS unqualifiedBatch,
        ROUND(SUM(CASE WHEN iiq.inspect_status = 1 and iuh.id is null THEN 1 ELSE 0 END) / COUNT(*)* 100, 2 ) AS passRate
        FROM ifs_inventory_quantity iiq
        INNER JOIN ins_order io1
@@ -300,18 +279,11 @@
        AND io1.send_time BETWEEN #{dto.beginDate} AND #{dto.endDate}
        LEFT JOIN (
            SELECT
            iuh.id,
            coa.operation,
            MAX(iuh.id) AS id,
            iuh.inventory_quantity_id
            FROM ins_unqualified_handler iuh
            LEFT JOIN (
            SELECT
            *,
            ROW_NUMBER() OVER (PARTITION BY workflow_id ORDER BY approval_date DESC,approval_time DESC, id DESC) AS rn
            FROM
            common_oa
            ) AS coa ON iuh.request_id = coa.workflow_id AND coa.rn = 1
            WHERE coa.operation !='退回' AND coa.operation is not null
            WHERE iuh.oa_state !=4 AND iuh.oa_state is not null
            GROUP BY iuh.inventory_quantity_id
        ) iuh ON iiq.id = iuh.inventory_quantity_id
        LEFT JOIN (
        SELECT