From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示
---
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 45 +++++++++++++++++++++++++--------------------
1 files changed, 25 insertions(+), 20 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
index 59f0137..3fac30d 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -171,6 +171,7 @@
<!-- 娴佺▼鍗¤繘搴�-->
<select id="processCardProgressMp">
select a.product_name,
+ a.building_number,
b.glass_child,
d.order_type,
concat(c.process_id, '/', c.technology_number) as process_id,
@@ -2570,10 +2571,9 @@
from
(
SELECT (od.quantity) AS quantity,
- d.numCounts + d.patchNumSum - d.numCount -d.broken_num as stockNum,
+ if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity <0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity) as stockNum,
ROUND(ogd.child_width * ogd.child_height *
- (d.numCounts + d.patchNumSum - d.numCount -
- d.broken_num) / 1000000, 2) as stockArea
+ (if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity <0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity)) / 1000000, 2) as stockArea
FROM
sd.order_detail AS od
LEFT JOIN sd.order_glass_detail AS ogd
@@ -2630,7 +2630,7 @@
and position(#{selectProcesses} in d.process)
left join sd.`order` as o on o.order_id=od.order_id
where o.create_order>0
- and d.numCounts +d.patchNumSum - d.numCount - d.broken_num != 0
+ and if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity <0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num - fc.termination_quantity) != 0
and d.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
and position(#{selectProcesses} in d.process)
and position(#{orderId} in od.order_id)
@@ -2979,10 +2979,9 @@
od.quantity,
ogd.child_width,
ogd.child_height,
- d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0) as stockNum,
+ if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)<0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)) as stockNum,
ROUND(ogd.child_width * ogd.child_height *
- (d.numCounts + d.patchNumSum - d.numCount -
- d.broken_num) / 1000000, 2) as stockArea,
+ (if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)<0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0))) / 1000000, 2) as stockArea,
od.product_name,
od.bend_radius,
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber
@@ -3041,7 +3040,7 @@
left join sd.`order` as o on o.order_id=od.order_id
LEFT JOIN sd.basic_data AS bd ON bd.basic_name = d.process
where o.create_order>0
- and d.numCounts +d.patchNumSum - d.numCount - d.broken_num != 0
+ and if(d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)<0,0,d.numCounts + d.patchNumSum - d.numCount -d.broken_num-ifnull(fc.termination_quantity,0)) != 0
and d.process!=SUBSTRING_INDEX(ogd.process, '->', 1)
and position(#{orderId} in od.order_id)
and position(#{inputProject} in o.project)
@@ -3460,8 +3459,10 @@
SELECT g.*
,GROUP_CONCAT(g.glass_child SEPARATOR '+') as childName
from( SELECT f.*,
- e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num as quantity,
- (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)*f.area as glassArea
+ if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,
+ 0,e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity) as quantity,
+ round(if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,0,
+ e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity)*f.area/1000000,2) as glassArea
from (SELECT a.order_id,
if(a.batch!="",CONCAT(a.project,'(',a.batch,')'),a.project) as project,
C.product_id,
@@ -3472,9 +3473,10 @@
d.`group` ,
b.broken_num,
b.id,
- c.area,
+ d.child_width * d.child_height as area,
d.glass_child,
- ifnull(cb.patchNumSum,0) as patchNumSum
+ ifnull(cb.patchNumSum,0) as patchNumSum,
+ fc.termination_quantity
FROM sd.`order` as a
LEFT JOIN sd.order_process_detail as b
@@ -3520,7 +3522,7 @@
f.technology_number ORDER BY f.process_id, f.order_number,
f.technology_number) as g
<choose>
- <when test="laminating == 'stepC' and process == '棰勫帇'">
+ <when test="laminating == 'stepB'">
GROUP BY g.process_id, g.order_number, g.technology_number
</when>
<when test="laminating == 'stepC'">
@@ -3536,6 +3538,7 @@
) as h
+ where h.quantity >0
<choose>
<when test="optionVal == 1">
GROUP BY thisProcess
@@ -3555,8 +3558,8 @@
SELECT g.*
,GROUP_CONCAT(g.glass_child SEPARATOR '+') as childName
from( SELECT f.*,
- e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num as quantity,
- (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)*f.area as glassArea
+ if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,0,e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity) as quantity,
+ round(if(e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity<0,0,e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num-f.termination_quantity)*f.area/1000000,2) as glassArea
from (SELECT a.order_id,
a.project,
C.product_id,
@@ -3567,9 +3570,10 @@
d.`group` ,
b.broken_num,
b.id,
- c.area,
+ d.child_width * d.child_height as area,
d.glass_child,
- ifnull(cb.patchNumSum,0) as patchNumSum
+ ifnull(cb.patchNumSum,0) as patchNumSum,
+ fc.termination_quantity
FROM sd.`order` as a
LEFT JOIN sd.order_process_detail as b
@@ -3611,10 +3615,11 @@
on e.id=(f.id-1) and e.process_id = f.process_id and e.order_number = f.order_number and e.technology_number =f.technology_number
where
e.id is not null
- and e.reporting_work_num_count-f.reporting_work_num_count>0 group by f.process_id, f.order_number,
+ and (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)>0 group by f.process_id, f.order_number,
+ f.technology_number ORDER BY f.process_id, f.order_number,
f.technology_number) as g
<choose>
- <when test="laminating == 'stepC' and process == '棰勫帇'">
+ <when test="laminating == 'stepB'">
GROUP BY g.process_id, g.order_number, g.technology_number
</when>
<when test="laminating == 'stepC'">
@@ -3705,7 +3710,7 @@
e.id is not null
and (e.reporting_work_num_count+f.patchNumSum-f.reporting_work_num_count-f.broken_num)>0 ) as g
<choose>
- <when test="laminating == 'stepC' and process == '棰勫帇'">
+ <when test="laminating == 'stepB'">
GROUP BY g.process_id, g.order_number, g.technology_number
</when>
<when test="laminating == 'stepC'">
--
Gitblit v1.8.0