From d7b2a85f3df48d65f78672d9e1de6be177e78759 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 11 七月 2024 10:57:35 +0800
Subject: [PATCH] 修改返工数据查询

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |   92 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 88 insertions(+), 4 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 df699b9..7ebb414 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -63,6 +63,7 @@
         sum(c.compute_gross_area) as compute_gross_area,
         a.founder,
         c.processing_note,
+        b.customer_name,
         if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status
         from (select id,order_id,process_id,order_number, quantity,founder,layout_status,create_time from flow_card
         group by process_Id,order_number) as a left join sd.`order` as b on a.order_Id=b.order_id
@@ -93,7 +94,9 @@
         <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '宸叉帓鐗�'">
             and a.layout_status regexp 2
         </if>
-
+        <if test="flowCard.order.customerName != null and flowCard.order.customerName!= ''">
+            and b.customer_name regexp #{flowCard.order.customerName}
+        </if>
         group by a.process_Id
         ORDER BY a.id desc
         limit #{offset},#{pageSize};
@@ -495,6 +498,17 @@
                  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 sd.product as p on p.id=od.product_id
+                 left join (
+            select         ogd.order_id,
+                           ogd.order_number,
+                           ogd.technology_number,
+                           ogd.glass_child,
+                           GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+            from sd.order_glass_detail as ogd
+            where ogd.order_id = left(#{processId},10)
+              and position(ogd.technology_number in #{technologyNumber})
+            GROUP BY order_id, order_number
+        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
         where fc.process_id = #{processId}
           and fc.technology_number = #{technologyNumber}
         group by fc.process_id, fc.technology_number
@@ -507,12 +521,17 @@
                round(ogd.total_area, 2)                                     as total_area,
                od.perimeter,
                od.bend_radius,
-               concat(od.processing_note,od.remarks) as remarks
+               concat(od.processing_note,od.remarks) as remarks,
+               od.other_columns,
+               round(ogd.child_width) as width,
+               round(ogd.child_height) as height,
+               pd.separation
         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
         where fc.process_id = #{processId}
           and fc.technology_number = #{technologyNumber}
         group by fc.process_id, fc.order_number
@@ -551,6 +570,7 @@
                od.width,
                od.height,
                ogd.glass_child,
+               ogd.process,
                e.type_name,
                opd.stock_id,
                od.quantity,
@@ -560,7 +580,7 @@
                  left join sd.order_detail od
                            on SUBSTR(opd.process_id, 1, 10) = od.order_id and opd.order_sort = od.order_number
                  left join sd.order_glass_detail ogd
-                           on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number
+                           on SUBSTR(opd.process_id, 1, 10) = ogd.order_id and opd.order_sort = ogd.order_number and opd.layer=ogd.technology_number
                  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
         where opd.project_no = #{projectNo}
@@ -577,6 +597,7 @@
                od.order_number as orderNumber,
                fc.technology_number as technologyNumber,
                ogd.glass_child,
+               ogd.process,
                c.customer_abbreviation as customer_name,
                ifnull(od.processing_note,'') as processing_note,
                bgt.type_name,
@@ -788,7 +809,70 @@
 
     <update id="updatePrintStateMp">
         update  pp.flow_card
-        set print_status = #{printState}
+        set print_status = print_status+1
         where process_id = #{processId} and technology_number = #{technologyNumber}
     </update>
+
+    <select id="printFlowCardOrderSortMp">
+        SELECT fc.process_id,
+               fc.order_number,
+               fc.technology_number,
+               ogd.glass_address,
+               ogd.child_width,
+               ogd.child_height,
+               fc.quantity,
+               ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area,
+               fc.sort
+        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
+        where fc.order_id=#{orderId}
+        order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.technology_number)
+    </select>
+
+    <update id="printOrderSortMp">
+        update flow_card
+        set sort = #{sort}
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+          and technology_number = #{technologyNumber}
+    </update>
+
+    <select id="getPrimaryListMerge">
+        select o.customer_name,
+               o.project,
+               ogd.process,
+               od.edging_type,
+               ogdc.concatenated_glass_child as glass_child,
+               od.product_name,
+               o.processing_note,
+               fc.process_id,
+               SUM(od.quantity)                                as quantity,
+               round(SUM(ogd.total_area), 2)                   as gross_area,
+               sum(od.weight)                   as weight,
+               #{technologyNumber}                             as technologyNumber,
+               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
+        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.`order` as o on o.order_id = fc.order_id
+                 left join sd.product as p on p.id=od.product_id
+                 left join (
+            select         ogd.order_id,
+                           ogd.order_number,
+                           ogd.technology_number,
+                           ogd.glass_child,
+                           GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+            from sd.order_glass_detail as ogd
+            where ogd.order_id = left(#{processId},10)
+              and position(ogd.technology_number in #{technologyNumber})
+            GROUP BY order_id, order_number
+        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
+        group by fc.process_id, fc.technology_number
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0