From 5b4ca677d4064eba9a4adb35f957503b82ba2899 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 12 八月 2024 16:52:11 +0800
Subject: [PATCH] 修改发货编辑显示

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  211 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 183 insertions(+), 28 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 9fc3d0f..9c2d341 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -472,13 +472,15 @@
 
     <select id="selectPrintMp">
         select *
-        from ((select fc.id,
+        from (
+
+        (select fc.id,
                       fc.order_id,
                       fc.process_id,
                       o.customer_name,
                       o.project,
                       ogdss.technology_number,
-                      ogdss.concatenated_glass_child,
+                      ogd.glass_address,
                       ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
                       sum(ogd.total_area)                                              as total_area,
                       # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
@@ -500,13 +502,15 @@
                                           ogds.order_number,
                                           GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
                                           ogds.glass_child                                  AS concatenated_glass_child,
-                                          process                                           AS processed_part
+                                          process                                           AS processed_part,
+                                          ogds.child_width,
+                                          ogds.child_height
                                    from sd.order_glass_detail as ogds
                                    where ogds.order_id = #{orderId}
-                                   GROUP BY order_id, order_number, ogds.glass_child) as ogdss
+                                   GROUP BY order_id, order_number, ogds.glass_child,process,ogds.child_width,ogds.child_height) 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
+               GROUP BY fc.process_id, ogdss.concatenated_glass_child,ogdss.processed_part,ogdss.child_width,ogdss.child_height
                order by fc.process_id, ogdss.technology_number)
 
               UNION
@@ -593,7 +597,7 @@
                order by fc.process_id)) AS combined_results
         where process is not null
           and process != ""
-
+        GROUP BY order_id,process_id,technology_number,process
     </select>
 
     <select id="getPrimaryList">
@@ -637,7 +641,7 @@
     <select id="getDetailList">
         select fc.order_number,
                concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
-               od.quantity,
+               fc.quantity,
                round(ogd.total_area, 2)                                     as total_area,
                od.perimeter,
                od.bend_radius,
@@ -654,10 +658,12 @@
                  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(sort != NULL || sort != '', sort, fc.order_number)
+        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="getProcessList">
@@ -753,15 +759,19 @@
                ogd.child_height,
                fc.quantity,
                ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
-               fc.sort,
-               ogd.glass_child
+               ifnull(fcs.sort,'') as sort,
+               ogd.glass_child,
+               #{process} as process
         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 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})
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
+
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
     </select>
 
     <update id="printSortMp">
@@ -873,7 +883,7 @@
         where fc.process_id = #{processId}
           and fc.technology_number = #{technologyNumber}
         group by od.order_number, width, height
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
+        order by fc.process_id
     </select>
 
     <select id="selectReplenishPrintMp">
@@ -966,7 +976,7 @@
           and pl.technology_number = #{technologyNumber}
           and pl.reporting_work_id = #{reportingWorkId}
         group by od.order_number, width, height
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort)
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
     </select>
 
     <select id="getGlassNumber">
@@ -975,7 +985,7 @@
                  left join flow_card as fc on od.order_id = fc.order_id and od.order_number = fc.order_number
         where fc.process_id = #{processId}
           and fc.technology_number = #{technologyNumber}
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
     </select>
 
     <update id="updatePrintStateMp">
@@ -995,13 +1005,15 @@
                fc.quantity,
                ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
                fc.sort,
-               ogd.process
+               ogd.process,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
         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 fc.order_id = od.order_id and fc.order_number = od.order_number
         where fc.order_id = #{orderId}
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.technology_number)
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.technology_number)
     </select>
 
     <update id="printOrderSortMp">
@@ -1025,7 +1037,8 @@
                round(SUM(ogd.total_area), 2)                   as gross_area,
                sum(od.weight)                                  as weight,
                #{technologyNumber}                             as technologyNumber,
-               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
+               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
+               concat('瀵瑰簲鎴戝徃鍗曞彿',o.batch)                                         AS otherRemarks
         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
@@ -1093,7 +1106,7 @@
     <select id="getDetailListLike">
         select fc.order_number,
                concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
-               od.quantity,
+               fc.quantity,
                round(ogd.total_area, 2)                                     as total_area,
                od.perimeter,
                od.bend_radius,
@@ -1110,10 +1123,12 @@
                  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, fc.technology_number
-        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
     <select id="getPrimaryListMergeRefund">
@@ -1185,7 +1200,7 @@
           and position(fc.technology_number in #{technologyNumber})
           and pl.reporting_work_id = #{reportingWorkId}
         group by fc.process_id, fc.order_number, fc.technology_number
-        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+        order by IF(sort != NULL and sort != '', sort, fc.order_number)
     </select>
 
     <select id="getPrimaryListRefund">
@@ -1205,7 +1220,8 @@
                dd.breakage_type,
                dd.breakage_reason,
                dd.responsible_process,
-               dd.responsible_team
+               dd.responsible_team,
+               concat('瀵瑰簲鎴戝徃鍗曞彿',o.batch)                                         AS otherRemarks
         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
@@ -1265,7 +1281,7 @@
           and position(fc.technology_number in #{technologyNumber})
           and pl.reporting_work_id = #{reportingWorkId}
         group by fc.process_id, fc.order_number, fc.technology_number
-        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+        order by IF(sort != NULL and sort != '', sort, fc.order_number)
     </select>
 
     <select id="getPrimaryListRework">
@@ -1336,7 +1352,7 @@
           and position(fc.technology_number in #{technologyNumber})
           and pl.reporting_work_id = #{reportingWorkId}
         group by fc.process_id, fc.order_number, fc.technology_number
-        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+        order by IF(sort != NULL and sort != '', sort, fc.order_number)
     </select>
 
     <select id="getPrimaryListMergeRework">
@@ -1408,7 +1424,7 @@
           and position(fc.technology_number in #{technologyNumber})
           and pl.reporting_work_id = #{reportingWorkId}
         group by fc.process_id, fc.order_number, fc.technology_number
-        order by IF(sort != NULL || sort != '', sort, fc.order_number)
+        order by IF(sort != NULL or sort != '', sort, fc.order_number)
     </select>
 
     <select id="getPrintCustomDataSemi">
@@ -1465,10 +1481,12 @@
                  left join sd.order_glass_detail ogd
                            on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                               ogd.technology_number = fc.technology_number
+                 left join flow_card_sort as fcs on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and fcs.technology_number = fc.technology_number
+            and fcs.process=#{process}
         where fc.process_id = #{processId}
-          and fc.technology_number = #{technologyNumber}
+          and position(fc.technology_number in #{technologyNumber})
         group by od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number)
+        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
     <select id="selectPrintNotMp">
@@ -1676,6 +1694,143 @@
           and pl.technology_number = #{technologyNumber}
           and pl.reporting_work_id = #{reportingWorkId}
         group by od.order_number, width, height
-        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort)
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
     </select>
+
+    <select id="selectPrintAllMp">
+        select *
+        from ( (select fc.id,
+                       fc.order_id,
+                       fc.process_id,
+                       o.customer_name,
+                       o.project,
+                       ogd.technology_number,
+                       ogd.glass_address,
+                       sum(od.quantity)         as quantity,
+                       sum(ogd.total_area)      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
+                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, ogd.technology_number
+                order by fc.process_id, ogd.technology_number)
+
+                 UNION
+
+                 (select fc.id,
+                         fc.order_id,
+                         fc.process_id,
+                         o.customer_name,
+                         o.project,
+                         ogdss.technology_number,
+                         ogd.glass_address,
+                         ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
+                         sum(ogd.total_area)                                              as total_area,
+                         # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area,
+                         od.product_name,
+                         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
+                           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
+                           left join (select ogds.order_id,
+                                             ogds.order_number,
+                                             GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number,
+                                             ogds.glass_child,
+                                             GROUP_CONCAT(ogds.glass_child SEPARATOR ' ')      AS concatenated_glass_child,
+                                             SUBSTRING(process, LOCATE('澶硅兌', process))       AS processed_part
+                                      from sd.order_glass_detail as ogds
+                                      where ogds.order_id = #{orderId}
+                                        and LOCATE('澶硅兌', ogds.process) > 0
+                                      GROUP BY order_id, order_number, ogds.group) as ogdss
+                                     on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
+                  where fc.order_id = #{orderId}
+                  GROUP BY fc.process_id, ogdss.technology_number
+                  order by fc.process_id)
+                 UNION
+                 (select fc.id,
+                         fc.order_id,
+                         fc.process_id,
+                         o.customer_name,
+                         o.project,
+                         ogdss.technology_number,
+                         ogd.glass_address,
+                         ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
+                         sum(ogd.total_area)                                              as total_area,
+                         od.product_name,
+                         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
+                           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
+                           left join (select ogds.order_id,
+                                             ogds.order_number,
+                                             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
+                                      from sd.order_glass_detail as ogds
+                                               left join sd.order_detail as ods
+                                                         on ods.order_id = ogds.order_id and ods.order_number = ogds.order_number
+                                               left join sd.product_detail as pds on pds.prod_id = ods.product_id and
+                                                                                     pds.glass_sort =
+                                                                                     ogds.technology_number
+                                      where ogds.order_id = #{orderId}
+                                      GROUP BY order_id, order_number) as ogdss
+                                     on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number
+                  where fc.order_id = #{orderId}
+                  GROUP BY fc.process_id
+                  order by fc.process_id)) AS combined_results
+        where process is not null
+          and process != ""
+        GROUP BY order_id,process_id,technology_number,process
+    </select>
+
+    <insert id="printAddSortMp">
+        insert into flow_card_sort (process_id,order_number,technology_number,process,sort,create_time)
+        values (#{processId},#{orderNumber},#{technologyNumber},#{process},#{sort},now())
+    </insert>
+    <select id="printAddSortCountMp">
+        select
+        count(*)
+        from flow_card_sort
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+          and technology_number = #{technologyNumber}
+          and process = #{process}
+    </select>
+    <update id="printUpdateSortMp">
+        update flow_card_sort
+        set sort = #{sort}
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+          and technology_number = #{technologyNumber}
+          and process = #{process}
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0