From 10a26b9b670efef0a2adba675c794c539846aa3c Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 06 九月 2024 10:18:10 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |   95 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 64 insertions(+), 31 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 6996202..6dab8b2 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -195,15 +195,17 @@
                ogd.production_id,
                od.product_id,
                od.product_name,
-               SUM(od.quantity)            as quantity,
+               ROUND(SUM(od.quantity)-IFNULL(sum(fc.quantity)/count(fc.technology_number),0))            as quantity,
                SUM(od.compute_gross_area)  as compute_gross_area,
                round(sum(od.perimeter), 2) as perimeter
         from sd.order_detail as od
                  left join
-             (select order_id, order_number, production_id, splitting_status
+             (select order_id, order_number,technology_number, production_id, splitting_status
               from sd.order_glass_detail
               GROUP BY order_id, order_number) as ogd
              on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+                 left join flow_card as fc on fc.order_id = od.order_id and fc.order_number = od.order_number
+            and fc.technology_number=ogd.technology_number
         where od.order_id = #{orderId}
           and ogd.splitting_status = 0
 
@@ -241,12 +243,13 @@
                od.quantity,
                od.compute_gross_area,
                p.total_thickness,
-               od.quantity           as baiscQuantity,
+               ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0))           as baiscQuantity,
                od.compute_gross_area as 'computeGrossArea',
                p.total_thickness     AS 'totalThickness',
                p.thickness,
                od.weight,
                od.remarks,
+               od.bend_radius,
                ods.S01,
                ods.S02,
                ods.S03,
@@ -266,6 +269,8 @@
                             FROM sd.order_detail
                             WHERE order_id = #{orderId}) as ods
                            on ods.order_id = od.order_id and ods.order_number = od.order_number
+                 left join flow_card as fc on fc.order_id = od.order_id and fc.order_number = od.order_number
+                           and fc.technology_number=ogd.technology_number
         where od.order_id = #{orderId}
           and ogd.production_id = #{productionId}
           and ogd.splitting_status = 0
@@ -480,8 +485,8 @@
                       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,
+                      # sum(ogd.total_area)                                              as total_area,
+                      ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000/(count(DISTINCT fc.technology_number)),2) as total_area,
                       od.product_name,
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
@@ -505,12 +510,10 @@
                                           ogds.child_height
                                    from sd.order_glass_detail as ogds
                                    where ogds.order_id = #{orderId}
-                                   GROUP BY order_id, order_number, ogds.glass_child, process, ogds.child_width,
-                                            ogds.child_height) 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, ogdss.processed_part, ogdss.child_width,
-                        ogdss.child_height
+               GROUP BY fc.process_id, ogdss.concatenated_glass_child, ogdss.processed_part
                order by fc.process_id, ogdss.technology_number)
 
               UNION
@@ -523,8 +526,8 @@
                       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,
+                     #  sum(ogd.total_area)                                              as total_area,
+                      ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000/(count(DISTINCT fc.technology_number)),2) as total_area,
                       od.product_name,
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
@@ -562,7 +565,7 @@
                       ogdss.technology_number,
                       ogd.glass_address,
                       ROUND(sum(fc.quantity) / (count(DISTINCT fc.technology_number))) as quantity,
-                      sum(ogd.total_area)                                              as total_area,
+                      ROUND(SUM(ogd.child_width*ogd.child_height*fc.quantity)/1000000/(count(DISTINCT fc.technology_number)),2) as total_area,
                       od.product_name,
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
@@ -736,7 +739,9 @@
                opd.stock_id,
                od.quantity,
                od.other_columns,
-               od.bend_radius
+               od.bend_radius,
+               opd.heat_layout_id,
+               opd.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
@@ -757,7 +762,7 @@
                o.customer_id,
                ogd.child_width                as width,
                ogd.child_height               as height,
-               od.quantity,
+               fc.quantity,
                od.order_number                as orderNumber,
                fc.technology_number           as technologyNumber,
                ogd.glass_child,
@@ -881,13 +886,13 @@
                od.processing_note                                    as processingNote,
                width,
                height,
-               od.quantity,
+               fc.quantity,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
                od.building_number                                    as buildingNumber,
                od.product_name                                       as productName,
                od.edging_type                                        as edgingType,
-               p.remarks,
+               od.remarks,
                c.customer_abbreviation                               as customerAbbreviation,
                p.product_abbreviation                                as productAbbreviation,
                fc.process_id                                         as processId,
@@ -943,7 +948,9 @@
                od.product_name,
                ogd.glass_child,
                fc.print_status,
-               pl.reporting_work_id
+               pl.reporting_work_id,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                AS glassNumber
+
         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
@@ -1021,7 +1028,8 @@
         from sd.order_detail as od
                  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}
+          and POSITION(fc.technology_number in #{technologyNumber})
+        GROUP BY other_columns
         order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
     </select>
 
@@ -1125,7 +1133,8 @@
                pl.rework_processes,
                od.product_name,
                ogd.glass_child,
-               pl.reporting_work_id
+               pl.reporting_work_id,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber
         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
@@ -1136,7 +1145,7 @@
                                            pl.order_sort = fc.order_number and
                                            pl.technology_number = fc.technology_number
         where pl.create_time between #{selectTime1} and #{selectTime2}
-        GROUP BY fc.process_id, ogd.technology_number, pl.reporting_work_id
+        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>
 
@@ -1215,7 +1224,7 @@
     <select id="getDetailListRefund">
         select fc.order_number,
                concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
-               (pl.patch_num)                                                 as quantity,
+               sum(pl.patch_num)                                                 as quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
                od.bend_radius,
@@ -1260,7 +1269,9 @@
                dd.breakage_reason,
                dd.responsible_process,
                dd.responsible_team,
-               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks,
+               dd.responsible_personnel,
+               #{mergeTechnologyNumber} as  mergeTechnologyNumber
         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
@@ -1341,7 +1352,8 @@
                dd.breakage_reason,
                dd.responsible_process,
                dd.responsible_team,
-               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks,
+               dd.responsible_personnel
         from flow_card as fc
                  left join sd.order_glass_detail as ogd
                            on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -1496,13 +1508,13 @@
                od.processing_note                                    as processingNote,
                round(ogd.child_width)                                as width,
                round(ogd.child_height)                               as height,
-               od.quantity,
+               fc.quantity,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
                od.building_number                                    as buildingNumber,
                od.product_name                                       as productName,
                od.edging_type                                        as edgingType,
-               p.remarks,
+               od.remarks,
                c.customer_abbreviation                               as customerAbbreviation,
                p.product_abbreviation                                as productAbbreviation,
                CONCAT(fc.process_id, '/', fc.technology_number)      as processId,
@@ -1536,7 +1548,7 @@
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
           and position(fc.technology_number in #{technologyNumber})
-        group by od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
+        group by fc.process_id,od.order_number, ogd.technology_number, ogd.child_width, ogd.child_height
         order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
@@ -1549,8 +1561,8 @@
                fc.order_number,
                ogd.technology_number,
                ogd.glass_address,
-               sum(od.quantity)         as quantity,
-               sum(ogd.total_area)      as total_area,
+               sum(fc.quantity)                                                          as quantity,
+               round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
                od.product_name,
                ogd.glass_child,
                fc.founder,
@@ -1976,13 +1988,13 @@
                od.processing_note                                    as processingNote,
                width,
                height,
-               od.quantity,
+               fc.quantity,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
                od.building_number                                    as buildingNumber,
                od.product_name                                       as productName,
                od.edging_type                                        as edgingType,
-               p.remarks,
+               od.remarks,
                c.customer_abbreviation                               as customerAbbreviation,
                p.product_abbreviation                                as productAbbreviation,
                fc.process_id                                         as processId,
@@ -2014,7 +2026,7 @@
                               ogd.technology_number = fc.technology_number
         where fc.process_id = #{processId}
           and fc.order_number = #{orderNumber}
-        group by fc.process_id, od.order_number, width, height
+        group by od.order_number, width, height
         order by fc.process_id
     </select>
 
@@ -2073,4 +2085,25 @@
                        GROUP BY od.order_number
                        order by fc.process_id desc LIMIT 1),'') as process_id
     </select>
+
+    <select id="selectFlowCardMerge">
+        select *
+        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
+                              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
+        where fc.process_id = #{processId}
+        GROUP BY fc.order_id, fc.process_id, ogd.glass_child
+    </select>
+
+    <update id="updateFlowCardMerge">
+        update  pp.flow_card fc set fc.merge=1
+        where fc.process_id = #{processId}
+    </update>
+
+    <delete id="deleteflowCardSort">
+        delete from flow_card_sort where process_id = #{processId}
+    </delete>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0