From 25cc86fd8a2fb3b2bb6b385cba0adaf89ff3dcdc Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 18 十二月 2025 16:39:32 +0800
Subject: [PATCH] 流程卡进度打印部分代码
---
north-glass-erp/src/main/resources/mapper/pp/Report.xml | 91 +++++++++++++++++++++++++++++++++++++++++----
1 files changed, 82 insertions(+), 9 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 03253e7..59f0137 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -278,13 +278,17 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from
sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
left join pp.reporting_work as rw on rw.order_id=o.order_id
left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
and dd.technology_number=ogd.technology_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where (rw.reporting_work_time) >= #{startDate}
and (rw.reporting_work_time) <= #{endDate}
and rw.this_worn_quantity > 0
@@ -331,6 +335,15 @@
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
</if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
+ </if>
GROUP BY dd.id
order by dd.id desc
limit #{offset},#{pageSize}
@@ -354,13 +367,17 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from
sd.`order` as o left join sd.order_detail as od on o.order_id=od.order_id
left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number
left join pp.reporting_work as rw on rw.order_id=o.order_id
left join pp.damage_details as dd on dd.reporting_work_id=rw.reporting_work_id and dd.order_number=ogd.order_number
and dd.technology_number=ogd.technology_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where (rw.reporting_work_time) >= #{startDate}
and (rw.reporting_work_time) <= #{endDate}
and rw.this_worn_quantity > 0
@@ -406,6 +423,15 @@
</if>
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
+ </if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
</if>
GROUP BY dd.id
order by dd.id desc
@@ -469,6 +495,15 @@
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
</if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
+ </if>
order by dd.id desc
</select>
@@ -528,6 +563,15 @@
</if>
<if test="crossProcessBreakingDTO.reportingWorkId != null and crossProcessBreakingDTO.reportingWorkId != ''">
and rw.reporting_work_id like concat('%', #{crossProcessBreakingDTO.reportingWorkId}, '%')
+ </if>
+ <if test="crossProcessBreakingDTO.childWidth != null and crossProcessBreakingDTO.childWidth != ''">
+ and ogd.child_width regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childWidth},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.childHeight != null and crossProcessBreakingDTO.childHeight != ''">
+ and ogd.child_height regexp REGEXP_REPLACE(#{crossProcessBreakingDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="crossProcessBreakingDTO.thickness != null and crossProcessBreakingDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{crossProcessBreakingDTO.thickness}, '%')
</if>
order by dd.id desc
</select>
@@ -788,7 +832,10 @@
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
rw.this_process,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness,
+ ROUND(round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 )
+ * SUBSTRING_INDEX(IFNULL(JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')), '0'), 'mm', 1),2) AS pingfang
FROM
sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
@@ -797,6 +844,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -852,6 +900,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
GROUP BY
dd.id
@@ -870,6 +921,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -924,6 +976,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
limit #{offset},#{pageSize};
</select>
@@ -1302,7 +1357,10 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from damage_details as dd
left join reporting_work as rw
on rw.reporting_work_id = dd.reporting_work_id
@@ -1339,7 +1397,10 @@
JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code,
CONCAT(rw.process_id,'/',GROUP_CONCAT(distinct dd.technology_number SEPARATOR '')) as process_id,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ ogd.child_width,
+ ogd.child_height,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) as thickness
from damage_details as dd
left join reporting_work as rw
on rw.reporting_work_id = dd.reporting_work_id
@@ -1381,7 +1442,10 @@
ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
rw.this_process,
rw.creator,
- rw.reporting_work_id
+ rw.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness,
+ ROUND(round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 )
+ * SUBSTRING_INDEX(IFNULL(JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')), '0'), 'mm', 1),2) AS pingfang
FROM sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
@@ -1389,6 +1453,7 @@
AND dd.order_number = ogd.order_number
AND dd.technology_number = ogd.technology_number
left join sd.order_detail as od on o.order_id = od.order_id and od.order_number=ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE rw.reporting_work_time >= #{dates[0]}
and rw.reporting_work_time <= #{dates[1]}
AND dd.available = 0 and rw.reviewed_state>=0
@@ -1461,7 +1526,8 @@
od.quantity - odpd.reporting_work_num as incompleteNum,
ROUND(ogd.child_width * ogd.child_height * (od.quantity - odpd.reporting_work_num) / 1000000,
2) as incompleteArea,
- od.product_name
+ od.product_name,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness
from sd.order_detail AS od
LEFT JOIN sd.order_glass_detail AS ogd
@@ -1479,6 +1545,7 @@
and odpd.process_id = fc.process_id
left join sd.`order` as o
on o.order_id = od.order_id
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
where o.create_order>0
and odpd.process = #{process}
and date(o.create_time) >= #{date[0]}
@@ -2658,7 +2725,9 @@
<select id="damageReportFootSum">
SELECT
SUM(dd.breakage_quantity) AS breakageQuantity,
- ROUND(SUM(ogd.child_width * ogd.child_height * dd.breakage_quantity) / 1000000, 2) AS area
+ ROUND(SUM(ogd.child_width * ogd.child_height * dd.breakage_quantity) / 1000000, 2) AS area,
+ SUM(ROUND(round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 )
+ * SUBSTRING_INDEX(IFNULL(JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')), '0'), 'mm', 1),2)) AS pingfang
FROM
sd.ORDER AS o
LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
@@ -2668,6 +2737,7 @@
AND dd.technology_number = ogd.technology_number
LEFT JOIN sd.order_detail AS od ON o.order_id = od.order_id
AND od.order_number = ogd.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id
WHERE
rw.reporting_work_time >= #{selectTime1}
AND rw.reporting_work_time <= #{selectTime2}
@@ -2722,6 +2792,9 @@
</if>
<if test="damageReportDTO.childHeight != null and damageReportDTO.childHeight != ''">
and ogd.child_height regexp REGEXP_REPLACE(#{damageReportDTO.childHeight},'\\.0+$','')
+ </if>
+ <if test="damageReportDTO.thickness != null and damageReportDTO.thickness != ''">
+ and JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) like concat('%', #{damageReportDTO.thickness}, '%')
</if>
</select>
@@ -2906,7 +2979,7 @@
od.quantity,
ogd.child_width,
ogd.child_height,
- d.numCounts + d.patchNumSum - d.numCount -d.broken_num as stockNum,
+ 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,
--
Gitblit v1.8.0