From 6bbcdd0d1beeca74251f63ea42b9ee8349e97902 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 15 七月 2025 10:19:54 +0800
Subject: [PATCH] 优化在制品查询速度
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 63 ++++++++++++++++++++++++++++---
1 files changed, 56 insertions(+), 7 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 8c32341..47ba248 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -784,6 +784,14 @@
and position(fc.technology_number in #{technologyNumber})
group by fc.process_id, fc.order_number
<choose>
+ <!-- 褰� landingSequence != 1 涓� flashback != 1 鏃讹紝鎸� landing_sequence 鍊掑簭 -->
+ <when test="landingSequence != 1 and flashback != 1">
+ ORDER BY landing_sequence,fc.id desc
+ </when>
+ <!-- landingSequence != 1 鏃讹紝浼樺厛鎸� landing_sequence 鍊掑簭 -->
+ <when test="landingSequence != 1">
+ ORDER BY landing_sequence DESC
+ </when>
<!-- flashback = 1 鏃舵搴� -->
<when test="flashback == 1">
ORDER BY
@@ -1013,7 +1021,7 @@
ogd.glass_address,
ogd.child_width,
ogd.child_height,
- fc.quantity,
+ sum(fc.quantity) as quantity,
ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
ifnull(fcs.sort, '') as sort,
ogd.glass_child,
@@ -1473,6 +1481,13 @@
and position(fc.technology_number in #{technologyNumber})
group by fc.process_id, fc.order_number, fc.technology_number
<choose>
+ <when test="landingSequence != 1 and flashback != 1">
+ ORDER BY landing_sequence,fc.id desc
+ </when>
+ <!-- landingSequence != 1 鏃讹紝浼樺厛鎸� landing_sequence 鍊掑簭 -->
+ <when test="landingSequence != 1">
+ ORDER BY landing_sequence DESC
+ </when>
<!-- flashback = 1 鏃舵搴� -->
<when test="flashback == 1">
ORDER BY
@@ -1522,6 +1537,13 @@
where fc.process_id = #{processId} and fc.`merge`=1
group by fc.process_id, fc.order_number
<choose>
+ <when test="landingSequence != 1 and flashback != 1">
+ ORDER BY landing_sequence,fc.id desc
+ </when>
+ <!-- landingSequence != 1 鏃讹紝浼樺厛鎸� landing_sequence 鍊掑簭 -->
+ <when test="landingSequence != 1">
+ ORDER BY landing_sequence DESC
+ </when>
<!-- flashback = 1 鏃舵搴� -->
<when test="flashback == 1">
ORDER BY
@@ -1916,10 +1938,10 @@
contacts,
delivery_address as deliveryAddress,
od.processing_note as processingNote,
- round(ogd.child_width) as width,
- round(ogd.child_height) as height,
+ ogd.child_width as width,
+ ogd.child_height as height,
fc.quantity,
- CONCAT(round(ogd.child_width) , ' X ', round(ogd.child_height) ,' = ',fc.quantity ) as size,
+ CONCAT(ogd.child_width , ' X ', ogd.child_height ,' = ',fc.quantity ) as size,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -1929,6 +1951,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
CONCAT(fc.process_id, '/', fc.technology_number) as processId,
+ SUBSTRING(fc.process_id,12 ) as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
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,
@@ -1942,7 +1965,18 @@
od.bend_radius as bendRadius,
ogd.glass_child as glassChild,
ogd.glass_address as glassAddress,
- JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ CONCAT(
+ od.order_number,') ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height AS CHAR))),
+ ' = ',fc.quantity ) as numberSize,
+ CONCAT(
+ od.order_number,')',' ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height AS CHAR)))) as numberSizeQuantity
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
@@ -1958,6 +1992,7 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
+ and fc.order_number = #{orderNumber}
and position(fc.technology_number in #{technologyNumber})
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)
@@ -2127,8 +2162,8 @@
contacts,
o.delivery_address as deliveryAddress,
od.processing_note as processingNote,
- round(ogd.child_width) as width,
- round(ogd.child_height) as height,
+ ogd.child_width as width,
+ ogd.child_height as height,
pl.patch_num as quantity,
pl.order_sort as orderNumber,
pl.technology_number as technologyNumber,
@@ -3209,6 +3244,13 @@
and position(fc.technology_number in #{compound})
group by fc.process_id, fc.order_number
<choose>
+ <when test="landingSequence != 1 and flashback != 1">
+ ORDER BY landing_sequence,fc.id desc
+ </when>
+ <!-- landingSequence != 1 鏃讹紝浼樺厛鎸� landing_sequence 鍊掑簭 -->
+ <when test="landingSequence != 1">
+ ORDER BY landing_sequence DESC
+ </when>
<!-- flashback = 1 鏃舵搴� -->
<when test="flashback == 1">
ORDER BY
@@ -3258,6 +3300,13 @@
and position(fc.technology_number in #{compound})
group by fc.process_id, fc.order_number
<choose>
+ <when test="landingSequence != 1 and flashback != 1">
+ ORDER BY landing_sequence,fc.id desc
+ </when>
+ <!-- landingSequence != 1 鏃讹紝浼樺厛鎸� landing_sequence 鍊掑簭 -->
+ <when test="landingSequence != 1">
+ ORDER BY landing_sequence DESC
+ </when>
<!-- flashback = 1 鏃舵搴� -->
<when test="flashback == 1">
ORDER BY
--
Gitblit v1.8.0