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