From 82685a4ec94db01c564561582141c03054012ea3 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期五, 07 二月 2025 10:16:38 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  495 +++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 427 insertions(+), 68 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 6f81e38..0697cf3 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,12 @@
         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
+        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) &lt;= #{selectTime2}
+        and b.create_order>0
         <if test="flowCard.orderId != null and flowCard.orderId != ''">
             and a.order_id regexp #{flowCard.orderId}
         </if>
@@ -114,7 +116,8 @@
         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) &lt;= #{selectTime2}
+        and b.create_order>0
         <if test="flowCard.orderId != null and flowCard.orderId != ''">
             and a.order_id regexp #{flowCard.orderId}
         </if>
@@ -162,8 +165,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) &lt;= #{selectTime2}
 
         <if test="flowCard.order.orderId != null and flowCard.order.orderId != ''">
             and o.order_id regexp #{flowCard.order.orderId}
@@ -263,7 +266,8 @@
                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
@@ -307,7 +311,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">
@@ -352,14 +356,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>
 
     <!--    鏌ヨ宸叉帓鐗堟暟鎹�-->
@@ -413,7 +417,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) &lt;= #{selectTime2}
     </select>
 
     <!--   鏌ヨ瀵瑰簲搴忓彿鐨勫眰鏁�-->
@@ -442,12 +446,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
@@ -469,7 +479,7 @@
                pack_type,
                batch
         from sd.order
-        where create_time between #{selectTime1} and #{selectTime2}
+        where date(create_time)>=#{selectTime1} and date(create_time) &lt;= #{selectTime2}
           and position(#{orderId} in order_id)
           and position(#{project} in project)
           and processing_card >0
@@ -477,15 +487,18 @@
     </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
+        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) &lt;= #{selectTime2}
+          and state >= 20 and o.create_order>0
+        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,
@@ -500,7 +513,6 @@
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
-                      fc.print_status,
                       processed_part                                                   as process
 
                from flow_card as fc
@@ -516,13 +528,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
@@ -541,7 +554,6 @@
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
-                      fc.print_status,
                       processed_part                                                   as process
 
                from flow_card as fc
@@ -579,7 +591,6 @@
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
-                      fc.print_status,
                       processed_part                                                   as process
 
                from flow_card as fc
@@ -594,7 +605,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
@@ -610,7 +621,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">
@@ -642,7 +655,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
@@ -654,17 +706,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,
-               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,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
         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
@@ -678,6 +732,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>
@@ -736,7 +823,7 @@
         (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">
@@ -851,7 +938,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
@@ -974,7 +1061,7 @@
                            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>
@@ -1012,7 +1099,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) &lt;= #{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
@@ -1058,7 +1145,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
@@ -1069,6 +1168,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
@@ -1149,7 +1249,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
@@ -1196,24 +1296,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) &lt;= #{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,
-               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,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
         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
@@ -1226,6 +1328,39 @@
                               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="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)
@@ -1258,7 +1393,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
@@ -1279,7 +1414,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,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,
@@ -1344,7 +1479,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
@@ -1428,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 ogd.order_number = #{orderNumber}
                               and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
@@ -1510,7 +1645,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
@@ -1576,6 +1711,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,
@@ -1807,7 +1943,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
@@ -1821,6 +1969,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
@@ -1994,7 +2143,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
@@ -2014,6 +2163,7 @@
                /*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,
@@ -2044,6 +2194,7 @@
                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,
@@ -2085,7 +2236,19 @@
                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,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
                od.building_number                                    as buildingNumber,
@@ -2114,7 +2277,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
@@ -2153,7 +2317,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,
@@ -2180,7 +2344,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
@@ -2202,16 +2367,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
@@ -2226,11 +2394,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}
@@ -2250,7 +2418,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
@@ -2261,8 +2429,11 @@
     </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">
@@ -2297,7 +2468,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,
@@ -2324,7 +2495,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
@@ -2337,4 +2509,191 @@
         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>
+
+    <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>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0