From 9b52218c49caaf38fa986516eae04c0e2acda7b4 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期四, 19 九月 2024 16:35:33 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 127 ++++++++++++++++++++++++++++++------------
1 files changed, 90 insertions(+), 37 deletions(-)
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index 9ff0452..d9569b0 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -10,6 +10,7 @@
<result column="founder" property="founder"/>
<result column="create_time" property="createTime"/>
<result column="layout_status" property="layoutStatus"/>
+ <result column="merge" property="merge"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
<association property="order" javaType="com.example.erp.entity.sd.Order">
<result column="project" property="project"/>
@@ -64,8 +65,9 @@
a.founder,
c.processing_note,
b.customer_name,
- if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status
- from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time from flow_card
+ if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
+ a.merge
+ from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time,merge from flow_card
group by process_Id,order_number) as a left join sd.`order` as b on a.order_Id=b.order_id
left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
where a.create_time between #{selectTime1} and #{selectTime2}
@@ -93,6 +95,9 @@
</if>
<if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '宸叉帓鐗�'">
and a.layout_status regexp 2
+ </if>
+ <if test="flowCard.merge != null">
+ and a.merge regexp #{flowCard.merge}
</if>
<if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''">
and b.customer_name regexp #{flowCard.order.customerName}
@@ -134,6 +139,9 @@
</if>
<if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '宸叉帓鐗�'">
and a.layout_status regexp 2
+ </if>
+ <if test="flowCard.merge != null">
+ and a.merge regexp #{flowCard.merge}
</if>
ORDER BY a.id desc
@@ -195,15 +203,17 @@
ogd.production_id,
od.product_id,
od.product_name,
- SUM(od.quantity) as quantity,
+ ROUND(SUM(od.quantity)-IFNULL(sum(fc.quantity)/count(fc.technology_number),0)) as quantity,
SUM(od.compute_gross_area) as compute_gross_area,
round(sum(od.perimeter), 2) as perimeter
from sd.order_detail as od
left join
- (select order_id, order_number, production_id, splitting_status
+ (select order_id, order_number,technology_number, production_id, splitting_status
from sd.order_glass_detail
GROUP BY order_id, order_number) as ogd
on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+ left join flow_card as fc on fc.order_id = od.order_id and fc.order_number = od.order_number
+ and fc.technology_number=ogd.technology_number
where od.order_id = #{orderId}
and ogd.splitting_status = 0
@@ -241,12 +251,13 @@
od.quantity,
od.compute_gross_area,
p.total_thickness,
- od.quantity as baiscQuantity,
+ ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0)) as baiscQuantity,
od.compute_gross_area as 'computeGrossArea',
p.total_thickness AS 'totalThickness',
- p.thickness,
+ ifnull(p.thickness,'') as thickness,
od.weight,
od.remarks,
+ ifnull(od.bend_radius,'') as bend_radius,
ods.S01,
ods.S02,
ods.S03,
@@ -266,6 +277,8 @@
FROM sd.order_detail
WHERE order_id = #{orderId}) as ods
on ods.order_id = od.order_id and ods.order_number = od.order_number
+ left join flow_card as fc on fc.order_id = od.order_id and fc.order_number = od.order_number
+ and fc.technology_number=ogd.technology_number
where od.order_id = #{orderId}
and ogd.production_id = #{productionId}
and ogd.splitting_status = 0
@@ -480,8 +493,8 @@
ogdss.technology_number,
ogd.glass_address,
ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
- sum(ogd.total_area) as total_area,
- # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
+ # sum(ogd.total_area) as total_area,
+ ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000/(count(DISTINCT fc.technology_number)),2) as total_area,
od.product_name,
ogdss.concatenated_glass_child as glass_child,
fc.founder,
@@ -505,12 +518,10 @@
ogds.child_height
from sd.order_glass_detail as ogds
where ogds.order_id = #{orderId}
- GROUP BY order_id, order_number, ogds.glass_child, process, ogds.child_width,
- ogds.child_height) as ogdss
+ GROUP BY order_id, order_number, ogds.glass_child, process) as ogdss
on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
where fc.order_id = #{orderId}
- GROUP BY fc.process_id, ogdss.concatenated_glass_child, ogdss.processed_part, ogdss.child_width,
- ogdss.child_height
+ GROUP BY fc.process_id, ogdss.concatenated_glass_child, ogdss.processed_part
order by fc.process_id, ogdss.technology_number)
UNION
@@ -523,8 +534,8 @@
ogdss.technology_number,
ogd.glass_address,
ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
- sum(ogd.total_area) as total_area,
- # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
+ # sum(ogd.total_area) as total_area,
+ ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000/(count(DISTINCT fc.technology_number)),2) as total_area,
od.product_name,
ogdss.concatenated_glass_child as glass_child,
fc.founder,
@@ -562,7 +573,7 @@
ogdss.technology_number,
ogd.glass_address,
ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
- sum(ogd.total_area) as total_area,
+ ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000/(count(DISTINCT fc.technology_number)),2) as total_area,
od.product_name,
ogdss.concatenated_glass_child as glass_child,
fc.founder,
@@ -759,7 +770,7 @@
o.customer_id,
ogd.child_width as width,
ogd.child_height as height,
- od.quantity,
+ fc.quantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
ogd.glass_child,
@@ -797,7 +808,8 @@
ifnull(fcs.sort, '') as sort,
ogd.glass_child,
#{process} as process,
- JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+ od.bend_radius
FROM flow_card AS fc
LEFT JOIN sd.order_glass_detail AS ogd ON fc.order_id = ogd.order_id
AND fc.order_number = ogd.order_number
@@ -883,13 +895,13 @@
od.processing_note as processingNote,
width,
height,
- od.quantity,
+ fc.quantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
od.product_name as productName,
od.edging_type as edgingType,
- p.remarks,
+ od.remarks,
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id as processId,
@@ -945,7 +957,9 @@
od.product_name,
ogd.glass_child,
fc.print_status,
- pl.reporting_work_id
+ pl.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
+
from flow_card as fc
left join sd.order_glass_detail as ogd
on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -1023,7 +1037,8 @@
from sd.order_detail as od
left join flow_card as fc on od.order_id = fc.order_id and od.order_number = fc.order_number
where fc.process_id = #{processId}
- and fc.technology_number = #{technologyNumber}
+ and POSITION(fc.technology_number in #{technologyNumber})
+ GROUP BY other_columns
order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
</select>
@@ -1127,7 +1142,8 @@
pl.rework_processes,
od.product_name,
ogd.glass_child,
- pl.reporting_work_id
+ pl.reporting_work_id,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
from flow_card as fc
left join sd.order_glass_detail as ogd
on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -1138,7 +1154,7 @@
pl.order_sort = fc.order_number and
pl.technology_number = fc.technology_number
where pl.create_time between #{selectTime1} and #{selectTime2}
- GROUP BY fc.process_id, ogd.technology_number, pl.reporting_work_id
+ GROUP BY fc.process_id,fc.order_number, ogd.technology_number, pl.reporting_work_id
order by pl.id desc, fc.process_id, ogd.technology_number
</select>
@@ -1217,7 +1233,7 @@
<select id="getDetailListRefund">
select fc.order_number,
concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
- (pl.patch_num) as quantity,
+ sum(pl.patch_num) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
od.bend_radius,
@@ -1226,7 +1242,11 @@
round(ogd.child_width) as width,
round(ogd.child_height) as height,
pd.separation,
- fc.technology_number
+ fc.technology_number,
+ pl.patch_type,
+ pl.patch_reason,
+ pl.patch_processes,
+ pl.responsible_team
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1240,7 +1260,8 @@
and fc.order_number = #{orderNumber}
and position(fc.technology_number in #{technologyNumber})
and pl.reporting_work_id = #{reportingWorkId}
- group by fc.process_id, fc.order_number, fc.technology_number
+ and pl.patch_reason = #{patchReason}
+ group by fc.process_id, fc.order_number, fc.technology_number,pl.id
order by IF(sort != NULL and sort != '', sort, fc.order_number)
</select>
@@ -1262,7 +1283,10 @@
dd.breakage_reason,
dd.responsible_process,
dd.responsible_team,
- concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
+ dd.responsible_personnel,
+ #{mergeTechnologyNumber} as mergeTechnologyNumber,
+ pl.patch_id
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1292,6 +1316,7 @@
and fc.order_number = #{orderNumber}
and fc.technology_number = #{technologyNumber}
and rw.reporting_work_id = #{reportingWorkId}
+ and dd.breakage_reason = #{patchReason}
group by fc.process_id, fc.technology_number
</select>
@@ -1343,7 +1368,9 @@
dd.breakage_reason,
dd.responsible_process,
dd.responsible_team,
- concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
+ dd.responsible_personnel,
+ pl.rework_id as patch_id
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1388,7 +1415,12 @@
round(ogd.child_width) as width,
round(ogd.child_height) as height,
pd.separation,
- fc.technology_number
+ fc.technology_number,
+ pl.rework_type as patch_type,
+ pl.rework_reason as patch_reason,
+ pl.rework_processes as patch_processes,
+ pl.responsible_team,
+ pl.rework_team
from flow_card as fc
left join sd.order_glass_detail as ogd
on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1498,13 +1530,13 @@
od.processing_note as processingNote,
round(ogd.child_width) as width,
round(ogd.child_height) as height,
- od.quantity,
+ fc.quantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
od.product_name as productName,
od.edging_type as edgingType,
- p.remarks,
+ od.remarks,
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
CONCAT(fc.process_id, '/', fc.technology_number) as processId,
@@ -1538,7 +1570,7 @@
and fcs.process = #{process}
where fc.process_id = #{processId}
and position(fc.technology_number in #{technologyNumber})
- group by od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
+ group by fc.process_id,od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
</select>
@@ -1551,8 +1583,8 @@
fc.order_number,
ogd.technology_number,
ogd.glass_address,
- sum(od.quantity) as quantity,
- sum(ogd.total_area) as total_area,
+ sum(fc.quantity) as quantity,
+ round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
od.product_name,
ogd.glass_child,
fc.founder,
@@ -1978,13 +2010,13 @@
od.processing_note as processingNote,
width,
height,
- od.quantity,
+ fc.quantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
od.product_name as productName,
od.edging_type as edgingType,
- p.remarks,
+ od.remarks,
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id as processId,
@@ -2016,7 +2048,7 @@
ogd.technology_number = fc.technology_number
where fc.process_id = #{processId}
and fc.order_number = #{orderNumber}
- group by fc.process_id, od.order_number, width, height
+ group by od.order_number, width, height
order by fc.process_id
</select>
@@ -2075,4 +2107,25 @@
GROUP BY od.order_number
order by fc.process_id desc LIMIT 1),'') as process_id
</select>
+
+ <select id="selectFlowCardMerge">
+ select *
+ from pp.flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+ where fc.process_id = #{processId}
+ GROUP BY fc.order_id, fc.process_id, ogd.glass_child
+ </select>
+
+ <update id="updateFlowCardMerge">
+ update pp.flow_card fc set fc.merge=1
+ where fc.process_id = #{processId}
+ </update>
+
+ <delete id="deleteflowCardSort">
+ delete from flow_card_sort where process_id = #{processId}
+ </delete>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0