From 7aac0b821663de152ef665a030ebbef1d34b41f2 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 16 四月 2025 11:31:20 +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 |   87 ++++++++++++++++++++++++++++---------------
 1 files changed, 56 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 aff91d4..2ef6b1d 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -68,7 +68,8 @@
         b.customer_name,
         if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
         a.merge,
-        a.rack
+        a.rack,
+        b.batch
         from (select id,order_id,process_id,order_number, quantity,founder,max(layout_status) as layout_status,create_time,max(merge) as merge,rack from flow_card
         group by process_Id,order_number) as a
         left join sd.`order` as b on a.order_Id=b.order_id
@@ -207,26 +208,36 @@
 
     <!--    鍒嗘灦鏄庣粏鏌ヨ-->
     <select id="detailsSelectMp">
-        select od.order_id,
-               ogd.production_id,
-               od.product_id,
-               od.product_name,
-               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,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
+        SELECT
+            od.order_id,
+            ogd.production_id,
+            od.product_id,
+            od.product_name,
+            ROUND(SUM(od.quantity) - IFNULL(SUM(fc.quantity) / fc.layers_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,
+                   technology_number
+            FROM sd.order_glass_detail
+            GROUP BY order_id, order_number, production_id, splitting_status
+        ) AS ogd
+                           ON od.order_id = ogd.order_id
+                               AND od.order_number = ogd.order_number
+                 LEFT JOIN (
+            SELECT order_id, order_number, technology_number, SUM(quantity) AS quantity, layers_number
+            FROM flow_card
+            GROUP BY order_id, order_number, technology_number
+        ) 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
+        GROUP BY od.order_id, ogd.production_id, od.product_id, od.product_name
+        ORDER BY od.order_id DESC;
 
-        group by od.order_id, ogd.production_id
-        order by od.id desc
     </select>
 
     <!--    鏇存柊鍒嗘灦鐘舵��-->
@@ -272,7 +283,7 @@
                od.quantity,
                od.compute_gross_area,
                p.total_thickness,
-               ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0))           as baiscQuantity,
+               ROUND(od.quantity-IFNULL(sum(fc.quantity)/fc.layers_number,0))           as baiscQuantity,
                od.compute_gross_area as 'computeGrossArea',
                p.total_thickness     AS 'totalThickness',
                ifnull(p.thickness,'') as thickness,
@@ -289,7 +300,7 @@
         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
-                 left join sd.product as p on od.product_name = p.product_name
+                 left join sd.product as p on od.product_id = p.id
                  left join (SELECT order_id,
                                    order_number,
                                    JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
@@ -520,7 +531,7 @@
     </select>
 
     <select id="selectPrintFlowCard">
-        select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum
+        select op.project_no,glass_total,glass_total_area,labelPrintNum,processPrintNum,glass_type,glass_thickness
         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
@@ -842,18 +853,18 @@
                o.project,
                od.building_number,
                od.processing_note,
-               ogd.child_width         as width,
-               ogd.child_height        as height,
+               opd.o_width         as width,
+               opd.o_height        as height,
                ogd.glass_child,
                ogd.process,
                e.type_name,
                opd.stock_id,
                opd.polys_id,
-               od.quantity,
+               IFNULL(od.quantity,1) as quantity,
                od.other_columns,
                od.bend_radius,
-               od.order_number as heat_layout_id,
-               a.id as heat_layout_sort,
+               ifnull(od.order_number,0) as heat_layout_id,
+               ifnull(a.id,0) as heat_layout_sort,
                od.product_name
         from pp.optimize_detail opd
                  left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id
@@ -901,7 +912,7 @@
                  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
-        where opd.project_no = #{projectNo}
+        where opd.project_no = #{projectNo} and o.order_id is not null
         order by opd.heat_layout_id, opd.heat_layout_sort desc
     </select>
 
@@ -2779,7 +2790,7 @@
                  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}
+        where opd.project_no = #{projectNo} and o.order_id is not null
         group by  order_id,od.order_number
         order by ogd.child_width desc,ogd.child_height desc
     </select>
@@ -2836,7 +2847,7 @@
                   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)
                   left join pp.`flow_card` as fcd on fcd.process_id=fc.process_id and fcd.technology_number=ogd.technology_number and fcd.order_number=od.order_number
-        where fc.project_no = #{printProject}
+        where fc.project_no = #{printProject} and fc.process_id is not null and fc.process_id!=""
         GROUP BY fc.process_id, ogd.technology_number
         order by fc.process_id, ogd.technology_number
     </select>
@@ -2900,6 +2911,7 @@
     <select id="getOrderDetailByProductionId">
         select * from (select a.*,
                               a.quantity as 'baiscQuantity',
+                              #{glassThickness} as 'thickness',
         IF(a.height >= a.width, a.height, a.width) as 'long',
         IF(a.height &lt; a.width, a.height, a.width) as 'short'
         from sd.order_detail as a
@@ -3045,4 +3057,17 @@
         where process_id = #{processId}
           and order_number = #{orderNumber}
     </select>
+
+    <select id="getOrderIdByProcessId">
+        select order_id from pp.flow_card  where process_id = #{processId} limit 1;
+    </select>
+
+    <select id="flowCardDetailMergeMp">
+        select merge from pp.flow_card where process_id = #{processId}  group by id ORDER BY merge desc LIMIT 1
+    </select>
+
+    <update id="updateFlowCardIsMerge">
+        update  pp.flow_card fc set fc.merge=0
+        where fc.process_id = #{processId}
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0