From eb196866b6b82289fa4fbb90639e23616dcfb82f Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 22 八月 2025 15:09:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 171 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 144 insertions(+), 27 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 7e5c0a6..2d019f6 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -169,31 +169,34 @@
b.glass_child,
d.order_type,
concat(c.process_id, '/', c.technology_number) as process_id,
+ c.process_id as 'processId',
c.order_id,
c.order_number,
c.technology_number,
b.child_width,
b.child_height,
- if(c.technology_number=1,c.quantity,0) as quantity,
+ if(c.technology_number=1,c.quantity-ifnull(c.termination_quantity,0),0) as quantity,
- c.quantity as thisQuantity,/*鐢ㄤ簬鍒ゆ柇鏄惁鏀瑰彉棰滆壊*/
+ c.quantity-ifnull(c.termination_quantity,0) as thisQuantity,/*鐢ㄤ簬鍒ゆ柇鏄惁鏀瑰彉棰滆壊*/
e.reportWorkQuantity,
e.reportWorkQuantityShow,
e.reportWorkQuantityCount,
e.reportWorkTime,
e.broken_num,
- c.quantity as glassQuantity,
+ c.quantity-ifnull(c.termination_quantity,0) as glassQuantity,
- c.quantity as quantityShow,
- c.quantity*a.area as grossAreaShow,
- ifnull(f.inventory, 0) as inventoryShow,
- round(ifnull(f.inventory, 0) * a.area, 2) as inventoryAreaShow,
- ifnull(dd.quantity, 0) as shippedQuantityShow,
+ c.quantity-ifnull(c.termination_quantity,0) as quantityShow,
+ round( (c.quantity-ifnull(c.termination_quantity,0))*a.compute_area,2) as grossAreaShow,
+ ifnull(c.received_quantity, 0) as StorageShow,
+ ifnull(dd.quantity, 0) as shippedQuantityShow, -- 鍙戣揣鏁伴噺
+ round(ifnull(dd.quantity, 0)*a.compute_area,2) as shippedAreaShow, -- 鍙戣揣闈㈢Н
+ round((ifnull(c.received_quantity, 0))*a.compute_area,2) as StorageAreaShow,-- 鍏ュ簱闈㈢Н
- if(c.technology_number=1,c.quantity*a.area,0) as grossArea,
- if(c.technology_number=1,ifnull(f.inventory, 0) ,0) as inventory,
- if(c.technology_number=1,round(ifnull(f.inventory, 0) * a.area, 2),0) as inventoryArea,
+ if(c.technology_number=1, round((c.quantity-ifnull(c.termination_quantity,0))*a.compute_area,2),0) as grossArea,
+ if(c.technology_number=1,ifnull(c.received_quantity, 0) ,0) as Storage,
if(c.technology_number=1,ifnull(dd.quantity, 0) ,0) as shippedQuantity,
+ if(c.technology_number=1,round(ifnull(dd.quantity, 0)*a.compute_area,2),0) as shippedArea,
+ if(c.technology_number=1, round((ifnull(c.received_quantity, 0))*a.compute_area,2),0) as StorageArea,
ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber,
@@ -210,8 +213,8 @@
and c.technology_number = b.technology_number
left join sd.`order` as d
on c.order_id = d.order_id
- left join mm.finished_goods_inventory as f
- on c.order_id = f.order_id and f.order_number = c.order_number
+# left join mm.finished_goods_inventory as f
+# on c.order_id = f.order_id and f.order_number = c.order_number
left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
left join (SELECT process_id,
order_number,
@@ -244,7 +247,7 @@
on e.process_id = c.process_id
and e.technology_number = c.technology_number
and e.order_number = c.order_number
- where a.order_id = #{orderId} and d.create_order>0
+ where a.order_id = #{orderId} and d.create_order>0 and c.quantity-ifnull(c.termination_quantity,0)>0
group by c.order_number,
c.technology_number,
c.process_id
@@ -550,14 +553,14 @@
ogd.glass_child,
ogd.child_width,
ogd.child_height,
- fc.quantity,
+ fc.quantity - ifnull(fc.termination_quantity,0) as quantity,
ROUND(ogd.child_width * ogd.child_height / 1000000, 2) as childArea,
- ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as actualArea,
+ ROUND(ogd.child_width * ogd.child_height * (fc.quantity- ifnull(fc.termination_quantity,0)) / 1000000, 2) as actualArea,
odpd.reporting_work_num as completeNum,
ROUND(ogd.child_width * ogd.child_height * odpd.reporting_work_num / 1000000,
2) as completeArea,
- fc.quantity - odpd.reporting_work_num as incompleteNum,
- ROUND(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num) / 1000000,
+ fc.quantity - odpd.reporting_work_num - ifnull(fc.termination_quantity,0) as incompleteNum,
+ ROUND(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num- ifnull(fc.termination_quantity,0)) / 1000000,
2) as incompleteArea,
od.product_name
@@ -584,6 +587,7 @@
and position(#{orderId} in od.order_id)
and position(#{inputProject} in o.project)
and GREATEST(fc.quantity - odpd.reporting_work_num, 0)>0
+ and fc.quantity-ifnull(fc.termination_quantity,0)>0
group by fc.process_id, fc.order_number, fc.technology_number
order by fc.process_id, fc.order_number, fc.technology_number
@@ -818,7 +822,7 @@
a.product_name,
b.child_width,
b.child_height,
- c.quantity,
+ c.quantity - ifnull(c.termination_quantity,0) as quantity,
c.technology_number,
b.glass_child,
ifnull(e.reportWorkQuantity, 0) as reportWorkQuantity,
@@ -861,7 +865,7 @@
and e.order_number=c.order_number
and e.technology_number = c.technology_number
left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
- where a.order_id = #{orderId} and d.create_order>0
+ where a.order_id = #{orderId} and d.create_order>0 and c.quantity - ifnull(c.termination_quantity,0)>0
group by c.order_number,c.technology_number
ORDER BY a.order_number
</select>
@@ -2197,6 +2201,9 @@
<if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''">
and od.edging_type regexp #{teamOutputDTO.edgingType}
</if>
+ <if test="teamOutputDTO.deviceName != null and teamOutputDTO.deviceName != ''">
+ and rw.device_name regexp #{teamOutputDTO.deviceName}
+ </if>
<choose>
<when test="laminating == ''">
GROUP BY
@@ -2759,6 +2766,7 @@
where
e.id is not null
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 == '棰勫帇'">
@@ -2965,30 +2973,50 @@
<select id="processCardProgressCollectMp">
- select * from (select b.product_name,
- c.detail as 'glassName',
+ select * from (select
+ a.order_id,
+ a.order_number,
+ c.glass_group as 'group',
+ a.technology_number,
+ b.product_name,
+ c.detail as glass_child,
+ d.order_type,
concat(a.process_id,'/',a.technology_number) as processID,
a.process_id,
- a.quantity,
- a.received_quantity,
- round(sum(a.received_quantity*b.area),2) as received_area,
+ if(a.technology_number=1,sum(a.quantity-ifnull(a.termination_quantity,0)),0) as quantity,
+ sum(a.quantity)-ifnull(a.termination_quantity,0) as thisQuantity,/*鐢ㄤ簬鍒ゆ柇鏄惁鏀瑰彉棰滆壊*/
+ if(a.technology_number=1, round(sum((a.quantity-ifnull(a.termination_quantity,0)))*b.compute_area,2),0) as gross_area,
+ if(a.technology_number=1, sum(a.received_quantity),0) as inventory,
+ if(a.technology_number=1, round(sum(a.received_quantity*b.area),2),0) as inventoryArea,
- a.technology_number
+ -- show
+ sum(a.quantity-ifnull(a.termination_quantity,0)) as quantityShow ,
+ round(sum((a.quantity-ifnull(a.termination_quantity,0)))*b.compute_area,2) as gross_areaShow,
+ sum(a.received_quantity) as inventoryShow,
+ round(sum(a.received_quantity*b.area),2) as inventoryAreaShow
+
+
+
+
from pp.flow_card as a
left join sd.order_detail as b
on a.order_id = b.order_id and a.order_number = b.order_number
left join sd.product_detail as c
on c.prod_id = b.product_id and c.glass_sort = a.technology_number
+ LEFT JOIN sd.`order` as d
+ on a.order_id = d.order_id
where a.order_id = #{orderId} group by processID
) as a
left join (SELECT process_id,
technology_number,
sum(broken_num) as broken_num,
- concat('{',GROUP_CONCAT(reporting_work_nums),'}') as reporting_work_num
+ concat('{',GROUP_CONCAT(reporting_work_nums),'}') as reportWorkQuantity,
+ concat('{',GROUP_CONCAT(reporting_work_counts),'}') as reportWorkQuantityCount
from (select
opd.process_id,
opd.technology_number,
concat("\"", process, "\":\"", SUM(reporting_work_num), "\"") as reporting_work_nums,
+ concat("\"", process, "\":\"", SUM(reporting_work_num_count), "\"") as reporting_work_counts,
sum(broken_num) as broken_num
from sd.order_process_detail as opd
where opd.order_id = #{orderId}
@@ -2998,4 +3026,93 @@
order by a.process_id
</select>
+
+ <select id="processCardProgressReportMp">
+ select a.product_name,
+ b.glass_child,
+ d.order_type,
+ concat(c.process_id, '/', c.technology_number) as process_id,
+ c.process_id as 'processId',
+ c.order_id,
+ c.order_number,
+ c.technology_number,
+ b.child_width,
+ b.child_height,
+ c.quantity,
+ c.quantity-ifnull(c.termination_quantity,0) as thisQuantity,/*鐢ㄤ簬鍒ゆ柇鏄惁鏀瑰彉棰滆壊*/
+ e.reportWorkQuantity,
+ e.reportWorkQuantityShow,
+ e.reportWorkQuantityCount,
+ e.reportWorkTime,
+ e.broken_num,
+ c.quantity-ifnull(c.termination_quantity,0) as glassQuantity,
+ c.quantity*a.area as gross_area,
+ c.quantity-ifnull(c.termination_quantity,0) as quantityShow,
+ (c.quantity-ifnull(c.termination_quantity,0))*a.compute_area as grossAreaShow,
+ ifnull(f.inventory, 0) as inventoryShow,
+ round(ifnull(f.inventory, 0) * a.compute_area, 2) as inventoryAreaShow, -- 搴撳瓨闈㈢Н
+ ifnull(dd.quantity, 0) as shippedQuantityShow, -- 鍙戣揣鏁伴噺
+ (ifnull(c.received_quantity, 0))*a.compute_area as StorageAreaShow,-- 鍏ュ簱闈㈢Н
+
+ if(c.technology_number=1,(c.quantity-ifnull(c.termination_quantity,0))*a.compute_area,0) as grossArea,
+ if(c.technology_number=1,ifnull(f.inventory, 0) ,0) as inventory,
+ if(c.technology_number=1,round(ifnull(f.inventory, 0) * a.compute_area, 2),0) as inventoryArea,
+ if(c.technology_number=1,ifnull(dd.quantity, 0) ,0) as shippedQuantity,
+ if(c.technology_number=1,(ifnull(c.received_quantity, 0))*a.compute_area,0) as StorageArea,
+
+
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber,
+ b.`group`
+
+ from pp.flow_card as c
+ left join
+ sd.order_detail as a
+ on c.order_id = a.order_id
+ and c.order_number = a.order_number
+ left join sd.order_glass_detail as b
+ on c.order_id = b.order_id
+ and b.order_number = c.order_number
+ and c.technology_number = b.technology_number
+ left join sd.`order` as d
+ on c.order_id = d.order_id
+ left join mm.finished_goods_inventory as f
+ on c.order_id = f.order_id and f.order_number = c.order_number
+ left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
+ left join (SELECT process_id,
+ order_number,
+ technology_number,
+ sum(a.broken_num) as broken_num,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", if(technology_number!=1 and (bd.nickname='stepD' || bd.nickname='stepB' ) ,0,reporting_work_num), "\"")),
+ '}'
+ ) as reportWorkQuantity,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num, "\"")),
+ '}'
+ ) as reportWorkQuantityShow,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num_count, "\"")),
+ '}'
+ ) as reportWorkQuantityCount,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", IFNULL(date(update_time),''), "\"")),
+ '}'
+ ) as reportWorkTime
+ FROM sd.order_process_detail as a
+ left join (SELECT DISTINCT basic_name,nickname from sd.basic_data as bd where bd.basic_category = 'process') as bd
+ on a.process = bd.basic_name
+ where a.order_id = #{orderId}
+ GROUP BY process_id, a.order_number, a.technology_number
+
+
+ ) as e
+ on e.process_id = c.process_id
+ and e.technology_number = c.technology_number
+ and e.order_number = c.order_number
+ where a.order_id = #{orderId} and d.create_order>0 and c.quantity-ifnull(c.termination_quantity,0)>0
+ group by c.order_number,
+ c.technology_number,
+ c.process_id
+ order by c.process_id, c.order_number, c.technology_number
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0