From 4aff3b8d0640e9a84f7408100551e740bacaa2a0 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 09 八月 2024 11:24:28 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  201 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 177 insertions(+), 24 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..efc9339 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,
@@ -503,10 +505,10 @@
                                           process                                           AS processed_part
                                    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) 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
                order by fc.process_id, ogdss.technology_number)
 
               UNION
@@ -593,7 +595,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">
@@ -654,10 +656,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)
+        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
     <select id="getProcessList">
@@ -753,15 +757,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 +881,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 +974,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 +983,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 +1003,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 +1035,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
@@ -1110,10 +1121,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 +1198,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 +1218,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 +1279,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 +1350,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 +1422,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 +1479,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 +1692,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