From fec9f42e00f2df68a2a20cbf132b17bdeed8e63a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 25 八月 2025 09:19:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml |   84 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 73 insertions(+), 11 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 63743bf..066f266 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -71,7 +71,7 @@
 
     <!--鏌ヨ绛涢�夊悗鍞竴鐨勬祦绋嬪崱鍙�-->
     <select id="filterOrderProcess">
-      select * from( select max(id) as id,process,order_number,technology_number,b.nickname,
+      select a.* from( select id as id,process,order_number,technology_number,b.nickname,
                             case b.nickname when '' then 1
                             when null then 1
                             when 'stepC' then 2
@@ -80,12 +80,26 @@
                             when 'stepB' then 4
                      end as sort
 
+
         from order_process_detail
         left join (select DISTINCT basic_name,nickname from basic_data where basic_category = 'process') as b
         on b.basic_name = process
         where order_id = #{orderId}
         group by process) as a
-        order by sort,id
+        left join (SELECT max(count) as count,process from (SELECT count(opd1.id) as count,opd.process
+                                                    from order_process_detail as opd
+                                                             LEFT JOIN (SELECT id,process_id,order_number,technology_number
+                                                                        from order_process_detail
+                                                                        where order_id = #{orderId}) as opd1
+                                                                       on opd.process_id = opd1.process_id
+                                                                           and opd.order_number = opd1.order_number
+                                                                           and opd.technology_number = opd1.technology_number
+                                                                           and opd.id>=opd1.id
+                                                    where opd.order_id =#{orderId}
+                                                    group by opd.id) as a
+                    GROUP BY process)   as sort1
+        on sort1.process = a.process
+        order by sort,sort1.count,id
 
     </select>
 
@@ -105,17 +119,37 @@
         select
              max(a.technology_number) as rowCount,
              RowNum
-        from sd.order_process_detail as a
+        from pp.flow_card as a
         left join
             (select min((@i:=@i+1)) AS RowNum,c.*
-             from sd.order_glass_detail as c,
+             from pp.flow_card  as c,
                   (SELECT @i:=-1) as d
              where order_id = #{orderId}
-             GROUP BY order_number
+             GROUP BY order_number,process_id
              ) as b
-        on b.order_number = a.order_number
+        on b.id = a.id
         where a.order_id = #{orderId}
-        group by a.order_number
+        group by a.order_number,a.process_id
+        order by RowNum
+
+    </select>
+
+    <select id="getProcessGlassLRow">
+        select
+            max(a.technology_number) as rowCount,
+            RowNum
+        from pp.flow_card as a
+                 left join
+             (select min((@i:=@i+1)) AS RowNum,c.*
+              from pp.flow_card  as c,
+                   (SELECT @i:=-1) as d
+              where order_id = #{orderId}
+              GROUP BY process_id
+             ) as b
+             on b.id = a.id
+        where a.order_id = #{orderId}
+        group by a.process_id
+        order by RowNum
 
     </select>
     <update id="insertByReportingWorkDetail">
@@ -180,12 +214,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
@@ -198,7 +244,23 @@
         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>
+    
+    <select id="getBehindProcess">
+        select group_concat(process) from sd.order_process_detail as a
+        where a.order_id = #{orderId}
+        and a.process_id = #{processId}
+        and a.order_number =#{orderNumber}
+        and a.technology_number =#{technologyNumber}
+        and a.id>(select id
+                  from sd.order_process_detail as b
+                  where b.order_id = #{orderId}
+                    and b.process_id = #{processId}
+                    and b.order_number =#{orderNumber}
+                    and b.technology_number =#{technologyNumber}
+                  and b.process = #{thisProcess}
+                )
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0