From 174cc2a8aa52f00334e0e9a3a0ea91b2e3e7acd3 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 30 十月 2025 16:20:41 +0800
Subject: [PATCH] 修改次破报表翻页汇总不正确问题

---
 north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
index 1b4a22e..5ea4259 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -6,7 +6,7 @@
 
     <insert id="insertOrderProcessDetail" >
         insert into
-            order_process_detail(
+            sd.order_process_detail(
                 order_id,
                 order_number,
                 technology_number,
@@ -118,7 +118,9 @@
     <select id="getGlassLRow">
         select
              max(a.technology_number) as rowCount,
-             RowNum
+             RowNum,
+             a.order_number,
+             a.process_id
         from pp.flow_card as a
         left join
             (select min((@i:=@i+1)) AS RowNum,c.*
@@ -130,7 +132,7 @@
         on b.id = a.id
         where a.order_id = #{orderId}
         group by a.order_number,a.process_id
-        order by RowNum
+        order by a.process_id,a.order_number
 
     </select>
 
@@ -214,12 +216,24 @@
     </select>
 
     <select id="selectShiftQuantitySv">
-        select * from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
+        select *
+        <if test="step != null and step != ''">
+            ,sum(e.break) as 'breakage_quantity'
+            ,Round(sum(e.break)*e.area,2) as 'breakage_area'
+        </if>
+        <if test="step == null || step == ''">
+            ,e.break as 'breakage_quantity'
+            ,Round(e.break*e.area,2) as 'breakage_area'
+        </if>
+        from(select CAST(concat(b.order_id,'/',a.order_number,'/',a.technology_number) as char ) as 'order_id',
                c.child_width,
                c.child_height,
                a.completed_quantity,
-               a.breakage_quantity,
-               a.order_number
+               a.breakage_quantity as break,
+               a.order_number,
+               b.reporting_work_id,
+               round(c.area*a.completed_quantity,2) as finish_area,
+               c.area
         from pp.reporting_work as b
         left join pp.reporting_work_detail as a
             on a.reporting_work_id = b.reporting_work_id
@@ -232,7 +246,7 @@
         and UNIX_TIMESTAMP(b.reporting_work_time) BETWEEN UNIX_TIMESTAMP(#{startDatetime}) and UNIX_TIMESTAMP(#{endDatetime})
         order by b.id desc ) as e
         <if test="step != null and step != ''">
-            group by e.order_number
+            group by e.order_number,e.reporting_work_id
         </if>
     </select>
     

--
Gitblit v1.8.0