From 413a7e27886bcc87bbd8aaf995f09dbe82cb17e7 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期二, 06 五月 2025 14:56:08 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 331 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 285 insertions(+), 46 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 bace961..0390583 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -11,6 +11,7 @@
<result column="create_time" property="createTime"/>
<result column="layout_status" property="layoutStatus"/>
<result column="merge" property="merge"/>
+ <result column="rack" property="rack"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
<association property="order" javaType="com.example.erp.entity.sd.Order">
<result column="project" property="project"/>
@@ -66,8 +67,10 @@
c.processing_note,
b.customer_name,
if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
- a.merge
- from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,merge from flow_card
+ 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
@@ -100,6 +103,9 @@
</if>
<if test="flowCard.merge != null">
and a.merge regexp #{flowCard.merge}
+ </if>
+ <if test="flowCard.rack != null and flowCard.rack != ''">
+ and a.rack regexp #{flowCard.rack}
</if>
<if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''">
and b.customer_name regexp #{flowCard.order.customerName}
@@ -202,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>
<!-- 鏇存柊鍒嗘灦鐘舵��-->
@@ -267,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,
@@ -284,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,
@@ -510,17 +526,17 @@
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>
<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
where date(op.create_time)>=#{selectTime1} and date(op.create_time) <= #{selectTime2}
- and state >= 20 and o.create_order>0
+ and state >= 20 and (o.create_order>0 or o.create_order is null)
GROUP BY op.project_no
order by op.create_time desc
</select>
@@ -583,7 +599,8 @@
ogdss.concatenated_glass_child as glass_child,
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
- processed_part as process
+ processed_part as process,
+ merge
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -620,7 +637,8 @@
ogdss.concatenated_glass_child as glass_child,
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
- processed_part as process
+ processed_part as process,
+ merge
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -822,23 +840,33 @@
where fc.process_id = #{processId}
</update>
+ <!-- 澶嶉�夋淇敼娴佺▼鍗″悎鏋�-->
+ <update id="updateProcessCardRack">
+ update flow_card as fc
+ set fc.rack=#{rack}
+ where fc.process_id = #{processId} and fc.technology_number=#{technologyNumber}
+ </update>
+
<select id="getPrintLabel">
select o.order_id,
c.customer_abbreviation as customer_name,
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,
- od.quantity,
+ opd.polys_id,
+ 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
+ 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
@@ -867,11 +895,15 @@
ogd.glass_child,
ogd.process,
e.type_name,
+ opd.stock_id,
+ opd.polys_id,
od.quantity,
od.other_columns,
od.bend_radius,
opd.heat_layout_id,
- opd.heat_layout_sort
+ opd.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
@@ -882,7 +914,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>
@@ -1438,7 +1470,8 @@
pd.separation,
fc.technology_number,
IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
- od.building_number
+ od.building_number,
+ fc.merge as merge
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
@@ -2146,7 +2179,8 @@
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
fc.print_status,
- processed_part as process
+ processed_part as process,
+ merge
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -2184,7 +2218,8 @@
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
fc.print_status,
- processed_part as process
+ processed_part as process,
+ merge
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -2294,10 +2329,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
@@ -2325,10 +2362,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
@@ -2416,7 +2455,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>
@@ -2734,6 +2773,7 @@
ogd.process,
e.type_name,
opd.stock_id,
+ opd.polys_id,
od.quantity,
od.other_columns,
od.bend_radius,
@@ -2752,7 +2792,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>
@@ -2809,7 +2849,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>
@@ -2831,6 +2871,205 @@
</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" >
+ select
+ a.order_id,
+ a.process_id,
+ a.technology_number,
+ a.order_number,
+ c.product_id,
+ c.product_name,
+ b.project,
+ sum(a.quantity) as quantity,
+ sum(c.compute_gross_area) as compute_gross_area,
+ a.founder,
+ c.processing_note,
+ b.customer_name,
+ a.merge,
+ a.rack
+ from pp.flow_card 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
+ a.process_id regexp #{processId}
+ group by a.process_id,a.technology_number
+
+ </select>
+
+ <select id="getGlassThicknessByProdutionId">
+ select total_thickness as 'totalThickness',thickness as 'thickness' from sd.product
+ where id = (
+ select distinct b.product_id from sd.order_glass_detail as a
+ left join sd.order_detail as b
+ on a.order_id = b.order_id and a.order_number = b.order_number
+ where a.order_id = #{orderId}
+ and a.production_id = #{productionId}
+ )
+ </select>
+
+ <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>
+
+ <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>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0