From 7c30e26f3cc97ebcbb2cf86e2026b10f2e23994d Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 08 十二月 2025 16:40:26 +0800
Subject: [PATCH] 流程卡添加订单类型、补片流程卡调整样式,工序待完成报表添加厚度
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 512 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 443 insertions(+), 69 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 8606fb4..cdef190 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -12,6 +12,7 @@
<result column="layout_status" property="layoutStatus"/>
<result column="merge" property="merge"/>
<result column="rack" property="rack"/>
+ <result column="compute_gross_area" property="computeGrossArea"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
<association property="order" javaType="com.example.erp.entity.sd.Order">
<result column="project" property="project"/>
@@ -24,6 +25,8 @@
<result column="salesman" property="salesman"/>
<result column="processing_note" property="processingNote"/>
<result column="delivery_address" property="deliveryAddress"/>
+ <result column="create_time" property="createTime"/>
+ <result column="update_time" property="updateTime"/>
</association>
<association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
<result column="product_id" property="productId"/>
@@ -31,7 +34,6 @@
<result column="compute_gross_area" property="computeGrossArea"/>
<result column="processing_note" property="processingNote"/>
<result column="quantity" property="quantity"/>
- <result column="compute_gross_area" property="computeGrossArea"/>
<result column="perimeter" property="perimeter"/>
<result column="order_number" property="orderNumber"/>
<result column="width" property="width"/>
@@ -55,6 +57,78 @@
<!-- 娴佺▼鍗$鐞嗘煡璇�-->
<select id="selectFlowCard" resultMap="flowCardMap">
+ 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,
+ b.create_time,
+ b.update_time
+ 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)>=#{selectTime1} and date(a.create_time) <= #{selectTime2}
+ and b.create_order>0
+ <if test="flowCard.orderId != null and flowCard.orderId != ''">
+ and a.order_id regexp #{flowCard.orderId}
+ </if>
+ <if test="flowCard.processId != null and flowCard.processId != ''">
+ and a.process_Id regexp #{flowCard.processId}
+ </if>
+ <if test="flowCard.order.batch != null and flowCard.order.batch != ''">
+ and b.batch regexp #{flowCard.order.batch}
+ </if>
+ <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
+ and c.product_id regexp #{flowCard.orderDetail.productId}
+ </if>
+ <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
+ and c.product_name regexp #{flowCard.orderDetail.productName}
+ </if>
+
+ <if test="flowCard.order.project != null and flowCard.order.project!= ''">
+ and b.project regexp #{flowCard.order.project}
+ </if>
+ <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '涓嶅彲鎺掔増'">
+ and a.layout_status regexp 0
+ </if>
+ <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '鍙帓鐗�'">
+ and a.layout_status regexp 1
+ </if>
+ <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '宸叉帓鐗�'">
+ and a.layout_status regexp 2
+ </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}
+ </if>
+ group by a.process_Id
+ ORDER BY a.id desc
+ limit #{offset},#{pageSize};
+ </select>
+
+
+ <select id="getPageTotal">
+ SELECT SUM(quantity) as quantity,
+ SUM(compute_gross_area) as computeGrossArea,
+ CEILING(count(fcd.process_Id)/100) as 'pageTotal',
+ count(distinct fcd.process_Id) as 'total'
+ from (
select
a.order_Id,
a.process_Id,
@@ -112,49 +186,7 @@
</if>
group by a.process_Id
ORDER BY a.id desc
- limit #{offset},#{pageSize};
- </select>
-
-
- <select id="getPageTotal">
- select
- CEILING(count(a.process_Id)/#{pageSize}) as 'pageTotal',
- count(distinct a.process_Id) as 'total'
- from flow_card 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)>=#{selectTime1} and date(a.create_time) <= #{selectTime2}
- and b.create_order>0
- <if test="flowCard.orderId != null and flowCard.orderId != ''">
- and a.order_id regexp #{flowCard.orderId}
- </if>
- <if test="flowCard.processId != null and flowCard.processId != ''">
- and a.process_Id regexp #{flowCard.processId}
- </if>
- <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
- and c.product_id regexp #{flowCard.orderDetail.productId}
- </if>
- <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
- and c.product_name regexp #{flowCard.orderDetail.productName}
- </if>
-
- <if test="flowCard.order.project != null and flowCard.order.project!= ''">
- and b.project regexp #{flowCard.order.project}
- </if>
- <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '涓嶅彲鎺掔増'">
- and a.layout_status regexp 0
- </if>
- <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '鍙帓鐗�'">
- and a.layout_status regexp 1
- </if>
- <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and flowCard.layoutStatus == '宸叉帓鐗�'">
- and a.layout_status regexp 2
- </if>
- <if test="flowCard.merge != null">
- and a.merge regexp #{flowCard.merge}
- </if>
-
- ORDER BY a.id desc
- limit #{offset},#{pageSize};
+ ) as fcd
</select>
<!--鍒嗘灦鏌ヨ-->
@@ -298,7 +330,7 @@
ods.S03,
ods.S04,
ods.S05,
- od.building_number
+ od.building_number as 'buildingNumber'
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
@@ -534,7 +566,8 @@
</select>
<select id="selectPrintFlowCard">
- select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum,glass_type,glass_thickness
+ select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum,glass_type,glass_thickness,
+ GROUP_CONCAT(DISTINCT o.order_id SEPARATOR '~') as order_id
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
@@ -695,7 +728,10 @@
concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
'' as qrcode,
- ifnull(rack,"") as rack
+ ifnull(rack,"") as rack,
+ o.quantity as orderQuantity,
+ o.area as orderArea,
+ o.order_type
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
@@ -735,7 +771,8 @@
#{technologyNumber} as technologyNumber,
concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
- '' as qrcode
+ '' as qrcode,
+ o.order_type
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
@@ -773,7 +810,8 @@
pd.separation,
fc.technology_number,
IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
- od.building_number
+ od.building_number,
+ od.weight
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
@@ -786,7 +824,7 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
- and position(fc.technology_number in #{technologyNumber})
+ and FIND_IN_SET(fc.technology_number , #{technologyNumber})
group by fc.process_id, fc.order_number
<choose>
<!-- 褰� landingSequence != 1 涓� flashback != 1 鏃讹紝鎸� landing_sequence 鍊掑簭 -->
@@ -1255,6 +1293,8 @@
fc.order_number,
ogd.technology_number,
ogd.glass_address,
+ ogd.child_width,
+ ogd.child_height,
pl.patch_num,
pl.patch_area,
pl.responsible_team,
@@ -1268,7 +1308,8 @@
fc.print_status,
pl.reporting_work_id,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- pl.patch_id
+ pl.patch_id,
+ date(pl.create_time) as create_time
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -1365,12 +1406,93 @@
order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
</select>
+
+ <select id="getReworkPrintCustomData">
+ select o.order_id as orderId,
+ 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,
+ 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,
+ o.delivery_address as deliveryAddress,
+ od.processing_note as processingNote,
+ od.width,
+ od.height,
+ pl.rework_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,
+ p.remarks,
+ 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,
+ 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,
+ CONCAT(
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',pl.rework_num ) 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))),
+ ' = ',pl.rework_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
+ od.order_number = fc.order_number
+ left join rework 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.order_sort=#{orderNumber}
+ and pl.technology_number = #{technologyNumber}
+ and pl.reporting_work_id = #{reportingWorkId}
+ group by od.order_number, width, height
+ order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
+ </select>
+
<select id="getGlassNumber">
select other_columns
from sd.order_detail as od
left join flow_card as fc on od.order_id = fc.order_id and od.order_number = fc.order_number
where fc.process_id = #{processId}
- and POSITION(fc.technology_number in #{technologyNumber})
+ and FIND_IN_SET(fc.technology_number , #{technologyNumber})
GROUP BY other_columns
order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
</select>
@@ -1520,7 +1642,7 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
- and position(fc.technology_number in #{technologyNumber})
+ and FIND_IN_SET(fc.technology_number , #{technologyNumber})
group by fc.process_id, fc.order_number, fc.technology_number
<choose>
<when test="landingSequence != 1 and flashback != 1">
@@ -1651,7 +1773,8 @@
round(SUM(ogd.total_area), 2) as gross_area,
sum(od.weight) as weight,
#{technologyNumber} as technologyNumber,
- concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
+ concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
+ o.order_type
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
@@ -1697,7 +1820,8 @@
pl.patch_reason,
pl.patch_processes,
pl.responsible_team,
- pl.responsible_personnel
+ pl.responsible_personnel,
+ 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
@@ -1738,7 +1862,8 @@
concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
dd.responsible_personnel,
#{mergeTechnologyNumber} as mergeTechnologyNumber,
- pl.patch_id
+ pl.patch_id,
+ o.order_type
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
@@ -2047,9 +2172,20 @@
and fcs.process = #{process}
where fc.process_id = #{processId}
and fc.order_number = #{orderNumber}
- and position(fc.technology_number in #{technologyNumber})
+ <if test="technologyNumber != null and technologyNumber != ''">
+ AND position(fc.technology_number in #{technologyNumber})
+ </if>
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>
+
+ <select id="getgetPrintCustomDataSemiSp">
+ select * from pp.optimize_detail opd
+ where opd.process_id= #{processId} and opd.order_sort = #{orderNumber}
+ <if test="technologyNumber != null and technologyNumber != ''">
+ and opd.layer = #{technologyNumber}
+ </if>
+
</select>
<select id="selectPrintNotMp">
@@ -2284,6 +2420,92 @@
order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
</select>
+ <select id="getReworkPrintCustomDataSemi">
+ select o.order_id as orderId,
+ 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,
+ 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,
+ o.delivery_address as deliveryAddress,
+ od.processing_note as processingNote,
+ ogd.child_width as width,
+ ogd.child_height as height,
+ pl.rework_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,
+ p.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(ogd.child_width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height AS CHAR))),
+ ' = ',pl.rework_num ) 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))),
+ ' = ',pl.rework_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
+ od.order_number = fc.order_number
+ left join rework 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
+ 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
+ where pl.process_id = #{processId}
+ and pl.order_sort=#{orderNumber}
+ and pl.technology_number = #{technologyNumber}
+ and pl.reporting_work_id = #{reportingWorkId}
+ group by od.order_number, width, height
+ order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
+ </select>
+
<select id="selectPrintAllMp">
select *
from ((select fc.id,
@@ -2443,7 +2665,11 @@
#{technologyNumber} as technologyNumber,
concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
- fc.technology_number as qrcode
+ fc.technology_number as qrcode,
+ o.other_remarks,
+ o.quantity as orderQuantity,
+ o.area as orderArea,
+ o.order_type
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
@@ -2489,7 +2715,8 @@
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
od.order_number,
od.width,
- od.height
+ od.height,
+ od.building_number
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
@@ -2528,7 +2755,8 @@
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
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05,
+ od.building_number
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
@@ -2620,6 +2848,7 @@
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
+
where fc.process_id = #{processId}
and fc.order_number = #{orderNumber}
group by fc.process_id,od.order_number, width, height
@@ -2787,8 +3016,19 @@
ORDER BY opd.stock_id
</select>
+ <select id="getPrintProjectDetailsMpSp">
+ SELECT opd.project_no,opd.stock_id,opd.polys_id,o_width,o_height,p_width,p_height,opd.glass_id
+ FROM optimize_detail as opd left join optimize_layout as opl on opl.project_no=opd.project_no and opl.stock_id=opd.stock_id
+ where opd.project_no=#{projectNo} and opd.stock_id in
+ <foreach item="item" index="index" collection="stockId" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ order BY opd.stock_id
+ </select>
+
<select id="getPrintCustomDataProjectDetail">
select
+ opt.glass_id as heat_layout_sort ,
o.order_id as orderId,
project,
customer_id as customerId,
@@ -2806,9 +3046,25 @@
contacts,
delivery_address as deliveryAddress,
od.processing_note as processingNote,
- od.width,
- od.height,
- fc.quantity as flowQuantity,
+ opt.o_width,
+ opt.o_height,
+ opl.glass_count as flowQuantity,
+ CONCAT(
+ opt.o_width,
+ ' X ',
+ opt.o_height,
+ ' = ',opl.glass_count ) as size,
+ CONCAT(
+ od.order_number,') ',
+ opt.o_width,
+ ' X ',
+ opt.o_height,
+ ' = ',opl.glass_count ) as numberSize,
+ CONCAT(
+ od.order_number,')',' ',
+ opt.o_width,
+ ' X ',
+ opt.o_height) as numberSizeQuantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2837,8 +3093,10 @@
'鏂囨湰' as custom3,
'鏂囨湰' as custom4,
'鏂囨湰' as custom5,
- od.quantity
+ od.quantity,
+ CONCAT(opt.stock_id,"/",opt.polys_id) as stockPolysId
from optimize_detail as opt
+ left join optimize_layout as opl on opl.project_no=opt.project_no and opl.stock_id=opt.stock_id
left join flow_card as fc on opt.project_no=fc.project_no and opt.process_id=fc.process_id and opt.layer=fc.technology_number and opt.order_sort=fc.order_number
left join sd.order as o on o.order_id=fc.order_id
left join sd.order_detail as od on fc.order_id = od.order_id and od.order_number = fc.order_number
@@ -2847,6 +3105,9 @@
left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
pd.glass_sort = fc.technology_number
where opt.project_no=#{projectNo} and opt.stock_id=#{stockId}
+ <if test="polysId != null">
+ and opt.polys_id=#{polysId}
+ </if>
order by opt.stock_id,opt.polys_id
</select>
@@ -3085,7 +3346,9 @@
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'
+ IF(a.height < a.width, a.height, a.width) as 'short',
+ IF(a.height >= a.width, a.height, a.width) as 'longSide',
+ IF(a.height < a.width, a.height, a.width) as 'shortSide'
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
@@ -3302,7 +3565,8 @@
pd.separation,
#{compound} as technology_number,
IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
- od.building_number
+ od.building_number,
+ od.weight
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
@@ -3315,7 +3579,8 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
- and position(fc.technology_number in #{compound})
+ and
+ FIND_IN_SET(fc.technology_number , #{compound})
group by fc.process_id, fc.order_number
<choose>
<when test="landingSequence != 1 and flashback != 1">
@@ -3371,7 +3636,7 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
- and position(fc.technology_number in #{compound})
+ and FIND_IN_SET(fc.technology_number , #{compound})
group by fc.process_id, fc.order_number
<choose>
<when test="landingSequence != 1 and flashback != 1">
@@ -3420,7 +3685,7 @@
od.processing_note as processingNote,
ogd.child_width as width,
ogd.child_height as height,
- #{printQuantity} as quantity,
+ fc.quantity,
CONCAT(ogd.child_width , ' X ', ogd.child_height ,' = ',fc.quantity ) as size,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
@@ -3557,4 +3822,113 @@
SELECT max(reporting_work_num) FROM sd.`order_process_detail`
where process_id=#{processId} and order_number=#{orderNumber} and process=#{interceptProcess}
</select>
+
+ <select id="getProcessOk">
+ SELECT
+ GROUP_CONCAT(process ORDER BY id SEPARATOR '->') AS processes
+ FROM sd.order_process_detail
+ WHERE process_id = #{processId}
+ AND order_number = #{orderNumber}
+ AND technology_number = #{technologyNumber}
+ AND reporting_work_num_count > 0;
+ </select>
+
+ <select id="getProcessDetail">
+ SELECT *
+ FROM sd.order_process_detail
+ WHERE process_id = #{processId}
+ AND order_number = #{orderNumber}
+ AND technology_number = #{technologyNumber}
+ AND reporting_work_num_count > 0
+ AND process = #{process}
+ </select>
+
+ <update id="updateOrderProcessDetail">
+ UPDATE sd.order_process_detail
+ set reporting_work_num_count = #{reportingWorkNumCount},
+ reporting_work_num = #{reportingWorkNum},
+ broken_num = #{brokenNum}
+ where process_id = #{processId} and order_number = #{orderNumber} and
+ technology_number = #{technologyNumber} and process = #{process}
+ </update>
+
+ <select id="getPrimaryListRefundHB">
+ 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,
+ od.product_name,
+ o.processing_note,
+ fc.process_id,
+ pl.patch_num as quantity,
+ round(SUM(ogd.total_area), 2) as gross_area,
+ sum(od.weight) as weight,
+ #{technologyNumber} as technologyNumber,
+ concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
+ dd.breakage_type,
+ dd.breakage_reason,
+ dd.responsible_process,
+ dd.responsible_team,
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
+ dd.responsible_personnel,
+ #{mergeTechnologyNumber} as mergeTechnologyNumber,
+ pl.patch_id
+ 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.`order` as o on o.order_id = fc.order_id
+ left join sd.product as p on p.id = od.product_id
+ left join (select ogd.order_id,
+ ogd.order_number,
+ ogd.technology_number,
+ ogd.glass_child,
+ GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+ from sd.order_glass_detail as ogd
+ where ogd.order_id = #{orderId}
+ and ogd.order_number = #{orderNumber}
+ and position(ogd.technology_number in #{technologyNumber})
+ 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
+ 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 pp.reporting_work as rw on rw.order_id = fc.order_id and rw.process_id = fc.process_id
+ left join pp.damage_details as dd
+ on rw.reporting_work_id = dd.reporting_work_id and dd.order_number = fc.order_number and
+ dd.technology_number = fc.technology_number
+ where fc.process_id = #{processId}
+ and fc.order_number = #{orderNumber}
+ and fc.technology_number = #{technologyNumber}
+ and pl.reporting_work_id = #{reportingWorkId}
+ and dd.breakage_reason = #{patchReason}
+ group by fc.process_id
+ </select>
+
+ <select id="getTerminationQuantity">
+ SELECT order_number,quantity,termination_quantity FROM flow_card where process_id = #{processId} and order_number = #{orderNumber} GROUP BY order_number
+ </select>
+
+ <update id="updateTerminationStatus">
+ update pp.flow_card set termination_status=1 where process_id = #{processId} and order_number = #{orderNumber}
+ </update>
+
+ <update id="updateTerminationNoMp">
+ update pp.flow_card set termination_status=0 , termination_quantity=0 where process_id = #{processId} and order_number = #{orderNumber}
+ </update>
+
+ <select id="getNewProcessMp">
+ select opd.process,bd.sort from sd.order_process_detail as opd
+ left join sd.basic_data as bd on bd.basic_name = opd.process and bd.basic_category='process'
+ where opd.process_id=#{processId} and opd.order_number=#{orderNumber}
+ and opd.technology_number = #{technologyNumber} and reporting_work_num_count>0 ORDER BY opd.id DESC LIMIT 1
+ </select>
+
+ <select id="getProcessInfo">
+ select basic_name as process,sort FROM sd.basic_data as bd
+ where bd.basic_category='process' and bd.basic_name = #{processName}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0