From dce5f099e76ecfa92ad708a3d5565a67844ceda2 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 25 二月 2025 12:34: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 |  142 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 125 insertions(+), 17 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 2d179a1..95d50cd 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -11,6 +11,7 @@
         <result column="create_time" property="createTime"/>
         <result column="layout_status" property="layoutStatus"/>
         <result column="merge" property="merge"/>
+        <result column="rack" property="rack"/>
         <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
         <association property="order" javaType="com.example.erp.entity.sd.Order">
             <result column="project" property="project"/>
@@ -66,8 +67,9 @@
         c.processing_note,
         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,max(layout_status) as layout_status,create_time,merge from flow_card
+        a.merge,
+        a.rack
+        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
         left join sd.order_detail as c on a.order_Id=c.order_id and a.order_Number=c.order_number
@@ -100,6 +102,9 @@
         </if>
         <if test="flowCard.merge != null">
             and a.merge regexp #{flowCard.merge}
+        </if>
+        <if test="flowCard.rack != null and flowCard.rack != ''">
+            and a.rack regexp #{flowCard.rack}
         </if>
         <if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''">
             and b.customer_name regexp #{flowCard.order.customerName}
@@ -520,7 +525,7 @@
                  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
+          and state >= 20 and (o.create_order>0   or o.create_order is null)
         GROUP BY op.project_no
         order by op.create_time desc
     </select>
@@ -541,7 +546,8 @@
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
-                      processed_part                                                   as process
+                      processed_part                                                   as process,
+                      merge
 
                from flow_card as fc
                         left join sd.order_glass_detail as ogd
@@ -582,7 +588,8 @@
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
-                      processed_part                                                   as process
+                      processed_part                                                   as process,
+                      merge
 
                from flow_card as fc
                         left join sd.order_glass_detail as ogd
@@ -619,7 +626,8 @@
                       ogdss.concatenated_glass_child                                   as glass_child,
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
-                      processed_part                                                   as process
+                      processed_part                                                   as process,
+                      merge
 
                from flow_card as fc
                         left join sd.order_glass_detail as ogd
@@ -669,7 +677,8 @@
                #{technologyNumber}                             as technologyNumber,
                concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
                concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks,
-               ''                                              as qrcode
+               ''                                              as qrcode,
+               ifnull(rack,"")                                  as rack
         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
@@ -738,7 +747,7 @@
                fc.quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
-               if(od.bend_radius!=null,od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,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,
@@ -820,6 +829,13 @@
         where fc.process_id = #{processId}
     </update>
 
+    <!--    澶嶉�夋淇敼娴佺▼鍗″悎鏋�-->
+    <update id="updateProcessCardRack">
+        update flow_card as fc
+        set fc.rack=#{rack}
+        where fc.process_id = #{processId} and fc.technology_number=#{technologyNumber}
+    </update>
+
     <select id="getPrintLabel">
         select o.order_id,
                c.customer_abbreviation as customer_name,
@@ -832,11 +848,13 @@
                ogd.process,
                e.type_name,
                opd.stock_id,
+               opd.polys_id,
                od.quantity,
                od.other_columns,
                od.bend_radius,
                od.order_number as heat_layout_id,
-               a.id as heat_layout_sort
+               a.id 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
                  left join sd.order_detail od
@@ -865,11 +883,14 @@
                ogd.glass_child,
                ogd.process,
                e.type_name,
+               opd.stock_id,
+               opd.polys_id,
                od.quantity,
                od.other_columns,
                od.bend_radius,
                opd.heat_layout_id,
-               opd.heat_layout_sort
+               opd.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
                  left join sd.order_detail od
@@ -1396,7 +1417,7 @@
                fc.quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
-               if(od.bend_radius!=null,od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,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,
@@ -1419,6 +1440,38 @@
         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="getDetailListMerge">
+        select fc.order_number,
+               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,
+               sum(fc.quantity) as quantity,
+               round(ogd.total_area, 2)                                       as total_area,
+               od.perimeter,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,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,
+               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+               od.building_number,
+               fc.merge                                                         as merge
+        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 fc.`merge`=1
+        group by fc.process_id, fc.order_number
         order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
 
@@ -1503,7 +1556,7 @@
                sum(pl.patch_num)                                                 as quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
-               if(od.bend_radius!=null,od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,if(od.shape=2,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,
@@ -1861,7 +1914,8 @@
                date(fc.splitFrame_time) as splitFrame_time,
             /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
                fc.print_status,
-               ogd.process
+               ogd.process,
+               merge
         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
@@ -2082,7 +2136,8 @@
                       date(fc.splitFrame_time)                                                  as splitFrame_time,
                    /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
                       fc.print_status,
-                      ogd.process
+                      ogd.process,
+                      merge
                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
@@ -2111,7 +2166,8 @@
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
                       fc.print_status,
-                      processed_part                                                   as process
+                      processed_part                                                   as process,
+                      merge
 
                from flow_card as fc
                         left join sd.order_glass_detail as ogd
@@ -2149,7 +2205,8 @@
                       fc.founder,
                       date(fc.splitFrame_time)                                         as splitFrame_time,
                       fc.print_status,
-                      processed_part                                                   as process
+                      processed_part                                                   as process,
+                      merge
 
                from flow_card as fc
                         left join sd.order_glass_detail as ogd
@@ -2699,6 +2756,7 @@
                ogd.process,
                e.type_name,
                opd.stock_id,
+               opd.polys_id,
                od.quantity,
                od.other_columns,
                od.bend_radius,
@@ -2765,13 +2823,15 @@
             od.product_name,
             ogd.glass_child,
             fc.patch_state,
-            ogd.process
+            ogd.process,
+            fcd.merge
         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)
+                  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}
         GROUP BY fc.process_id, ogd.technology_number
         order by fc.process_id, ogd.technology_number
@@ -2796,4 +2856,52 @@
     <select id="flowCardToOptimizeCount">
         select count(*) from pp.flow_card where order_id = #{orderId} and engineering_occupancy=1
     </select>
+
+    <select id="getFlowCardDetail" >
+        select
+        a.order_id,
+        a.process_id,
+        a.technology_number,
+        a.order_number,
+        c.product_id,
+        c.product_name,
+        b.project,
+        sum(a.quantity) as quantity,
+        sum(c.compute_gross_area) as compute_gross_area,
+        a.founder,
+        c.processing_note,
+        b.customer_name,
+        a.merge,
+        a.rack
+        from  pp.flow_card 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.process_id regexp #{processId}
+        group by a.process_id,a.technology_number
+
+    </select>
+    
+    <select id="getGlassThicknessByProdutionId">
+        select total_thickness as 'totalThickness',thickness as 'thickness' from sd.product
+        where id = (
+            select distinct b.product_id from sd.order_glass_detail as a
+                    left join sd.order_detail as b
+                    on a.order_id = b.order_id and a.order_number = b.order_number
+                    where a.order_id = #{orderId}
+                    and a.production_id = #{productionId}
+            )
+    </select>
+    
+    <select id="getOrderDetailByProductionId">
+        select * from (select a.*,
+        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
+        left join sd.order_glass_detail as b
+        on a.order_id = b.order_id and a.order_number = b.order_number
+        where a.order_id = #{orderId} and b.production_id = #{productionId}
+        group by a.order_number) as c
+        order by c.`long` desc
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0