From 3ab330b8aefb3cd781c9b8730b4ab7ac65e7e9d7 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 07 三月 2025 09:14:08 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 656 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 601 insertions(+), 55 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 4dc438c..9719ff7 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -11,6 +11,7 @@
<result column="create_time" property="createTime"/>
<result column="layout_status" property="layoutStatus"/>
<result column="merge" property="merge"/>
+ <result column="rack" property="rack"/>
<!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
<association property="order" javaType="com.example.erp.entity.sd.Order">
<result column="project" property="project"/>
@@ -66,11 +67,14 @@
c.processing_note,
b.customer_name,
if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
- a.merge
- from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,merge from flow_card
- group by process_Id,order_number) as a left join sd.`order` as b on a.order_Id=b.order_id
+ a.merge,
+ a.rack
+ from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card
+ group by process_Id,order_number) as a
+ left join sd.`order` as b on a.order_Id=b.order_id
left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
where date(a.create_time)>=#{selectTime1} and date(a.create_time) <= #{selectTime2}
+ and b.create_order>0
<if test="flowCard.orderId != null and flowCard.orderId != ''">
and a.order_id regexp #{flowCard.orderId}
</if>
@@ -99,6 +103,9 @@
<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>
@@ -115,6 +122,7 @@
from flow_card as a left join sd.`order` as b on a.order_Id=b.order_id
left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
where date(a.create_time)>=#{selectTime1} and date(a.create_time) <= #{selectTime2}
+ and b.create_order>0
<if test="flowCard.orderId != null and flowCard.orderId != ''">
and a.order_id regexp #{flowCard.orderId}
</if>
@@ -224,18 +232,31 @@
<!-- 鏇存柊鍒嗘灦鐘舵��-->
<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>
<!-- 鍒嗘灦鏂板鏄庣粏鏌ヨ-->
@@ -308,8 +329,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,
@@ -353,14 +381,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>
<!-- 鏌ヨ宸叉帓鐗堟暟鎹�-->
@@ -466,6 +494,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,
@@ -479,20 +515,23 @@
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 project_no,glass_total,glass_total_area
- from pp.optimize_project
- where date(create_time)>=#{selectTime1} and date(create_time) <= #{selectTime2}
- and state >= 20
- order by create_time desc
+ select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum
+ 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,
@@ -507,8 +546,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
@@ -549,8 +588,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
@@ -587,8 +626,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
@@ -602,7 +641,7 @@
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('涓┖', 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
@@ -618,7 +657,9 @@
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)) 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">
@@ -632,6 +673,46 @@
fc.process_id,
SUM(od.quantity) 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,
+ concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch) AS otherRemarks,
+ '' as qrcode,
+ ifnull(rack,"") as rack
+ 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
+ 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,
+ #{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,
@@ -650,7 +731,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
@@ -661,6 +742,38 @@
</select>
<select id="getDetailList">
+ 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,
+ fc.quantity,
+ round(ogd.total_area, 2) as total_area,
+ od.perimeter,
+ if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+ 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
+ fc.technology_number = ogd.technology_number
+ left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+ left join sd.product_detail as pd
+ on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+ left join flow_card_sort as fcs
+ on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+ fcs.technology_number = fc.technology_number
+ and fcs.process = #{process}
+ where fc.process_id = #{processId}
+ and position(fc.technology_number in #{technologyNumber})
+ group by fc.process_id, fc.order_number
+ order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+ </select>
+
+ <select id="getDetailLists">
select fc.order_number,
concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
fc.quantity,
@@ -688,6 +801,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>
@@ -715,6 +829,13 @@
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,
@@ -727,11 +848,13 @@
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
+ a.id as heat_layout_sort,
+ od.product_name
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
@@ -760,11 +883,14 @@
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
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
@@ -861,7 +987,7 @@
ogd.glass_child,
#{process} as process,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- od.bend_radius
+ if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) 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
@@ -984,8 +1110,69 @@
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}
+ 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,
+ 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,
+ 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
+ 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}
+ group by od.order_number
order by fc.process_id
</select>
@@ -1068,7 +1255,19 @@
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
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
@@ -1079,6 +1278,7 @@
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
@@ -1159,7 +1359,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
@@ -1213,11 +1413,11 @@
<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,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,
@@ -1238,6 +1438,71 @@
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, fc.order_number, fc.technology_number
+ order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+ </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,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,
+ fc.technology_number,
+ IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+ od.building_number,
+ fc.merge as merge
+ from flow_card as fc
+ left join sd.order_glass_detail as ogd
+ on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+ 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
+ order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+ </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.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) 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)
@@ -1270,7 +1535,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
@@ -1291,7 +1556,7 @@
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,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,
@@ -1356,7 +1621,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
@@ -1440,7 +1705,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
@@ -1522,7 +1787,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
@@ -1588,6 +1853,7 @@
round(ogd.child_width) as width,
round(ogd.child_height) as height,
fc.quantity,
+ CONCAT(round(ogd.child_width) , ' X ', round(ogd.child_height) ,' = ',fc.quantity ) as size,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -1648,7 +1914,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
@@ -1819,7 +2086,19 @@
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
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
@@ -1833,6 +2112,7 @@
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
@@ -1856,7 +2136,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
@@ -1885,7 +2166,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
@@ -1923,7 +2205,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
@@ -2006,7 +2289,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
@@ -2033,10 +2316,12 @@
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
/* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
- fc.print_status,
+ ifnull(fc.print_number,0) as print_status,
ogd.process,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- od.order_number
+ od.order_number,
+ od.width,
+ od.height
from flow_card as fc
left join sd.order_glass_detail as ogd
on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -2064,10 +2349,12 @@
fc.founder,
date(fc.splitFrame_time) as splitFrame_time,
/* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as print_status*/
- fc.print_status,
+ ifnull(fc.print_number,0) as print_status,
ogd.process,
JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
- od.order_number
+ od.order_number,
+ ogd.child_width as width,
+ ogd.child_height as height
from flow_card as fc
left join sd.order_glass_detail as ogd
on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
@@ -2100,6 +2387,18 @@
width,
height,
#{printQuantity} as quantity,
+ CONCAT(
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',#{printQuantity} ) as size,
+
+ CONCAT(
+ od.order_number,') ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',#{printQuantity} ) as numberSize,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2218,16 +2517,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
@@ -2286,6 +2588,15 @@
<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">
@@ -2449,6 +2760,7 @@
ogd.process,
e.type_name,
opd.stock_id,
+ opd.polys_id,
od.quantity,
od.other_columns,
od.bend_radius,
@@ -2500,4 +2812,238 @@
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}
+ 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'
+ from sd.order_detail as a
+ left join sd.order_glass_detail as b
+ on a.order_id = b.order_id and a.order_number = b.order_number
+ where a.order_id = #{orderId} and b.production_id = #{productionId}
+
+ group by a.order_number) as c
+ <if test="type=='scope'">
+ where c.`long` <= #{inLenMax}
+ and c.`long` >= #{inLenMin}
+ and c.`short` >= #{inShortMin}
+ and c.`short` <= #{inShortMax}
+ </if>
+ <if test="type=='notScope'">
+ where !(c.`long` <= #{inLenMax}
+ and c.`long` >= #{inLenMin}
+ and c.`short` >= #{inShortMin}
+ and c.`short` <= #{inShortMax})
+ </if>
+ order by c.`long` desc
+ </select>
+
+ <!-- 澶嶉�夋淇敼鎺掔増鐘舵��-->
+ <update id="revokeComposing">
+ update flow_card as fc
+ set fc.layout_status=0
+ where fc.process_id = #{processId}
+ </update>
+
+ <select id="selectProjectNo">
+ SELECT COUNT(*)
+ FROM flow_card
+ WHERE process_id= #{processId} and project_no IS not NULL;
+ </select>
+
+ <select id="selectPrintDetailsMp2">
+ select ogd.id,
+ ogd.order_id,
+ o.customer_name,
+ o.project,
+ ogd.technology_number,
+ ogd.glass_address,
+ (od.quantity) as quantity,
+ (od.quantity) as printQuantity,
+ round((ogd.child_width * ogd.child_height * od.quantity / 1000000), 2) as total_area,
+ od.product_name,
+ ogd.glass_child,
+ ogd.process,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+ od.order_number,
+ ogd.child_width as width,
+ ogd.child_height as height
+ from sd.order_glass_detail as ogd
+ left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+ left join sd.`order` as o on o.order_id = ogd.order_id
+ where ogd.order_id = #{orderId}
+ GROUP BY od.order_number
+ order by od.order_number
+ </select>
+
+ <select id="getPrintOrderDataDetails">
+ select o.order_id as orderId,
+ project,
+ customer_id as customerId,
+ o.customer_name as customerName,
+ order_type as orderType,
+ order_classify as orderClassify,
+ batch,
+ o.icon,
+ pack_type as packType,
+ delivery_date as deliveryDate,
+ al_type as alType,
+ money,
+ contract_id as contractId,
+ customer_batch customerBatch,
+ contacts,
+ delivery_address as deliveryAddress,
+ od.processing_note as processingNote,
+ width,
+ height,
+ #{printQuantity} as quantity,
+ CONCAT(
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',#{printQuantity} ) as size,
+
+ CONCAT(
+ od.order_number,') ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+ ' X ',
+ TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+ ' = ',#{printQuantity} ) as numberSize,
+ od.order_number as orderNumber,
+ ogd.technology_number as technologyNumber,
+ od.building_number as buildingNumber,
+ od.product_name as productName,
+ od.edging_type as edgingType,
+ od.remarks,
+ c.customer_abbreviation as customerAbbreviation,
+ p.product_abbreviation as productAbbreviation,
+ '' as processId,
+ o.create_time as createTime,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
+ p.remarks as filmNumber,
+ od.bend_radius as bendRadius,
+ od.other_columns,
+ ogd.glass_child as glassChild,
+ ogd.glass_address as glassAddress,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5,
+ od.quantity
+ from sd.order as o
+ left join sd.order_detail as od on o.order_id = od.order_id
+ left join sd.product as p on p.id = od.product_id
+ left join sd.customer as c on c.id = o.customer_id
+ left join sd.order_glass_detail as ogd
+ on ogd.order_id = od.order_id and ogd.order_number = od.order_number
+ left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
+ pd.glass_sort = ogd.technology_number
+
+ where od.order_id = #{orderId}
+ and od.order_number = #{orderNumber}
+ group by od.order_number, width, height
+ order by od.order_id
+ </select>
+
+ <select id="updatePrintNumberMp">
+ update pp.flow_card
+ set print_number = ifnull(print_number,0) + 1
+ where process_id = #{processId}
+ and order_number = #{orderNumber}
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0