From 79f094ecc2d1b7bec8c577fa6237a615cdb8773b Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期一, 23 十二月 2024 16:52:57 +0800
Subject: [PATCH] 添加 工程信息显示流程卡功能
---
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml | 600 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 540 insertions(+), 60 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 66f924e..3b5844b 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -67,10 +67,10 @@
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
+ 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
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}
<if test="flowCard.orderId != null and flowCard.orderId != ''">
and a.order_id regexp #{flowCard.orderId}
</if>
@@ -114,7 +114,7 @@
count(distinct a.process_Id) as 'total'
from flow_card as a left join sd.`order` as b on a.order_Id=b.order_id
left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
- where a.create_time between #{selectTime1} and #{selectTime2}
+ where date(a.create_time)>=#{selectTime1} and date(a.create_time) <= #{selectTime2}
<if test="flowCard.orderId != null and flowCard.orderId != ''">
and a.order_id regexp #{flowCard.orderId}
</if>
@@ -162,8 +162,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}
@@ -257,12 +257,14 @@
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
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
@@ -306,7 +308,7 @@
<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>
<!-- 鎻掑叆Flow_card琛�-->
<insert id="addFlowCardMp">
@@ -351,14 +353,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 +414,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 +443,18 @@
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
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
@@ -468,7 +476,7 @@
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
@@ -476,9 +484,9 @@
</select>
<select id="selectPrintFlowCard">
- select *
+ select project_no,glass_total,glass_total_area
from pp.optimize_project
- where create_time between #{selectTime1} and #{selectTime2}
+ where date(create_time)>=#{selectTime1} and date(create_time) <= #{selectTime2}
and state >= 20
order by create_time desc
</select>
@@ -515,13 +523,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
@@ -641,7 +650,46 @@
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,
+ #{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
+ 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 +701,19 @@
<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,
- od.bend_radius,
+ 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
+ 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 +727,39 @@
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,
+ 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,
+ 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})
+ 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>
@@ -718,7 +801,9 @@
opd.stock_id,
od.quantity,
od.other_columns,
- od.bend_radius
+ 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
@@ -729,8 +814,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">
@@ -744,7 +832,6 @@
ogd.glass_child,
ogd.process,
e.type_name,
- opd.stock_id,
od.quantity,
od.other_columns,
od.bend_radius,
@@ -823,9 +910,14 @@
left join sd.product pt on pt.id = od.product_id
left join sd.customer c on c.id = o.customer_id
left join sd.basic_glass_type bgt on bgt.type_id = pt.type_id
- where fc.process_id = #{processId}
- and fc.order_number = #{orderNumber}
- group by od.order_number, od.width, od.height
+ <where>
+ and fc.process_id = #{flowCard.processId}
+ and fc.order_number = #{flowCard.orderNumber}
+ <if test="flowCard.technologyNumber != null and flowCard.technologyNumber != ''">
+ and fc.technology_number = #{flowCard.technologyNumber}
+ </if>
+ </where>
+ group by od.order_number,fc.technology_number, od.width, od.height
</select>
<select id="printFlowCardDetailsMp">
@@ -990,7 +1082,8 @@
ogd.glass_child,
fc.print_status,
pl.reporting_work_id,
- JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+ pl.patch_id
from flow_card as fc
left join sd.order_glass_detail as ogd
@@ -1001,7 +1094,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
@@ -1138,7 +1231,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
@@ -1185,24 +1278,26 @@
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}
+ 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
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,
- od.bend_radius,
+ 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
+ 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
@@ -1216,6 +1311,39 @@
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="getDetailListLikes">
+ select fc.order_number,
+ concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+ #{quantity} as quantity,
+ round(ogd.child_width*ogd.child_height*#{quantity}/1000000, 2) as total_area,
+ round((ogd.child_width+ogd.child_height)*2*#{quantity}/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 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})
+ and fc.order_number=#{orderNumber}
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>
@@ -1247,7 +1375,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
@@ -1268,7 +1396,7 @@
sum(pl.patch_num) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- od.bend_radius,
+ 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,
@@ -1278,7 +1406,8 @@
pl.patch_type,
pl.patch_reason,
pl.patch_processes,
- pl.responsible_team
+ pl.responsible_team,
+ pl.responsible_personnel
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
@@ -1332,7 +1461,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
@@ -1416,7 +1545,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
@@ -1441,7 +1570,7 @@
(pl.rework_num) as quantity,
round(ogd.total_area, 2) as total_area,
od.perimeter,
- od.bend_radius,
+ if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
concat(od.processing_note, od.remarks) as remarks,
od.other_columns,
round(ogd.child_width) as width,
@@ -1452,7 +1581,8 @@
pl.rework_reason as patch_reason,
pl.rework_processes as patch_processes,
pl.responsible_team,
- pl.rework_team
+ pl.rework_team,
+ pl.responsible_personnel
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
@@ -1497,7 +1627,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
@@ -1563,6 +1693,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,
@@ -1981,7 +2112,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
@@ -1998,9 +2129,10 @@
fc.process_id,
o.customer_name,
o.project,
- ogd.technology_number,
+ /*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,
@@ -2020,6 +2152,37 @@
where fc.order_id = #{orderId}
GROUP BY fc.process_id, od.order_number
order by fc.process_id, od.order_number
+ </select>
+
+ <select id="selectPrintDetailsMp1">
+ select fc.id,
+ fc.order_id,
+ fc.process_id,
+ o.customer_name,
+ o.project,
+ 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,
+ ogd.process,
+ JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+ od.order_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
+ ogd.technology_number = fc.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
+ where fc.order_id = #{orderId}
+ GROUP BY fc.process_id, od.order_number,fc.technology_number
+ order by fc.process_id, od.order_number,fc.technology_number
</select>
<select id="getPrintCustomDataDetails">
@@ -2042,7 +2205,12 @@
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,
od.order_number as orderNumber,
fc.technology_number as technologyNumber,
od.building_number as buildingNumber,
@@ -2066,7 +2234,13 @@
od.other_columns,
ogd.glass_child as glassChild,
ogd.glass_address as glassAddress,
- JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' as custom5,
+ 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
@@ -2084,6 +2258,68 @@
order by fc.process_id
</select>
+ <select id="getPrintCustomDataProjectNo">
+ 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,
+ od.width,
+ od.height,
+ fc.quantity as flowQuantity,
+ 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,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' 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
+ 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}
+ order by opt.stock_id,opt.polys_id
+ </select>
+
<select id="selectUserMp">
select role_id
from erp_user_info.`user` as u
@@ -2093,16 +2329,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
@@ -2117,11 +2356,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}
@@ -2141,7 +2380,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
@@ -2152,12 +2391,253 @@
</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>
+ <select id="getPrintProjectDetailsMp">
+ SELECT opd.project_no,opd.stock_id,opl.glass_count 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}
+ GROUP BY opd.stock_id
+ ORDER BY opd.stock_id
+ </select>
+
+ <select id="getPrintCustomDataProjectDetail">
+ 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,
+ od.width,
+ od.height,
+ fc.quantity as flowQuantity,
+ 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,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' 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
+ 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}
+ order by opt.stock_id,opt.polys_id
+ </select>
+
+ <select id="getPrintCustomDataProject">
+ 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,
+ od.width,
+ od.height,
+ fc.quantity as flowQuantity,
+ 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,
+ JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color,
+ '鏂囨湰' as custom1,
+ '鏂囨湰' as custom2,
+ '鏂囨湰' as custom3,
+ '鏂囨湰' as custom4,
+ '鏂囨湰' 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
+ 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,
+ 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}
+ 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
+ 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)
+ where fc.project_no = #{printProject}
+ GROUP BY fc.process_id, ogd.technology_number
+ order by fc.process_id, ogd.technology_number
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0