From 15fa56463061f1e94140e23e98987aa3131714bf Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 25 七月 2024 17:24:32 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 211 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 163 insertions(+), 48 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 fb4669b..ad146be 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -468,40 +468,135 @@
</select>
<select id="selectPrintMp">
- select fc.id,
- fc.order_id,
- fc.process_id,
- o.customer_name,
- o.project,
- fc.order_number,
- ogd.technology_number,
- ogd.glass_address,
- sum(od.quantity) as quantity,
- sum(ogd.total_area) as total_area,
- od.product_name,
- ogd.glass_child,
- fc.founder,
- date(fc.splitFrame_time) as splitFrame_time,
- /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
- fc.print_status
- 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
- ogd.technology_number = fc.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
- where fc.order_id = #{orderId}
- GROUP BY fc.process_id, ogd.technology_number
- order by fc.process_id, ogd.technology_number
+ select * from ((select fc.id,
+ fc.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ ogdss.technology_number,
+ ogdss.concatenated_glass_child,
+ 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,
+ od.product_name,
+ ogdss.concatenated_glass_child as glass_child,
+ fc.founder,
+ date(fc.splitFrame_time) as splitFrame_time,
+ fc.print_status,
+ processed_part as process
+
+ 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
+ ogd.technology_number = fc.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 (
+ select
+ ogds.order_id,
+ ogds.order_number,
+ GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
+ ogds.glass_child AS concatenated_glass_child,
+ process AS processed_part
+ from sd.order_glass_detail as ogds
+ where ogds.order_id = #{orderId}
+ GROUP BY order_id, order_number,ogds.glass_child
+ ) 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
+ order by fc.process_id,ogdss.technology_number)
+
+ UNION
+
+ (select fc.id,
+ fc.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ 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,
+ od.product_name,
+ ogdss.concatenated_glass_child as glass_child,
+ fc.founder,
+ date(fc.splitFrame_time) as splitFrame_time,
+ fc.print_status,
+ processed_part as process
+
+ 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
+ ogd.technology_number = fc.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 (
+ select
+ ogds.order_id,
+ ogds.order_number,
+ GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
+ ogds.glass_child,
+ GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
+ SUBSTRING(process, LOCATE('澶硅兌', process)) AS processed_part
+ from sd.order_glass_detail as ogds
+ where ogds.order_id = #{orderId} and LOCATE('澶硅兌',ogds.process)>0
+ GROUP BY order_id, order_number,ogds.group
+ ) 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
+ order by fc.process_id)
+ UNION
+ (select fc.id,
+ fc.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ ogdss.technology_number,
+ ogd.glass_address,
+ ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number))) as quantity,
+ sum(ogd.total_area) as total_area,
+ od.product_name,
+ ogdss.concatenated_glass_child as glass_child,
+ fc.founder,
+ date(fc.splitFrame_time) as splitFrame_time,
+ fc.print_status,
+ processed_part as process
+
+ 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
+ ogd.technology_number = fc.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 (
+ select
+ ogds.order_id,
+ ogds.order_number,
+ GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number,
+ ogds.glass_child,
+ GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child,
+ SUBSTRING(pds.process, LOCATE('涓┖', pds.process)) AS processed_part
+ from sd.order_glass_detail as ogds
+ left join sd.order_detail as ods on ods.order_id=ogds.order_id and ods.order_number=ogds.order_number
+ left join sd.product_detail as pds on pds.prod_id=ods.product_id and pds.glass_sort=ogds.technology_number
+ where ogds.order_id = #{orderId}
+ GROUP BY order_id, order_number
+ ) 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
+ order by fc.process_id)
+
+ ) AS combined_results where process is not null and process!=""
</select>
<select id="getPrimaryList">
select o.customer_name,
o.project,
- ogd.process,
+ #{process} process,
od.edging_type,
- ogd.glass_child,
+ #{glassChild} as glass_child,
od.product_name,
o.processing_note,
fc.process_id,
@@ -529,8 +624,8 @@
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
where fc.process_id = #{processId}
- and fc.technology_number = #{technologyNumber}
- group by fc.process_id, fc.technology_number
+ and position(fc.technology_number in #{technologyNumber})
+ group by fc.process_id
</select>
<select id="getDetailList">
@@ -553,7 +648,7 @@
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
where fc.process_id = #{processId}
- and fc.technology_number = #{technologyNumber}
+ and position(fc.technology_number in #{technologyNumber})
group by fc.process_id, fc.order_number
order by IF(sort != NULL || sort != '', sort, fc.order_number)
</select>
@@ -648,13 +743,14 @@
ogd.child_height,
fc.quantity,
ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
- fc.sort
+ fc.sort,
+ ogd.glass_child
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
where fc.process_id = #{processId}
- and fc.technology_number = #{technologyNumber}
+ and position(fc.technology_number in #{technologyNumber})
order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
</select>
@@ -799,39 +895,57 @@
<select id="getRepairPrintCustomData">
select o.order_id as orderId,
- project,
- customer_id as customerId,
- customer_name as customerName,
- order_type as orderType,
- order_classify as orderClassify,
- batch,
+ o.project,
+ o.customer_id as customerId,
+ o.customer_name as customerName,
+ o.order_type as orderType,
+ o.order_classify as orderClassify,
+ o.batch,
o.icon,
- pack_type as packType,
- delivery_date as deliveryDate,
- al_type as alType,
- money,
+ o.pack_type as packType,
+ o.delivery_date as deliveryDate,
+ o.al_type as alType,
+ o.money,
contract_id as contractId,
customer_batch customerBatch,
contacts,
- delivery_address as deliveryAddress,
+ o.delivery_address as deliveryAddress,
od.processing_note as processingNote,
- width,
- height,
+ od.width,
+ od.height,
pl.patch_num as quantity,
pl.order_sort as orderNumber,
pl.technology_number as technologyNumber,
od.building_number as buildingNumber,
od.product_name as productName,
- od.edging_type as edgingType
-
+ 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
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 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
+ 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 pl.process_id = #{processId}
and pl.technology_number = #{technologyNumber}
+ and pl.reporting_work_id=#{reportingWorkId}
group by od.order_number, width, height
order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort)
</select>
@@ -860,7 +974,8 @@
ogd.child_height,
fc.quantity,
ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
- fc.sort
+ fc.sort,
+ ogd.process
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
--
Gitblit v1.8.0