From b8982b86a15d186c4cf6144fface700d9769fa95 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 21 三月 2025 09:13:13 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 219 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 189 insertions(+), 30 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 a221506..2bbbb9d 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -68,7 +68,8 @@
b.customer_name,
if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
a.merge,
- a.rack
+ a.rack,
+ b.batch
from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card
group by process_Id,order_number) as a
left join sd.`order` as b on a.order_Id=b.order_id
@@ -207,26 +208,36 @@
<!-- 鍒嗘灦鏄庣粏鏌ヨ-->
<select id="detailsSelectMp">
- select od.order_id,
- ogd.production_id,
- od.product_id,
- od.product_name,
- 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,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
+ SELECT
+ od.order_id,
+ ogd.production_id,
+ od.product_id,
+ od.product_name,
+ ROUND(SUM(od.quantity) - IFNULL(SUM(fc.quantity) / fc.layers_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,
+ technology_number
+ FROM sd.order_glass_detail
+ GROUP BY order_id, order_number, production_id, splitting_status
+ ) AS ogd
+ ON od.order_id = ogd.order_id
+ AND od.order_number = ogd.order_number
+ LEFT JOIN (
+ SELECT order_id, order_number, technology_number, SUM(quantity) AS quantity, layers_number
+ FROM flow_card
+ GROUP BY order_id, order_number, technology_number
+ ) 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
+ GROUP BY od.order_id, ogd.production_id, od.product_id, od.product_name
+ ORDER BY od.order_id DESC;
- group by od.order_id, ogd.production_id
- order by od.id desc
</select>
<!-- 鏇存柊鍒嗘灦鐘舵��-->
@@ -272,7 +283,7 @@
od.quantity,
od.compute_gross_area,
p.total_thickness,
- ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0)) as baiscQuantity,
+ ROUND(od.quantity-IFNULL(sum(fc.quantity)/fc.layers_number,0)) as baiscQuantity,
od.compute_gross_area as 'computeGrossArea',
p.total_thickness AS 'totalThickness',
ifnull(p.thickness,'') as thickness,
@@ -289,7 +300,7 @@
from sd.order_detail as od
left join sd.order_glass_detail as ogd
on od.order_id = ogd.order_id and od.order_number = ogd.order_number
- left join sd.product as p on od.product_name = p.product_name
+ left join sd.product as p on od.product_id = p.id
left join (SELECT order_id,
order_number,
JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
@@ -515,7 +526,7 @@
where date(create_time)>=#{selectTime1} and date(create_time) <= #{selectTime2}
and position(#{orderId} in order_id)
and position(#{project} in project)
- and processing_card >0
+ and if(#{state}=0,(order_review >0 and processing_card =0),processing_card >0)
order by create_time desc
</select>
@@ -853,7 +864,8 @@
od.other_columns,
od.bend_radius,
od.order_number as heat_layout_id,
- a.id as heat_layout_sort
+ a.id as heat_layout_sort,
+ od.product_name
from pp.optimize_detail opd
left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id
left join sd.order_detail od
@@ -888,7 +900,8 @@
od.other_columns,
od.bend_radius,
opd.heat_layout_id,
- opd.heat_layout_sort
+ opd.heat_layout_sort,
+ od.product_name
from pp.optimize_detail opd
left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id
left join sd.order_detail od
@@ -2314,10 +2327,12 @@
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
/* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
- fc.print_status,
+ ifnull(fc.print_number,0) as print_status,
ogd.process,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- od.order_number
+ od.order_number,
+ od.width,
+ od.height
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
@@ -2345,10 +2360,12 @@
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
/* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
- fc.print_status,
+ ifnull(fc.print_number,0) as print_status,
ogd.process,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- od.order_number
+ od.order_number,
+ ogd.child_width as width,
+ ogd.child_height as height
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
@@ -2852,7 +2869,7 @@
</select>
<select id="flowCardToOptimizeCount">
- select count(*) from pp.flow_card where order_id = #{orderId} and engineering_occupancy=1
+ select count(*) from pp.flow_card where order_id = #{orderId} and project_no is not null
</select>
<select id="getFlowCardDetail" >
@@ -2893,13 +2910,155 @@
<select id="getOrderDetailByProductionId">
select * from (select a.*,
+ a.quantity as 'baiscQuantity',
+ #{glassThickness} as 'thickness',
IF(a.height >= a.width, a.height, a.width) as 'long',
IF(a.height < a.width, a.height, a.width) as 'short'
from sd.order_detail as a
left join sd.order_glass_detail as b
on a.order_id = b.order_id and a.order_number = b.order_number
where a.order_id = #{orderId} and b.production_id = #{productionId}
+
group by a.order_number) as c
+ <if test="type=='scope'">
+ where c.`long` <= #{inLenMax}
+ and c.`long` >= #{inLenMin}
+ and c.`short` >= #{inShortMin}
+ and c.`short` <= #{inShortMax}
+ </if>
+ <if test="type=='notScope'">
+ where !(c.`long` <= #{inLenMax}
+ and c.`long` >= #{inLenMin}
+ and c.`short` >= #{inShortMin}
+ and c.`short` <= #{inShortMax})
+ </if>
order by c.`long` desc
</select>
+
+ <!-- 澶嶉�夋淇敼鎺掔増鐘舵��-->
+ <update id="revokeComposing">
+ update flow_card as fc
+ set fc.layout_status=0
+ where fc.process_id = #{processId}
+ </update>
+
+ <select id="selectProjectNo">
+ SELECT COUNT(*)
+ FROM flow_card
+ WHERE process_id= #{processId} and project_no IS not NULL;
+ </select>
+
+ <select id="selectPrintDetailsMp2">
+ select ogd.id,
+ ogd.order_id,
+ o.customer_name,
+ o.project,
+ ogd.technology_number,
+ ogd.glass_address,
+ (od.quantity) as quantity,
+ (od.quantity) as printQuantity,
+ round((ogd.child_width * ogd.child_height * od.quantity / 1000000), 2) as total_area,
+ od.product_name,
+ ogd.glass_child,
+ ogd.process,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+ od.order_number,
+ ogd.child_width as width,
+ ogd.child_height as height
+ from sd.order_glass_detail as ogd
+ left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+ left join sd.`order` as o on o.order_id = ogd.order_id
+ where ogd.order_id = #{orderId}
+ GROUP BY od.order_number
+ order by od.order_number
+ </select>
+
+ <select id="getPrintOrderDataDetails">
+ 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,
+ #{printQuantity} as quantity,
+ CONCAT(
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',#{printQuantity} ) as size,
+
+ CONCAT(
+ od.order_number,') ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',#{printQuantity} ) as numberSize,
+ od.order_number as orderNumber,
+ ogd.technology_number as technologyNumber,
+ od.building_number as buildingNumber,
+ od.product_name as productName,
+ od.edging_type as edgingType,
+ od.remarks,
+ c.customer_abbreviation as customerAbbreviation,
+ p.product_abbreviation as productAbbreviation,
+ '' 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,
+ od.other_columns,
+ ogd.glass_child as glassChild,
+ ogd.glass_address as glassAddress,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5,
+ od.quantity
+ from sd.order as o
+ left join sd.order_detail as od on o.order_id = od.order_id
+ 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.order_glass_detail as ogd
+ on ogd.order_id = od.order_id and ogd.order_number = od.order_number
+ left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
+ pd.glass_sort = ogd.technology_number
+
+ where od.order_id = #{orderId}
+ and od.order_number = #{orderNumber}
+ group by od.order_number, width, height
+ order by od.order_id
+ </select>
+
+ <select id="updatePrintNumberMp">
+ update pp.flow_card
+ set print_number = ifnull(print_number,0) + 1
+ where process_id = #{processId}
+ and order_number = #{orderNumber}
+ </select>
+
+ <select id="getOrderIdByProcessId">
+ select order_id from pp.flow_card where process_id = #{processId} limit 1;
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0