From 4fbf10fd89de95480285cddba9c5c657cf5b7280 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 24 七月 2025 09:04:51 +0800
Subject: [PATCH] 在制品明细无法筛选问题
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 618 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 535 insertions(+), 83 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 3546aea..3d76400 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -62,13 +62,14 @@
c.product_name,
b.project,
sum(a.quantity) as quantity,
- sum(c.compute_gross_area) as compute_gross_area,
+ sum(a.quantity) * c.area as compute_gross_area,
a.founder,
c.processing_note,
b.customer_name,
- if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
+ layout_status 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), 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,
@@ -520,7 +531,7 @@
</select>
<select id="selectPrintFlowCard">
- select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum
+ select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum,glass_type,glass_thickness
from pp.optimize_project as op
left join pp.flow_card as fc on op.project_no=fc.project_no
left join sd.`order` as o on o.order_id=fc.order_id
@@ -603,11 +614,12 @@
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
+ SUBSTRING(process, LOCATE(bd.basic_name, process)) AS processed_part
from sd.order_glass_detail as ogds
+ left join sd.basic_data as bd on bd.nickname='stepC'
where ogds.order_id = #{orderId}
- and LOCATE('澶硅兌', ogds.process) > 0
- GROUP BY order_id, order_number, ogds.group) as ogdss
+ and LOCATE(bd.basic_name, ogds.process) > 0
+ GROUP BY order_id, order_number, ogds.group,bd.basic_name) 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.technology_number
@@ -641,15 +653,16 @@
GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number,
ogds.glass_child,
GROUP_CONCAT(ogds.glass_child SEPARATOR '+') AS concatenated_glass_child,
- SUBSTRING(ogds.process, LOCATE('涓┖', ogds.process)) AS processed_part
+ SUBSTRING(ogds.process, LOCATE(bd.basic_name, ogds.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
+ left join sd.basic_data as bd on bd.nickname='stepD'
where ogds.order_id = #{orderId}
- GROUP BY order_id, order_number) as ogdss
+ GROUP BY order_id, order_number,bd.basic_name) 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
@@ -657,7 +670,7 @@
where process is not null
and process != ""
GROUP BY order_id, process_id, technology_number, process
- order by order_id, process_id, length(technology_number)) as result
+ order by order_id, process_id, length(technology_number),technology_number) as result
LEFT JOIN (SELECT * from flow_card GROUP BY process_id,technology_number) as fcc
on result.process_id = fcc.process_id and result.technology_number = fcc.technology_number
</select>
@@ -665,6 +678,7 @@
<select id="getPrimaryList">
select o.customer_name,
o.project,
+ if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
#{process} process,
od.edging_type,
#{glassChild} as glass_child,
@@ -705,6 +719,7 @@
<select id="getPrimaryLists">
select o.customer_name,
o.project,
+ if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
#{process} process,
od.edging_type,
#{glassChild} as glass_child,
@@ -747,7 +762,7 @@
fc.quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -770,7 +785,32 @@
where fc.process_id = #{processId}
and position(fc.technology_number in #{technologyNumber})
group by fc.process_id, fc.order_number
- order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, 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
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END ASC
+ </when>
+ <!-- flashback != 1 鏃跺�掑簭 -->
+ <otherwise>
+ ORDER BY
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END DESC
+ </otherwise>
+ </choose>
</select>
<select id="getDetailLists">
@@ -779,7 +819,7 @@
fc.quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -842,19 +882,20 @@
o.project,
od.building_number,
od.processing_note,
- ogd.child_width as width,
- ogd.child_height as height,
+ opd.o_width as width,
+ opd.o_height as height,
ogd.glass_child,
ogd.process,
e.type_name,
opd.stock_id,
opd.polys_id,
- od.quantity,
+ IFNULL(od.quantity,1) as quantity,
od.other_columns,
od.bend_radius,
- od.order_number as heat_layout_id,
- a.id as heat_layout_sort,
- od.product_name
+ ifnull(od.order_number,0) as heat_layout_id,
+ ifnull(a.id,0) as heat_layout_sort,
+ od.product_name,
+ opd.process_id
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
@@ -890,7 +931,8 @@
od.bend_radius,
opd.heat_layout_id,
opd.heat_layout_sort,
- od.product_name
+ od.product_name,
+ opd.process_id
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
@@ -901,7 +943,7 @@
left join sd.product p on od.product_id = p.id
left join sd.basic_glass_type e on e.type_id = p.type_id
left join sd.customer c on c.id = o.customer_id
- where opd.project_no = #{projectNo}
+ where opd.project_no = #{projectNo} and o.order_id is not null
order by opd.heat_layout_id, opd.heat_layout_sort desc
</select>
@@ -981,13 +1023,13 @@
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,
#{process} as process,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as 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
@@ -1073,7 +1115,24 @@
od.processing_note as processingNote,
width,
height,
- fc.quantity,
+ #{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,
+ 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)))) as numberSizeQuantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -1083,6 +1142,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -1097,7 +1157,12 @@
od.other_columns,
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,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5
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
@@ -1145,6 +1210,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -1182,6 +1248,7 @@
fc.process_id,
o.customer_name,
o.project,
+ o.batch,
fc.order_number,
ogd.technology_number,
ogd.glass_address,
@@ -1245,6 +1312,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -1260,14 +1328,23 @@
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
' X ',
TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
- ' = ',pl.patch_num ) as size,
-
+ ' = ',pl.patch_num ) as size,
CONCAT(
- od.order_number,') ',
- TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ 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))),
- ' = ',pl.patch_num ) as numberSize
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',pl.patch_num ) as numberSize,
+ 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)))) as numberSizeQuantity,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5
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
@@ -1334,6 +1411,7 @@
<select id="getPrimaryListMerge">
select o.customer_name,
o.project,
+ if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
ogd.process,
od.edging_type,
ogdc.concatenated_glass_child as glass_child,
@@ -1407,7 +1485,8 @@
pl.order_sort = fc.order_number and
pl.technology_number = fc.technology_number
where date(pl.create_time)>=#{selectTime1} and date(pl.create_time) <= #{selectTime2}
- GROUP BY fc.process_id,fc.order_number, ogd.technology_number, pl.reporting_work_id
+ GROUP BY fc.process_id,fc.order_number, ogd.technology_number, pl.reporting_work_id,pl.rework_type,
+ pl.rework_reason
order by pl.id desc, fc.process_id, ogd.technology_number
</select>
@@ -1417,7 +1496,7 @@
fc.quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1440,7 +1519,31 @@
where fc.process_id = #{processId}
and position(fc.technology_number in #{technologyNumber})
group by fc.process_id, fc.order_number, fc.technology_number
- order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, 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
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END ASC
+ </when>
+ <!-- flashback != 1 鏃跺�掑簭 -->
+ <otherwise>
+ ORDER BY
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END DESC
+ </otherwise>
+ </choose>
</select>
<select id="getDetailListMerge">
@@ -1449,7 +1552,7 @@
sum(fc.quantity) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1472,7 +1575,31 @@
and fcs.process = #{process}
where fc.process_id = #{processId} and fc.`merge`=1
group by fc.process_id, fc.order_number
- order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, 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
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END ASC
+ </when>
+ <!-- flashback != 1 鏃跺�掑簭 -->
+ <otherwise>
+ ORDER BY
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END DESC
+ </otherwise>
+ </choose>
</select>
<select id="getDetailListLikes">
@@ -1481,7 +1608,7 @@
count(*) as quantity,
round(ogd.child_width*ogd.child_height*count(*)/1000000, 2) as total_area,
round((ogd.child_width+ogd.child_height)*2*count(*)/1000, 2) as perimeter,
- if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1556,7 +1683,7 @@
sum(pl.patch_num) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1589,6 +1716,7 @@
<select id="getPrimaryListRefund">
select o.customer_name,
o.project,
+ if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
ogd.process,
od.edging_type,
ogd.glass_child,
@@ -1674,6 +1802,7 @@
<select id="getPrimaryListRework">
select o.customer_name,
o.project,
+ if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
ogd.process,
od.edging_type,
ogd.glass_child,
@@ -1730,7 +1859,7 @@
(pl.rework_num) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
concat(od.processing_note, od.remarks) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1850,10 +1979,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,
@@ -1863,6 +1992,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,
@@ -1876,7 +2006,28 @@
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(
+ 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 size,
+ 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,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5
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
@@ -1892,6 +2043,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)
@@ -2061,8 +2213,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,
@@ -2073,6 +2225,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,
@@ -2091,14 +2244,23 @@
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))),
- ' = ',pl.patch_num ) as size,
-
+ ' = ',pl.patch_num ) as size,
CONCAT(
- od.order_number,') ',
- TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width AS CHAR))),
+ 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))),
- ' = ',pl.patch_num ) as numberSize
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height AS CHAR))),
+ ' = ',pl.patch_num ) 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,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5
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
@@ -2181,10 +2343,11 @@
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
+ SUBSTRING(process, LOCATE(bd.basic_name, process)) AS processed_part
from sd.order_glass_detail as ogds
+ left join sd.basic_data as bd on bd.nickname='stepC'
where ogds.order_id = #{orderId}
- and LOCATE('澶硅兌', ogds.process) > 0
+ and LOCATE(bd.basic_name, 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}
@@ -2220,13 +2383,14 @@
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
+ SUBSTRING(pds.process, LOCATE(bd.basic_name, 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
+ left join sd.basic_data as bd on bd.nickname='stepD'
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
@@ -2262,6 +2426,7 @@
<select id="getPrimaryListLimt">
select o.customer_name,
+ if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
o.project,
#{process} process,
od.edging_type,
@@ -2354,7 +2519,13 @@
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
od.order_number,
ogd.child_width as width,
- ogd.child_height as height
+ ogd.child_height as height,
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS S01,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05
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
@@ -2394,11 +2565,16 @@
' = ',#{printQuantity} ) as size,
CONCAT(
- od.order_number,') ',
+ 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,
+ 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)))) as numberSizeQuantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2408,6 +2584,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -2442,7 +2619,7 @@
ogd.technology_number = fc.technology_number
where fc.process_id = #{processId}
and fc.order_number = #{orderNumber}
- group by od.order_number, width, height
+ group by fc.process_id,od.order_number, width, height
order by fc.process_id
</select>
@@ -2477,6 +2654,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -2637,6 +2815,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -2699,6 +2878,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
fc.process_id 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,
@@ -2779,7 +2959,7 @@
left join
(select (@row_number := @row_number + 1) as id,process_id as process_id from (select process_id from pp.optimize_detail tt where project_no =#{projectNo} group by process_id) tt,(select @row_number := 0) as t) a
on a.process_id=opd.process_id
- where opd.project_no = #{projectNo}
+ where opd.project_no = #{projectNo} and o.order_id is not null
group by order_id,od.order_number
order by ogd.child_width desc,ogd.child_height desc
</select>
@@ -2836,7 +3016,7 @@
left join sd.order_detail as od on od.order_id = SUBSTRING(fc.process_id,1,10) and od.order_number = fc.order_sort
left join sd.`order` as o on o.order_id = SUBSTRING(fc.process_id,1,10)
left join pp.`flow_card` as fcd on fcd.process_id=fc.process_id and fcd.technology_number=ogd.technology_number and fcd.order_number=od.order_number
- where fc.project_no = #{printProject}
+ where fc.project_no = #{printProject} and fc.process_id is not null and fc.process_id!=""
GROUP BY fc.process_id, ogd.technology_number
order by fc.process_id, ogd.technology_number
</select>
@@ -2899,13 +3079,28 @@
<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>
@@ -2975,11 +3170,16 @@
' = ',#{printQuantity} ) as size,
CONCAT(
- od.order_number,') ',
- TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ 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))),
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
' = ',#{printQuantity} ) as numberSize,
+ 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)))) as numberSizeQuantity,
od.order_number as orderNumber,
ogd.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2989,6 +3189,7 @@
c.customer_abbreviation as customerAbbreviation,
p.product_abbreviation as productAbbreviation,
'' 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,
@@ -3031,4 +3232,255 @@
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>
+
+ <select id="flowCardDetailMergeMp">
+ select merge from pp.flow_card where process_id = #{processId} group by id ORDER BY merge desc LIMIT 1
+ </select>
+
+ <update id="updateFlowCardIsMerge">
+ update pp.flow_card fc set fc.merge=0
+ where fc.process_id = #{processId}
+ </update>
+
+ <select id="getProcessName">
+ select IFNULL(nickname,'') from sd.basic_data where basic_category='process' and basic_name=#{processSub}
+ </select>
+
+ <select id="getProcessNameList">
+ SELECT id,basic_name,IFNULL(nickname,"") as nickname FROM sd.`basic_data` where basic_category='process'
+ </select>
+
+ <select id="exportDateProcessMp">
+ select
+ a.order_Id,
+ a.process_Id,
+ c.product_id,
+ c.product_name,
+ b.project,
+ sum(a.quantity) as quantity,
+ sum(a.quantity) * c.area as compute_gross_area,
+ a.founder,
+ c.processing_note,
+ b.customer_name,
+ layout_status as layout_status,
+ a.merge,
+ 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
+ left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
+ where date(a.create_time) >= #{date[0]}
+ and date(a.create_time) <= #{date[1]}
+ and b.create_order>0
+ group by a.process_Id
+ ORDER BY a.id desc
+ </select>
+
+ <select id="getSumQuantity">
+ select quantity from sd.`order` where order_id=#{orderId}
+ </select>
+
+ <select id="getDetailCompoundList">
+ select fc.order_number,
+ concat(IF(ROUND(ogd.child_width, 1) = FLOOR(ogd.child_width), FLOOR(ogd.child_width), ROUND(ogd.child_width, 1)), "*", IF(ROUND(child_height, 1) = FLOOR(child_height), FLOOR(child_height), ROUND(child_height, 1))) as child_width,
+ SUM(fc.quantity) as quantity,
+ round(SUM(ogd.total_area), 2) as total_area,
+ SUM(od.perimeter) as perimeter,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
+ concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation,
+ #{compound} as technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_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 flow_card_sort as fcs
+ on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+ fcs.technology_number = fc.technology_number
+ and fcs.process = #{process}
+ where fc.process_id = #{processId}
+ 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
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END ASC
+ </when>
+ <!-- flashback != 1 鏃跺�掑簭 -->
+ <otherwise>
+ ORDER BY
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END DESC
+ </otherwise>
+ </choose>
+ </select>
+
+ <select id="getDetailListLikeCompound">
+ select fc.order_number,
+ concat(IF(ROUND(ogd.child_width, 1) = FLOOR(ogd.child_width), FLOOR(ogd.child_width), ROUND(ogd.child_width, 1)), "*", IF(ROUND(child_height, 1) = FLOOR(child_height), FLOOR(child_height), ROUND(child_height, 1))) as child_width,
+ sum(fc.quantity) as quantity,
+ round(sum(ogd.total_area), 2) as total_area,
+ sum(od.perimeter) as perimeter,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+ concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+ od.other_columns,
+ round(ogd.child_width) as width,
+ round(ogd.child_height) as height,
+ pd.separation,
+ #{compound} as technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_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 flow_card_sort as fcs
+ on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+ fcs.technology_number = fc.technology_number
+ and fcs.process = #{process}
+ where fc.process_id = #{processId}
+ 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
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END ASC
+ </when>
+ <!-- flashback != 1 鏃跺�掑簭 -->
+ <otherwise>
+ ORDER BY
+ CASE
+ WHEN fcs.sort IS NOT NULL AND fcs.sort <> '' THEN fcs.sort
+ ELSE fc.order_number
+ END DESC
+ </otherwise>
+ </choose>
+ </select>
+
+ <select id="getPrintCustomDataSemiTj">
+ 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,
+ ogd.child_width as width,
+ ogd.child_height as height,
+ fc.quantity,
+ 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,
+ od.product_name as productName,
+ od.edging_type as edgingType,
+ od.remarks,
+ 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,
+ 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,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ CONCAT(
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',fc.quantity ) as size,
+ 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,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5
+ 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
+ left join flow_card_sort as fcs
+ on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+ fcs.technology_number = fc.technology_number
+ and fcs.process = #{process}
+ where fc.process_id = #{processId}
+ 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)
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0