廖井涛
2025-10-27 a3ad909e75ddb7a6271d95704dc002cc70337fd5
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -275,8 +275,8 @@
        from
            sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
                             left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
                             left join reporting_work as rw on rw.order_id=o.order_id
                             left join damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
                             left join pp.reporting_work as rw on rw.order_id=o.order_id
                             left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
            and dd.technology_number=ogd.technology_number
        where date(rw.reporting_work_time) >= #{startDate}
          and date(rw.reporting_work_time) <= #{endDate}
@@ -323,8 +323,8 @@
    <select id="getProcessBreakingTotal">
        select CEILING(count(dd.id) / #{pageSize}) as 'pageTotal',
               count(distinct dd.id)               as 'total'
        from damage_details as dd
                 left join reporting_work as rw
        from pp.damage_details as dd
                 left join pp.reporting_work as rw
                           on rw.reporting_work_id = dd.reporting_work_id
                 left join sd.order as o
                           on rw.order_id = o.order_id
@@ -625,8 +625,8 @@
        FROM
        sd.ORDER AS o
        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
        LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
        LEFT JOIN damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
        LEFT JOIN pp.reporting_work AS rw ON rw.order_id = o.order_id
        LEFT JOIN pp.damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
        AND dd.order_number = ogd.order_number
        AND dd.technology_number = ogd.technology_number
        left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
@@ -683,8 +683,8 @@
        FROM
        sd.ORDER AS o
        LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
        LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
        LEFT JOIN damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
        LEFT JOIN pp.reporting_work AS rw ON rw.order_id = o.order_id
        LEFT JOIN pp.damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
        AND dd.order_number = ogd.order_number
        AND dd.technology_number = ogd.technology_number
        WHERE
@@ -1448,10 +1448,10 @@
        END AS workProcessName,
        o.batch
        FROM
        reporting_work AS rw
        LEFT JOIN reporting_work_detail AS rwd
        pp.reporting_work AS rw
        LEFT JOIN pp.reporting_work_detail AS rwd
        ON rwd.reporting_work_id = rw.reporting_work_id
        LEFT JOIN flow_card AS fc
        LEFT JOIN pp.flow_card AS fc
        ON fc.order_id = rw.order_id
        AND fc.process_id = rw.process_id
        AND fc.order_number = rwd.order_number
@@ -1621,8 +1621,8 @@
        od.product_name,
        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code
        FROM
        reporting_work as rw left join reporting_work_detail as rwd on rwd.reporting_work_id=rw.reporting_work_id
        left join flow_card as fc on fc.order_id=rw.order_id and fc.process_id=rw.process_id  and fc.order_number=rwd.order_number and fc.technology_number=rwd.technology_number
        pp.reporting_work as rw left join pp.reporting_work_detail as rwd on rwd.reporting_work_id=rw.reporting_work_id
        left join pp.flow_card as fc on fc.order_id=rw.order_id and fc.process_id=rw.process_id  and fc.order_number=rwd.order_number and fc.technology_number=rwd.technology_number
        left join sd.order_glass_detail as ogd on ogd.order_id=fc.order_id and ogd.order_number=fc.order_number and ogd.technology_number=fc.technology_number
        left join sd.order_detail as od  on od.order_id=ogd.order_id and od.order_number=ogd.order_number
        left join sd.`order` as o on o.order_id=od.order_id
@@ -2165,7 +2165,7 @@
            SUM(odpd.reporting_work_num) AS completeNum,
            ROUND(SUM(ogd.child_width * ogd.child_height * odpd.reporting_work_num) / 1000000, 2) AS completeArea,
            SUM(fc.quantity - odpd.reporting_work_num) AS incompleteNum,
            ROUND(SUM(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num)) / 1000000, 2) AS incompleteArea
            ROUND(SUM(ogd.child_width * ogd.child_height * (CAST(fc.quantity AS SIGNED) - CAST(odpd.reporting_work_num AS SIGNED))) / 1000000, 2) AS incompleteArea
        FROM sd.order_detail AS od
                 LEFT JOIN sd.order_glass_detail AS ogd
                           ON od.order_id = ogd.order_id
@@ -2188,7 +2188,7 @@
          AND o.create_time &lt;  #{selectTime2}
          and position(#{orderId} in od.order_id)
          and position(#{inputProject} in o.project)
          AND fc.quantity - odpd.reporting_work_num > 0;
          AND CAST(fc.quantity AS SIGNED) - CAST(odpd.reporting_work_num AS SIGNED)>0;
    </select>
@@ -2199,8 +2199,8 @@
        FROM
            sd.ORDER AS o
                LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
                LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
                LEFT JOIN damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
                LEFT JOIN pp.reporting_work AS rw ON rw.order_id = o.order_id
                LEFT JOIN pp.damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
                AND dd.order_number = ogd.order_number
                AND dd.technology_number = ogd.technology_number
                LEFT JOIN sd.order_detail AS od ON o.order_id = od.order_id
@@ -2277,10 +2277,10 @@
        END AS workProcessName,
        o.batch
        FROM
        reporting_work AS rw
        LEFT JOIN reporting_work_detail AS rwd
        pp.reporting_work AS rw
        LEFT JOIN pp.reporting_work_detail AS rwd
        ON rwd.reporting_work_id = rw.reporting_work_id
        LEFT JOIN flow_card AS fc
        LEFT JOIN pp.flow_card AS fc
        ON fc.order_id = rw.order_id
        AND fc.process_id = rw.process_id
        AND fc.order_number = rwd.order_number
@@ -2905,7 +2905,6 @@
                                        AND cb.technology_number = b.technology_number
                             where a.processing_card>0
                               and a.warehousing!=2
                                and (c.quantity-b.reporting_work_num)>0
                             GROUP BY  b.process_id, b.order_number,
                                 b.technology_number) as f
                                LEFT JOIN sd.order_process_detail as e
@@ -2996,7 +2995,6 @@
        AND cb.technology_number = b.technology_number
        where a.processing_card>0
        and a.warehousing!=2
        and (c.quantity-b.reporting_work_num)>0
        GROUP BY  b.process_id, b.order_number,
        b.technology_number) as f
        LEFT JOIN sd.order_process_detail as e
@@ -3298,7 +3296,7 @@
        ROUND(ogd.child_width * ogd.child_height * odpd.reporting_work_num / 1000000,
        2)                                                             as completeArea,
        fc.quantity - odpd.reporting_work_num - ifnull(fc.termination_quantity,0)      as incompleteNum,
        ROUND(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num- ifnull(fc.termination_quantity,0)) / 1000000,
        ROUND(ogd.child_width * ogd.child_height * (CAST(fc.quantity AS SIGNED) - CAST(odpd.reporting_work_num AS SIGNED)- ifnull(fc.termination_quantity,0)) / 1000000,
        2)                                                             as incompleteArea,
        od.product_name
@@ -3324,7 +3322,7 @@
          AND o.create_time &lt;  #{selectTime2}
          and position(#{orderId} in od.order_id)
          and position(#{inputProject} in o.project)
        and GREATEST(fc.quantity - odpd.reporting_work_num, 0)>0
        and CAST(fc.quantity AS SIGNED) - CAST(odpd.reporting_work_num AS SIGNED)>0
        and fc.quantity-ifnull(fc.termination_quantity,0)>0
        GROUP BY fc.process_id, fc.order_number, fc.technology_number
        order by fc.process_id, fc.order_number, fc.technology_number