From 2a891d0391bc9f2dfaaaee8f63fcb20ff0932202 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 七月 2024 15:11:40 +0800
Subject: [PATCH] 修改订单报表
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 240 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 227 insertions(+), 13 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 363475e..fb4669b 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -736,13 +736,26 @@
od.edging_type as edgingType,
p.remarks,
c.customer_abbreviation as customerAbbreviation,
- od.other_columns
+ p.product_abbreviation as productAbbreviation,
+ fc.process_id as processId,
+ o.create_time as createTime,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S02' )) AS figureNumber,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S03' )) AS colourCeramicGlaze,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S04' )) AS remarks1,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S05' )) AS remarks2,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S06' )) AS remarks3,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S07' )) AS remarks4,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S08' )) AS remarks5,
+ p.remarks as filmNumber,
+ od.bend_radius as bendRadius
from sd.order as o
left join sd.order_detail as od on o.order_id = od.order_id
left join flow_card as fc on o.order_id = fc.order_id and
od.order_number = fc.order_number
left join sd.product as p on p.id=od.product_id
left join sd.customer as c on c.id = o.customer_id
+ left join sd.product_detail as pd on pd.prod_id=p.id and pd.sort_num=od.order_number
where fc.process_id = #{processId}
and fc.technology_number = #{technologyNumber}
group by od.order_number, width, height
@@ -767,7 +780,9 @@
pl.patch_reason,
pl.patch_processes,
od.product_name,
- ogd.glass_child
+ ogd.glass_child,
+ fc.print_status,
+ pl.reporting_work_id
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
@@ -777,9 +792,9 @@
left join patch_log as pl on pl.order_id = fc.order_id and pl.process_id = fc.process_id and
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
- order by pl.id,fc.process_id, ogd.technology_number
+ where pl.create_time between #{selectTime1} and #{selectTime2} and pl.review_status>0
+ GROUP BY pl.id,fc.process_id, ogd.technology_number
+ order by pl.id desc,fc.process_id, ogd.technology_number
</select>
<select id="getRepairPrintCustomData">
@@ -900,7 +915,7 @@
</select>
<select id="selectorderOtherMoney">
- select * from sd.basic_other_money where (id=21 or id>31)
+ select * from sd.basic_other_money where id between 21 and 35
</select>
<select id="selectReworkPrintMp">
@@ -921,7 +936,8 @@
pl.rework_reason,
pl.rework_processes,
od.product_name,
- ogd.glass_child
+ ogd.glass_child,
+ pl.reporting_work_id
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
@@ -932,8 +948,8 @@
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
- order by pl.id,fc.process_id, ogd.technology_number
+ GROUP BY fc.process_id, ogd.technology_number,pl.reporting_work_id
+ order by pl.id desc,fc.process_id, ogd.technology_number
</select>
<select id="getDetailListLike">
@@ -970,7 +986,7 @@
od.product_name,
o.processing_note,
fc.process_id,
- SUM(od.quantity) as quantity,
+ pl.patch_num as quantity,
round(SUM(ogd.total_area), 2) as gross_area,
sum(od.weight) as weight,
#{technologyNumber} as technologyNumber,
@@ -994,6 +1010,7 @@
and position(ogd.technology_number in #{technologyNumber})
GROUP BY order_id, order_number
) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
+ left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
group by fc.process_id, fc.technology_number
@@ -1002,7 +1019,7 @@
<select id="getDetailListRefund">
select fc.order_number,
concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
- od.quantity,
+ (pl.patch_num) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
od.bend_radius,
@@ -1018,9 +1035,11 @@
fc.technology_number = ogd.technology_number
left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
+ left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
where fc.process_id = #{processId}
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
order by IF(sort != NULL || sort != '', sort, fc.order_number)
</select>
@@ -1034,7 +1053,7 @@
od.product_name,
o.processing_note,
fc.process_id,
- SUM(od.quantity) as quantity,
+ pl.patch_num as quantity,
round(SUM(ogd.total_area), 2) as gross_area,
sum(od.weight) as weight,
#{technologyNumber} as technologyNumber,
@@ -1058,6 +1077,7 @@
and position(ogd.technology_number in #{technologyNumber})
GROUP BY order_id, order_number
) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
+ left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
where fc.process_id = #{processId}
and fc.order_number = #{orderNumber}
and fc.technology_number = #{technologyNumber}
@@ -1067,7 +1087,7 @@
<select id="getDetailListLikeRefund">
select fc.order_number,
concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
- od.quantity,
+ pl.patch_num as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
od.bend_radius,
@@ -1083,10 +1103,204 @@
fc.technology_number = ogd.technology_number
left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
+ left join patch_log as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
where fc.process_id = #{processId}
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
order by IF(sort != NULL || sort != '', sort, fc.order_number)
</select>
+
+ <select id="getPrimaryListRework">
+ select o.customer_name,
+ o.project,
+ ogd.process,
+ od.edging_type,
+ ogd.glass_child,
+ od.product_name,
+ o.processing_note,
+ fc.process_id,
+ pl.rework_num as quantity,
+ round(SUM(ogd.total_area), 2) as gross_area,
+ sum(od.weight) as weight,
+ #{technologyNumber} as technologyNumber,
+ concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
+ 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
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.`order` as o on o.order_id = fc.order_id
+ left join sd.product as p on p.id=od.product_id
+ left join (
+ select ogd.order_id,
+ ogd.order_number,
+ ogd.technology_number,
+ ogd.glass_child,
+ GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+ from sd.order_glass_detail as ogd
+ where ogd.order_id = left(#{processId},10)
+ and ogd.order_number = #{orderNumber}
+ and position(ogd.technology_number in #{technologyNumber})
+ GROUP BY order_id, order_number
+ ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
+ left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
+ where fc.process_id = #{processId}
+ and fc.order_number = #{orderNumber}
+ and fc.technology_number = #{technologyNumber}
+ group by fc.process_id, fc.technology_number
+ </select>
+
+ <select id="getDetailListRework">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ (pl.rework_num) as quantity,
+ round(ogd.total_area, 2) as total_area,
+ od.perimeter,
+ od.bend_radius,
+ concat(od.processing_note,od.remarks) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation,
+ fc.technology_number
+ 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
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
+ left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
+ where fc.process_id = #{processId}
+ 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
+ order by IF(sort != NULL || sort != '', sort, fc.order_number)
+ </select>
+
+ <select id="getPrimaryListMergeRework">
+ select o.customer_name,
+ o.project,
+ ogd.process,
+ od.edging_type,
+ ogdc.concatenated_glass_child as glass_child,
+ od.product_name,
+ o.processing_note,
+ fc.process_id,
+ pl.rework_num as quantity,
+ round(SUM(ogd.total_area), 2) as gross_area,
+ sum(od.weight) as weight,
+ #{technologyNumber} as technologyNumber,
+ concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
+ 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
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.`order` as o on o.order_id = fc.order_id
+ left join sd.product as p on p.id=od.product_id
+ left join (
+ select ogd.order_id,
+ ogd.order_number,
+ ogd.technology_number,
+ ogd.glass_child,
+ GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+ from sd.order_glass_detail as ogd
+ where ogd.order_id = left(#{processId},10)
+ and ogd.order_number=#{orderNumber}
+ and position(ogd.technology_number in #{technologyNumber})
+ GROUP BY order_id, order_number
+ ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
+ left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
+ where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
+ and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
+ group by fc.process_id, fc.technology_number
+ </select>
+
+ <select id="getDetailListLikeRework">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ pl.rework_num as quantity,
+ round(ogd.total_area, 2) as total_area,
+ od.perimeter,
+ od.bend_radius,
+ concat(od.processing_note,od.remarks) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation,
+ fc.technology_number
+ 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
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number
+ left join rework as pl on pl.process_id=fc.process_id and pl.order_sort=fc.order_number and pl.technology_number=fc.technology_number
+ where fc.process_id = #{processId}
+ 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
+ order by IF(sort != NULL || sort != '', sort, fc.order_number)
+ </select>
+
+ <select id="getPrintCustomDataSemi">
+ select o.order_id as orderId,
+ project,
+ customer_id as customerId,
+ o.customer_name as customerName,
+ order_type as orderType,
+ order_classify as orderClassify,
+ batch,
+ o.icon,
+ pack_type as packType,
+ delivery_date as deliveryDate,
+ al_type as alType,
+ money,
+ contract_id as contractId,
+ customer_batch customerBatch,
+ contacts,
+ delivery_address as deliveryAddress,
+ od.processing_note as processingNote,
+ width,
+ height,
+ od.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,
+ c.customer_abbreviation as customerAbbreviation,
+ p.product_abbreviation as productAbbreviation,
+ fc.process_id as processId,
+ o.create_time as createTime,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S02' )) AS figureNumber,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S03' )) AS colourCeramicGlaze,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S04' )) AS remarks1,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S05' )) AS remarks2,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S06' )) AS remarks3,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S07' )) AS remarks4,
+ JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S08' )) AS remarks5,
+ p.remarks as filmNumber,
+ od.bend_radius as bendRadius,
+ ogd.glass_child as glassChild,
+ ogd.glass_address as glassAddress
+ from sd.order as o
+ left join sd.order_detail as od on o.order_id = od.order_id
+ left join flow_card as fc on o.order_id = fc.order_id and
+ od.order_number = fc.order_number
+ left join sd.product as p on p.id=od.product_id
+ left join sd.customer as c on c.id = o.customer_id
+ left join sd.product_detail as pd on pd.prod_id=p.id and pd.sort_num=od.order_number
+ left join sd.order_glass_detail ogd on ogd.order_id=o.order_id and ogd.order_number=od.order_number and ogd.technology_number=fc.technology_number
+ where fc.process_id = #{processId}
+ and fc.technology_number = #{technologyNumber}
+ group by od.order_number,ogd.technology_number, width, height
+ order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0