From a660db06773007b1be690e0674829c00a57aeb7b Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 16:21:23 +0800
Subject: [PATCH] 订单首页流程卡新增楼层编号显示
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 2007 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 1,855 insertions(+), 152 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 2259a24..92c10e2 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,8 @@
<result column="create_time" property="createTime"/>
<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"/>
@@ -23,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"/>
@@ -30,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"/>
@@ -61,21 +64,30 @@
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,
- a.merge
- from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time,merge from flow_card
- group by process_Id,order_number) as a left join sd.`order` as b on a.order_Id=b.order_id
+ 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 a.create_time between #{selectTime1} and #{selectTime2}
+ 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}
@@ -98,6 +110,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}
@@ -109,12 +124,32 @@
<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
- 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
+ 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 a.create_time between #{selectTime1} and #{selectTime2}
+ 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>
@@ -143,9 +178,15 @@
<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};
+ ) as fcd
</select>
<!--鍒嗘灦鏌ヨ-->
@@ -162,8 +203,8 @@
o.delivery_address
from sd.`order` as o
left join sd.order_glass_detail ogd on o.order_id = ogd.order_id
- where o.production_order=2 and ogd.splitting_status=0 and o.create_time between #{selectTime1} and
- #{selectTime2}
+ where o.production_order=2 and ogd.splitting_status=0 and
+ date(o.create_time)>=#{selectTime1} and date(o.create_time) <= #{selectTime2}
<if test="flowCard.order.orderId != null and flowCard.order.orderId != ''">
and o.order_id regexp #{flowCard.order.orderId}
@@ -199,43 +240,66 @@
<!-- 鍒嗘灦鏄庣粏鏌ヨ-->
<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>
<!-- 鏇存柊鍒嗘灦鐘舵��-->
<update id="updateDeleteState">
update
- sd.order_glass_detail as ogd left join flow_card as fc
+ sd.order_glass_detail as ogd left join pp.flow_card as fc
on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number
set ogd.splitting_status=0
- where fc.process_id = #{processId}
+ where
+ <if test="processId=='all'">
+ ogd.order_id = #{orderId}
+ </if>
+ <if test="processId!='all'">
+ fc.process_id = #{processId}
+ </if>
+
</update>
<!-- 鍒犻櫎娴佺▼鍗�-->
<update id="deleteFlowCardMp">
delete
- from flow_card as fc
- where fc.process_id = #{processId}
+ from pp.flow_card as fc
+ where
+ <if test="processId=='all'">
+ fc.order_id = #{orderId}
+ </if>
+ <if test="processId!='all'">
+ fc.process_id = #{processId}
+ </if>
</update>
<!-- 鍒嗘灦鏂板鏄庣粏鏌ヨ-->
@@ -247,26 +311,30 @@
od.order_number AS 'orderNumber',
od.width,
od.height,
+ GREATEST(od.width, od.height) AS longSide, -- 闀胯竟
+ LEAST(od.width, od.height) AS shortSide, -- 鐭竟
od.shape,
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,
od.weight,
od.remarks,
+ od.processing_note,
ifnull(od.bend_radius,'') as bend_radius,
ods.S01,
ods.S02,
ods.S03,
ods.S04,
- ods.S05
+ ods.S05,
+ 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
- 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,
@@ -306,8 +374,15 @@
<select id="reportingWorkCount">
select COUNT(rw.process_id)
from reporting_work as rw
- where rw.process_id = #{processId}
+ where rw.process_id = #{processId} and reviewed_state>=0
</select>
+ <!-- 鏌ヨ鎶ュ伐琛ㄥ唴鏄惁鏈夊搴旀祦绋嬪崱-->
+ <select id="reportingWorkCountByOrderId">
+ select COUNT(rw.process_id)
+ from pp.reporting_work as rw
+ where rw.order_id = #{orderId} and reviewed_state>=0
+ </select>
+
<!-- 鎻掑叆Flow_card琛�-->
<insert id="addFlowCardMp">
insert into flow_card (order_id,
@@ -351,14 +426,14 @@
<select id="selectFlowCount">
select COUNT(*)
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{productionId}, 10)
+ where ogd.order_id = #{orderId}
and ogd.splitting_status = 0
</select>
<!-- 淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬�-->
<update id="updateProcessingCard">
update sd.`order` as o
set o.processing_card=#{state}
- where o.order_id = left(#{productionId}, 10)
+ where o.order_id = #{productionId}
</update>
<!-- 鏌ヨ宸叉帓鐗堟暟鎹�-->
@@ -412,7 +487,7 @@
left join sd.order as o on od.order_id = o.order_id
left join production_scheduling as ps
on ps.order_id = od.order_id and ps.order_number = od.order_number
- where od.create_time between #{selectTime1} and #{selectTime2}
+ where date(od.create_time)>=#{selectTime1} and date(od.create_time) <= #{selectTime2}
</select>
<!-- 鏌ヨ瀵瑰簲搴忓彿鐨勫眰鏁�-->
@@ -441,12 +516,19 @@
od.product_name,
ogd.glass_child,
fc.founder,
- date(fc.splitFrame_time) as splitFrame_time
+ date(fc.splitFrame_time) as splitFrame_time,
+ ogd.process,
+ c.concatNumber,
+ ifnull(fc.termination_quantity,0) as termination_quantity
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 = ogd.order_id and od.order_number = ogd.order_number
+ left join (
+ select process_id,technology_number, GROUP_CONCAT(order_number) as concatNumber from
+ flow_card where process_id = #{processId} GROUP BY process_id,technology_number
+ ) as c on c.process_id=fc.process_id
where fc.process_id = #{processId}
GROUP BY fc.order_id, fc.process_id, fc.order_number, fc.technology_number
order by fc.order_number, fc.technology_number
@@ -458,6 +540,14 @@
where process_id = #{processId}
</delete>
+ <delete id="deleteReportingWorkByOrderId">
+ delete
+ from sd.order_process_detail
+ where order_id = #{orderId}
+ </delete>
+
+
+
<select id="selectPrintFlowCardMp">
select order_id,
project,
@@ -468,23 +558,27 @@
pack_type,
batch
from sd.order
- where create_time between #{selectTime1} and #{selectTime2}
+ 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 *
- from pp.optimize_project
- where create_time between #{selectTime1} and #{selectTime2}
- and state >= 20
- order by create_time desc
+ 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
+ where date(op.create_time)>=#{selectTime1} and date(op.create_time) <= #{selectTime2}
+ 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>
<select id="selectPrintMp">
- select *
+ SELECT result.*,fcc.print_status from ( select *
from ((select fc.id,
fc.order_id,
fc.process_id,
@@ -499,8 +593,8 @@
ogdss.concatenated_glass_child as glass_child,
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
@@ -515,13 +609,14 @@
ogds.glass_child AS concatenated_glass_child,
process AS processed_part,
ogds.child_width,
- ogds.child_height
+ ogds.child_height,
+ ogds.group
from sd.order_glass_detail as ogds
where ogds.order_id = #{orderId}
- GROUP BY order_id, order_number, ogds.glass_child, process) as ogdss
+ GROUP BY order_id, order_number, ogds.glass_child, process,ogds.group) 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.concatenated_glass_child, ogdss.processed_part
+ GROUP BY fc.process_id, ogdss.concatenated_glass_child, ogdss.processed_part,ogdss.group
order by fc.process_id, ogdss.technology_number)
UNION
@@ -540,8 +635,8 @@
ogdss.concatenated_glass_child as glass_child,
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
@@ -555,11 +650,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
@@ -578,8 +674,8 @@
ogdss.concatenated_glass_child as glass_child,
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
@@ -593,15 +689,16 @@
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(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
@@ -609,12 +706,15 @@
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)
+ 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>
<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,
@@ -627,7 +727,11 @@
#{technologyNumber} as technologyNumber,
concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
- '' as qrcode
+ '' as qrcode,
+ 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
@@ -641,7 +745,48 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ where ogd.order_id = #{orderId}
+ 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
+ where fc.process_id = #{processId}
+ and position(fc.technology_number in #{technologyNumber})
+ group by fc.process_id
+ </select>
+
+ <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,
+ od.product_name,
+ o.processing_note,
+ fc.process_id,
+ #{quantity} as quantity,
+ round(od.width*od.height*#{quantity}/1000000, 2) as gross_area,
+ sum(od.weight) as weight,
+ #{technologyNumber} as technologyNumber,
+ concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
+ '' 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
+ 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 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
@@ -653,17 +798,77 @@
<select id="getDetailList">
select fc.order_number,
- concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ 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,
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,
round(ogd.child_height) as height,
pd.separation,
- fc.technology_number
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ 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
+ 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 FIND_IN_SET(fc.technology_number , #{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
+ 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">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ fc.quantity,
+ round(ogd.total_area, 2) as total_area,
+ od.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,
+ fc.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
@@ -677,6 +882,7 @@
and fcs.process = #{process}
where fc.process_id = #{processId}
and position(fc.technology_number in #{technologyNumber})
+ and fc.order_sort = #{orderNumber}
group by fc.process_id, fc.order_number
order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
</select>
@@ -704,23 +910,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,
- ogd.technology_number 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
@@ -731,8 +947,11 @@
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
+ 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}
- order by opd.stock_id
+ order by opd.stock_id,opd.polys_id
</select>
<select id="getPrintLabel2">
@@ -746,11 +965,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
@@ -761,7 +984,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>
@@ -841,13 +1064,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,
- od.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
@@ -933,6 +1156,91 @@
od.processing_note as processingNote,
width,
height,
+ if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) 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))),
+ ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) ) 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))),
+ ' = ',if(#{printQuantity}>0 ,#{printQuantity},fc.quantity) ) 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,
+ od.product_name as productName,
+ od.edging_type as edgingType,
+ od.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,
+ 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
+ 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 and
+ pd.glass_sort = fc.technology_number
+ 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 od.order_number, width, height
+ order by fc.process_id
+ </select>
+
+ <select id="getPrintCustomData2">
+ 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,
fc.quantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
@@ -943,6 +1251,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,
@@ -970,20 +1279,22 @@
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.technology_number = #{technologyNumber}
- group by od.order_number, width, height
+ group by od.order_number
order by fc.process_id
</select>
<select id="selectReplenishPrintMp">
- select fc.id,
+ select pl.id,
fc.order_id,
fc.process_id,
o.customer_name,
o.project,
+ o.batch,
fc.order_number,
ogd.technology_number,
ogd.glass_address,
+ ogd.child_width,
+ ogd.child_height,
pl.patch_num,
pl.patch_area,
pl.responsible_team,
@@ -997,7 +1308,9 @@
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,
+ pl.print_num
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -1008,7 +1321,7 @@
left join patch_log as pl on pl.order_id = fc.order_id and pl.process_id = fc.process_id and
pl.order_sort = fc.order_number and
pl.technology_number = fc.technology_number
- where pl.create_time between #{selectTime1} and #{selectTime2}
+ where date(pl.create_time)>=#{selectTime1} and date(pl.create_time) <= #{selectTime2}
and pl.review_status > 0
GROUP BY pl.id, fc.process_id, ogd.technology_number
order by pl.id desc, fc.process_id, ogd.technology_number
@@ -1044,6 +1357,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,
@@ -1054,7 +1368,28 @@
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.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.patch_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.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
@@ -1065,6 +1400,88 @@
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="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
@@ -1076,7 +1493,7 @@
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>
@@ -1120,6 +1537,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,
@@ -1145,7 +1563,7 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ where ogd.order_id = #{orderId}
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
@@ -1192,24 +1610,28 @@
left join rework as pl on pl.order_id = fc.order_id and pl.process_id = fc.process_id and
pl.order_sort = fc.order_number and
pl.technology_number = fc.technology_number
- where pl.create_time between #{selectTime1} and #{selectTime2}
- GROUP BY fc.process_id,fc.order_number, ogd.technology_number, pl.reporting_work_id
+ 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,pl.rework_type,
+ pl.rework_reason
order by pl.id desc, fc.process_id, ogd.technology_number
</select>
<select id="getDetailListLike">
select fc.order_number,
- concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ 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,
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,
round(ogd.child_height) as height,
pd.separation,
- fc.technology_number
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ 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
@@ -1222,6 +1644,120 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
+ 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">
+ 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">
+ 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(ogd.total_area, 2) as total_area,
+ od.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,
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_number,
+ fc.merge as merge,
+ 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
+ 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 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
+ 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">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ 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.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,
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_number
+ from optimize_detail opt left join flow_card as fc on opt.process_id = fc.process_id and opt.order_sort = fc.order_number and
+ opt.layer = fc.technology_number
+ 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 opt.process_id = #{processId} and opt.project_no=#{printProject}
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)
@@ -1240,7 +1776,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
@@ -1254,7 +1791,7 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ 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
@@ -1271,11 +1808,11 @@
<select id="getDetailListRefund">
select fc.order_number,
- concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ 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(pl.patch_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(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1286,7 +1823,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
@@ -1308,6 +1846,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,
@@ -1326,7 +1865,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
@@ -1340,7 +1880,7 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ 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
@@ -1362,7 +1902,7 @@
<select id="getDetailListLikeRefund">
select fc.order_number,
- concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ 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,
pl.patch_num as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
@@ -1393,6 +1933,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,
@@ -1424,7 +1965,7 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ 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
@@ -1449,7 +1990,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,
@@ -1506,7 +2047,7 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ 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
@@ -1569,9 +2110,10 @@
contacts,
delivery_address as deliveryAddress,
od.processing_note as processingNote,
- round(ogd.child_width) as width,
- round(ogd.child_height) as height,
- fc.quantity,
+ ogd.child_width as width,
+ ogd.child_height as height,
+ #{printQuantity} as 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,
@@ -1581,6 +2123,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,
@@ -1594,7 +2137,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
@@ -1610,9 +2174,21 @@
fcs.technology_number = fc.technology_number
and fcs.process = #{process}
where fc.process_id = #{processId}
- and position(fc.technology_number in #{technologyNumber})
+ and fc.order_number = #{orderNumber}
+ <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">
@@ -1632,7 +2208,8 @@
date(fc.splitFrame_time) as splitFrame_time,
/* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
fc.print_status,
- ogd.process
+ ogd.process,
+ merge
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
@@ -1778,8 +2355,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,
@@ -1790,6 +2367,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,
@@ -1803,7 +2381,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))),
+ ' = ',pl.patch_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.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
@@ -1817,6 +2416,93 @@
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="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
@@ -1840,7 +2526,8 @@
date(fc.splitFrame_time) as splitFrame_time,
/* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
fc.print_status,
- ogd.process
+ ogd.process,
+ merge
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
@@ -1869,7 +2556,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
@@ -1883,10 +2571,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}
@@ -1907,7 +2596,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
@@ -1921,13 +2611,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
@@ -1963,6 +2654,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,
@@ -1976,7 +2668,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
@@ -1990,7 +2686,7 @@
ogd.glass_child,
GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
from sd.order_glass_detail as ogd
- where ogd.order_id = left(#{processId}, 10)
+ where ogd.order_id = #{orderId}
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
@@ -2010,16 +2706,20 @@
/*ogd.technology_number,*/
ogd.glass_address,
(fc.quantity) as quantity,
+ (fc.quantity) as printQuantity,
round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
od.product_name,
ogd.glass_child,
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,
+ 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
@@ -2040,16 +2740,26 @@
ogd.technology_number,
ogd.glass_address,
(fc.quantity) as quantity,
+ (fc.quantity) as printQuantity,
round((ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
od.product_name,
ogd.glass_child,
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,
+ 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,
+ 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
@@ -2081,7 +2791,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,
@@ -2091,6 +2818,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,
@@ -2110,7 +2838,8 @@
'鏂囨湰' as custom2,
'鏂囨湰' as custom3,
'鏂囨湰' as custom4,
- '鏂囨湰' as custom5
+ '鏂囨湰' 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 flow_card as fc on o.order_id = fc.order_id and
@@ -2122,9 +2851,10 @@
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 od.order_number, width, height
+ group by fc.process_id,od.order_number, width, height
order by fc.process_id
</select>
@@ -2149,7 +2879,7 @@
od.processing_note as processingNote,
od.width,
od.height,
- fc.quantity,
+ fc.quantity as flowQuantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2159,6 +2889,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,
@@ -2176,7 +2907,8 @@
'鏂囨湰' as custom2,
'鏂囨湰' as custom3,
'鏂囨湰' as custom4,
- '鏂囨湰' as custom5
+ '鏂囨湰' as custom5,
+ od.quantity
from optimize_detail as opt
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
@@ -2198,16 +2930,19 @@
<select id="selectSortTableMp">
select fcs.sort,
- process_id,
+ fcs.process_id,
fcs.order_number,
fcs.technology_number,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
fcs.process
- from flow_card_sort as fcs
- left join sd.order_detail as od
- on od.order_id = left(fcs.process_id, 10) and od.order_number = fcs.order_number
- where LEFT(fcs.process_id, 10) = #{orderId}
- GROUP BY process_id,
+ from
+ flow_card as fc
+ 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
+ left join sd.order_detail as od
+ on od.order_id = fc.order_id and od.order_number = fcs.order_number
+ where fc.order_id = #{orderId}
+ GROUP BY fcs.process_id,
fcs.order_number,
fcs.technology_number,
fcs.process
@@ -2222,11 +2957,11 @@
<select id="remakList">
SELECT
- JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
- JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')) AS S02,
- JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')) AS S03,
- JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S06')) AS S04,
- JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S07')) AS S05
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')),'') AS S01,
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')),'') AS S02,
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')),'') AS S03,
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S06')),'') AS S04,
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S07')),'') AS S05
FROM flow_card as fc left join sd.order_detail as od on fc.order_id = od.order_id
and fc.order_number = od.order_number
WHERE fc.process_id=#{processId}
@@ -2246,7 +2981,7 @@
</select>
<select id="selectFlowCardMerge">
- select *
+ select *,GROUP_CONCAT(DISTINCT fc.technology_number) as count1,count(DISTINCT fc.technology_number) as count2
from pp.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
@@ -2257,12 +2992,24 @@
</select>
<update id="updateFlowCardMerge">
- update pp.flow_card fc set fc.merge=1
- where fc.process_id = #{processId}
+ update pp.flow_card fc set fc.merge=#{index}
+ where fc.process_id = #{processId} and fc.technology_number in
+ <foreach item="technologyNumber" collection="technologyNumbers" open="(" separator="," close=")">
+ #{technologyNumber}
+ </foreach>
</update>
<delete id="deleteflowCardSort">
delete from flow_card_sort where process_id = #{processId}
+ </delete>
+
+ <delete id="deleteflowCardSortByOrderId">
+ delete from pp.flow_card_sort
+ where process_id =(
+ select process_id from pp.flow_card
+ where order_id=#{orderId}
+ group by process_id
+ )
</delete>
<select id="getPrintProjectDetailsMp">
@@ -2272,7 +3019,102 @@
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,
+ 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,
+ 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,
+ od.product_name as productName,
+ od.edging_type as edgingType,
+ od.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,
+ od.other_columns,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5,
+ 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
+ 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 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>
+
+ <select id="getPrintCustomDataProject">
select
o.order_id as orderId,
project,
@@ -2293,7 +3135,7 @@
od.processing_note as processingNote,
od.width,
od.height,
- fc.quantity,
+ fc.quantity as flowQuantity,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2303,6 +3145,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,
@@ -2320,17 +3163,877 @@
'鏂囨湰' as custom2,
'鏂囨湰' as custom3,
'鏂囨湰' as custom4,
- '鏂囨湰' as custom5
+ '鏂囨湰' as custom5,
+ od.quantity,
+ o.order_id,
+ c.customer_abbreviation as customer_name,
+ od.building_number,
+ od.processing_note,
+ ogd.child_width as childWidth,
+ ogd.child_height as childHeight,
+ ogd.glass_child as glassChild,
+ ogd.process,
+ e.type_name,
+ opt.stock_id,
+ od.bend_radius,
+ a.id as flow_card_sort,
+ concat(opt.heat_layout_id,'') as heat_layout_id ,
+ opt.heat_layout_sort
from optimize_detail as opt
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
+ left join sd.order_glass_detail as ogd on ogd.order_id=o.order_id and ogd.order_number=od.order_number and ogd.technology_number=fc.technology_number
left join sd.product as p on p.id = od.product_id
+ left join sd.basic_glass_type e on e.type_id = p.type_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 and
pd.glass_sort = fc.technology_number
- where opt.project_no=#{projectNo} and opt.stock_id=#{stockId}
- order by opt.stock_id,opt.polys_id
+ 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=opt.process_id
+ where opt.project_no=#{projectNo}
+ order by opt.heat_layout_id, opt.heat_layout_sort desc
</select>
+ <select id="getPrintLabel3">
+ 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,
+ od.product_name as glass_child,
+ ogd.process,
+ e.type_name,
+ opd.stock_id,
+ opd.polys_id,
+ od.quantity,
+ od.other_columns,
+ od.bend_radius,
+ od.order_number as heat_layout_id,
+ a.id as heat_layout_sort
+ 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
+ on SUBSTR(opd.process_id, 1, 10) = od.order_id and opd.order_sort = od.order_number
+ left join sd.order_glass_detail ogd
+ on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number and
+ opd.layer = ogd.technology_number
+ 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
+ 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} 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>
+
+ <delete id="deleteProcessMp">
+ delete from sd.order_process_detail where process_id = #{processId} and technology_number= #{technologyNumber}
+ </delete>
+
+ <insert id="updateProcessMp">
+ insert into sd.order_process_detail (order_id,
+ process_id,
+ order_number,
+ technology_number,
+ process,
+ create_time)
+ select fc.order_id,
+ fc.process_id,
+ fc.order_number,
+ #{technologyNumber},
+ #{process},
+ NOW()
+ from pp.flow_card as fc
+ where fc.process_id = #{processId}
+ and fc.order_number = #{number}
+ and fc.technology_number = #{technologyNumber}
+ GROUP BY fc.order_number
+ </insert>
+
+ <update id="updateOrderProcessMp">
+ update sd.order_glass_detail set process=#{orderprocess}
+ where order_id=#{orderId} and order_number=#{number} and technology_number=#{technologyNumber}
+ </update>
+
+ <select id="getFlowCardListPrintProject">
+ select
+ od.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ od.order_number,
+ ogd.technology_number,
+ ogd.glass_address,
+ fc.quantity ,
+ round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
+ od.product_name,
+ ogd.glass_child,
+ fc.patch_state,
+ ogd.process,
+ fcd.merge
+ from (select process_id,count(*) as quantity,order_sort,project_no,layer,patch_state from pp.optimize_detail where project_no = #{printProject} group by process_id,layer) as fc
+ left join sd.order_glass_detail as ogd
+ on ogd.order_id = SUBSTRING(fc.process_id,1,10) and ogd.order_number = fc.order_sort and
+ ogd.technology_number = fc.layer
+ 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} 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>
+
+ <update id="updateProjectLabelPrintCount">
+ update optimize_project set labelPrintNum=labelPrintNum+1 where project_no=#{projectNo}
+ </update>
+
+ <select id="selectProjectLabelPrintCount">
+ select labelPrintNum from optimize_project where project_no=#{projectNo}
+ </select>
+
+ <update id="updateProjectProcessPrintCount">
+ update optimize_project set processPrintNum=processPrintNum+1 where project_no=#{projectNo}
+ </update>
+
+ <select id="selectProjectProcessPrintCount">
+ select processPrintNum from optimize_project where project_no=#{projectNo}
+ </select>
+
+ <select id="flowCardToOptimizeCount">
+ 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',
+ 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
+ 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,
+ 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,
+ od.product_name as productName,
+ od.edging_type as edgingType,
+ od.remarks,
+ 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,
+ 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>
+
+ <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,
+ 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
+ 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
+ FIND_IN_SET(fc.technology_number , #{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,
+ 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
+ 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 FIND_IN_SET(fc.technology_number , #{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>
+
+ <select id="getLayoutStatus">
+ select max(layout_status) from flow_card where process_id= #{processId}
+ </select>
+
+ <select id="selectSortingCardMp">
+ select od.order_number,
+ od.order_number AS 'orderNumber',
+ od.width,
+ od.height,
+ od.shape,
+ od.quantity,
+ od.compute_gross_area,
+ p.total_thickness,
+ 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,
+ od.weight,
+ od.remarks,
+ od.processing_note,
+ ifnull(od.bend_radius,'') as bend_radius,
+ ods.S01,
+ ods.S02,
+ ods.S03,
+ ods.S04,
+ ods.S05,
+ od.building_number
+ 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_id = p.id
+ left join (SELECT order_id,
+ order_number,
+ JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
+ JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S02')) AS S02,
+ JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S03')) AS S03,
+ JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')) AS S04,
+ JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')) AS S05
+ FROM sd.order_detail
+ WHERE order_id = #{orderId}) as ods
+ on ods.order_id = od.order_id and ods.order_number = od.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.production_id = #{productionId}
+ and ogd.splitting_status = 0
+ GROUP BY od.order_number
+ <if test="optionVal == 0 and flashback == 1">
+ ORDER BY od.width ASC, od.height ASC
+ </if>
+ <if test="optionVal == 0 and flashback == 0">
+ ORDER BY od.width DESC, od.height DESC
+ </if>
+ <if test="optionVal == 1 and flashback == 1">
+ ORDER BY od.height ASC, od.width ASC
+ </if>
+ <if test="optionVal == 1 and flashback == 0">
+ ORDER BY od.height DESC, od.width DESC
+ </if>
+ </select>
+
+ <update id="updateTerminationMp">
+ update pp.flow_card fc set fc.termination_quantity=#{value}
+ where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
+ </update>
+
+ <select id="selectCompletedMp">
+ 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>
+ <select id="OrderProcess">
+ select DISTINCT basic_name as process,nickname,sort from sd.basic_data where basic_category = 'process'
+ </select>
+
+ <select id="PrintProgressProcessCardData">
+ select a.product_name,
+ b.glass_child,
+ d.order_type,
+ c.process_id,
+ c.process_id as 'processId',
+ c.order_id,
+ c.order_number,
+ c.technology_number,
+ b.child_width,
+ b.child_height,
+ c.quantity,
+
+ c.quantity-ifnull(c.termination_quantity,0) as thisQuantity,/*鐢ㄤ簬鍒ゆ柇鏄惁鏀瑰彉棰滆壊*/
+ e.reportWorkQuantity,
+ e.reportWorkQuantityShow,
+ e.reportWorkQuantityCount,
+ e.reportWorkTime,
+ e.broken_num,
+ c.quantity-ifnull(c.termination_quantity,0) as glassQuantity,
+
+ c.quantity-ifnull(c.termination_quantity,0) as quantityShow,
+ round( (c.quantity-ifnull(c.termination_quantity,0))*a.compute_area,2) as grossAreaShow,
+ ifnull(c.received_quantity, 0) as StorageShow,
+ ifnull(dd.quantity, 0) as shippedQuantityShow, -- 鍙戣揣鏁伴噺
+ round(ifnull(dd.quantity, 0)*a.compute_area,2) as shippedAreaShow, -- 鍙戣揣闈㈢Н
+ round((ifnull(c.received_quantity, 0))*a.compute_area,2) as StorageAreaShow,-- 鍏ュ簱闈㈢Н
+
+ round((c.quantity-ifnull(c.termination_quantity,0))*a.compute_area,2)as grossArea,
+ ifnull(c.received_quantity, 0) as Storage,
+ ifnull(dd.quantity, 0) as shippedQuantity,
+ round(ifnull(dd.quantity, 0)*a.compute_area,2) as shippedArea,
+ round((ifnull(c.received_quantity, 0))*a.compute_area,2) as StorageArea,
+
+
+ ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber,
+ b.`group`,
+ c.print_status,
+ c.print_number,
+ o.project,
+ o.customer_name,
+ b.process
+
+ from pp.flow_card as c
+ left join
+ sd.order_detail as a
+ on c.order_id = a.order_id
+ and c.order_number = a.order_number
+ left join sd.order_glass_detail as b
+ on c.order_id = b.order_id
+ and b.order_number = c.order_number
+ and c.technology_number = b.technology_number
+ left join sd.`order` as d
+ on c.order_id = d.order_id
+ # left join mm.finished_goods_inventory as f
+ # on c.order_id = f.order_id and f.order_number = c.order_number
+ left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
+ left join (SELECT a.process_id,
+ a.order_number,
+ a.technology_number,
+ sum(a.broken_num) as broken_num,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", if(a.technology_number!=1 and (bd.nickname='stepD' || bd.nickname='stepB' ) ,0,reporting_work_num), "\"")),
+ '}'
+ ) as reportWorkQuantity,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num, "\"")),
+ '}'
+ ) as reportWorkQuantityShow,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num_count, "\"")),
+ '}'
+ ) as reportWorkQuantityCount,
+ concat('{',
+ GROUP_CONCAT(concat("\"", process, "\":\"", IFNULL(date(a.update_time),''), "\"")),
+ '}'
+ ) as reportWorkTime
+ FROM sd.order_process_detail as a
+ left join (SELECT DISTINCT basic_name,nickname from sd.basic_data as bd where bd.basic_category = 'process') as bd
+ on a.process = bd.basic_name
+ left join pp.flow_card as fc on fc.process_id=a.process_id and fc.order_number=a.order_number and fc.technology_number=a.technology_number
+ where (fc.create_time) >= #{startDate} and (fc.create_time) <= #{endDate}
+ GROUP BY a.process_id, a.order_number, a.technology_number
+
+
+ ) as e
+ on e.process_id = c.process_id
+ and e.technology_number = c.technology_number
+ and e.order_number = c.order_number
+ left join sd.`order` as o on o.order_id =c.order_id
+ where (c.create_time) >= #{startDate} and (c.create_time) <= #{endDate}
+ and d.create_order>0 and c.quantity-ifnull(c.termination_quantity,0)>0
+ group by c.order_number,
+ c.technology_number,
+ c.process_id
+ order by c.process_id, c.order_number, c.technology_number
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0