From b499a7e1dbcc4b9dbcdcaa46bbf5c24271bf6698 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 11 八月 2025 16:54:05 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 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 1122a2f..d801a5f 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -71,11 +71,35 @@
 
     <!--鏌ヨ绛涢�夊悗鍞竴鐨勬祦绋嬪崱鍙�-->
     <select id="filterOrderProcess">
-        select id,process,order_number,technology_number
+      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
+                            when 'stepA' then 3
+                            when 'stepD' then 4
+                            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
-        order by id
+        group by process) as a
+        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>
 
@@ -129,6 +153,7 @@
         from order_process_detail as a
         left join `order` as b on a.order_id=b.order_id
         where b.create_time BETWEEN #{selectTime1} and #{selectTime2}
+          and position(#{orderId} in b.order_id)
         group by process
 
     </select>
@@ -144,11 +169,12 @@
                    left join sd.`order` o2 on c.order_id = o2.order_id,
                    (SELECT @i:=-1) as d
               where o2.create_time BETWEEN #{selectTime1} and #{selectTime2}
+                and position(#{orderId} in o2.order_id)
               GROUP BY order_number
              ) as b
              on b.order_number = a.order_number
         left join sd.`order` o on a.order_id = o.order_id
-        where o.create_time BETWEEN #{selectTime1} and #{selectTime2}
+        where o.create_time BETWEEN #{selectTime1} and #{selectTime2} and position(#{orderId} in o.order_id)
         group by a.order_number
     </select>
     
@@ -156,12 +182,14 @@
         select a.process from sd.order_process_detail as a,
                               (select id,process from sd.order_process_detail
                                   where process_id=#{processId}
-                                    and technology_number=#{technologyNumber}
+                                    and position(technology_number in #{technologyNumber})
+                                    and order_number=#{orderNumber}
                                     and process=#{thisProcess}
                                 group by process) as b
         where a.id = b.id + 1
         and a.process_id=#{processId}
-        and a.technology_number=#{technologyNumber}
+        and a.order_number=#{orderNumber}
+        and position(a.technology_number in #{technologyNumber})
 
     </select>
 

--
Gitblit v1.8.0