From 261698358e2b756a61e992bc1651e01b3f45290b Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 23 十月 2025 16:50:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml |  176 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 145 insertions(+), 31 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
index 960c554..62b8661 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -5,27 +5,39 @@
 
     <select id="selectFlowCard" resultType="java.util.Map">
         select fc.order_number,
-               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
-               od.quantity,
-               round(ogd.total_area, 2)                                     as total_area,
-               od.perimeter,
-               od.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
-        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 position(fc.technology_number in #{technologyNumber})
-        group by fc.process_id, fc.order_number, fc.technology_number
+        concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+        od.quantity,
+        round(ogd.total_area, 2) as total_area,
+        od.perimeter,
+        od.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
+        <if test="technologyNumber != 0">
+            ,fc.technology_number
+        </if>
+        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 = 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}
+        <if test="technologyNumber != 0">
+            and a.layer = #{technologyNumber}
+        </if>
+        <if test="technologyNumber != 0">
+            and position(fc.technology_number in #{technologyNumber})
+        </if>
+        <if test="technologyNumber != 0">
+            group by fc.process_id, fc.order_number, fc.technology_number
+        </if>
+        <if test="technologyNumber == 0">
+            group by fc.process_id, fc.order_number
+        </if>
         order by IF(sort != NULL || sort != '', sort, fc.order_number)
 
     </select>
@@ -33,19 +45,27 @@
     <select id="selectProject" resultType="java.util.Map">
         select o.customer_name,
                o.project,
-               (select process from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as process ,
+               (select process
+                from sd.order_glass_detail
+                where order_id = fc.order_id
+                  and order_number = fc.order_number
+                  and technology_number = fc.technology_number) as process,
                od.edging_type,
-               (select glass_child from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as glass_child ,
+               (select glass_child
+                from sd.order_glass_detail
+                where order_id = fc.order_id
+                  and order_number = fc.order_number
+                  and technology_number = fc.technology_number) 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,
-               1                            as technologyNumber,
-               concat(fc.process_id, '/', 1) as processIdNumber,
-               concat('瀵瑰簲鎴戝徃鍗曞彿',o.batch)                                         AS otherRemarks
-        from flow_card as fc
+               SUM(od.quantity)                                 as quantity,
+               round(SUM(ogd.total_area), 2)                    as gross_area,
+               sum(od.weight)                                   as weight,
+               1                                                as technologyNumber,
+               concat(fc.process_id, '/', 1)                    as processIdNumber,
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                        AS otherRemarks
+        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
@@ -58,7 +78,8 @@
                                    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)
+                            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
@@ -68,6 +89,99 @@
         group by fc.process_id
     </select>
 
+    <select id="selectLabel" resultType="java.util.Map">
+        select fc.process_id,
+               o.order_id,
+               o.project,
+               o.customer_id,
+               ogd.child_width                as width,
+               ogd.child_height               as height,
+               od.quantity,
+               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,
+               od.other_columns,
+               od.building_number,
+               od.bend_radius
+        from sd.order as o
+                 left join sd.order_detail as od on o.order_id = od.order_id
+                 left join sd.order_glass_detail as ogd
+                           on ogd.order_id = od.order_id and ogd.order_number = od.order_number
+                 left join pp.flow_card as fc on o.order_id = fc.order_id and
+                                                 od.order_number = fc.order_number and
+                                                 fc.technology_number = ogd.technology_number
+                 left join sd.product pt on pt.id = od.product_id
+                 left join sd.customer c on c.id = o.customer_id
+                 left join sd.basic_glass_type bgt on bgt.type_id = pt.type_id
+        where fc.process_id = #{processId}
+          and fc.technology_number = #{technologyNumber}
+        group by od.order_number, od.width, od.height
+    </select>
 
+    <select id="flowCardReportForms" resultType="com.mes.pp.entity.dto.FlowCardDTO">
+        select a.product_name,
+               b.glass_child,
+               d.order_type,
+               concat(c.process_id, '/', c.technology_number)                   as process_id,
+               c.order_number,
+               c.technology_number,
+               a.width,
+               a.height,
+               c.quantity,
+               e.reportWorkQuantity,
+               e.reportWorkQuantityCount,
+               e.reportWorkTime,
+               e.brokenNum ,
+               ifnull(f.inventory, 0)                                           as inventory,
+               round(ifnull(f.inventory, 0) * a.area, 2)                        as inventoryArea,
+               ifnull(dd.quantity, 0)                                           as shippedQuantity,
+               ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')), '') AS glassNumber
+        from pp.flow_card as c
+                 left join
+             sd.order_detail as a
+             on c.order_id = a.order_id
+                 and c.order_number = a.order_number
+                 left join sd.order_glass_detail as b
+                           on c.order_id = b.order_id
+                               and b.order_number = c.order_number
+                               and c.technology_number = b.technology_number
+                 left join sd.`order` as d
+                           on c.order_id = d.order_id
+                 left join mm.finished_goods_inventory as f
+                           on c.order_id = f.order_id and f.order_number = c.order_number
+                 left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
+                 left join (SELECT process_id,
+                                   order_number,
+                                   technology_number,
+                                   ifnull(sum(a.broken_num),0) as brokenNum,
+                                   concat('{',
+                                          GROUP_CONCAT(concat('"', process, '":"', reporting_work_num, '"')),
+                                          '}'
+                                       )             as reportWorkQuantity,
+                                   concat('{',
+                                          GROUP_CONCAT(concat('"', process, '":"', reporting_work_num_count, '"')),
+                                          '}'
+                                       )             as reportWorkQuantityCount,
+                                   concat('{',
+                                          GROUP_CONCAT(concat('"', process, '":"', '"')),
+                                          '}'
+                                       )             as reportWorkTime
+                            FROM sd.order_process_detail as a
+                            where a.order_id = #{orderId}
+                            GROUP BY process_id, a.order_number, a.technology_number) as e
+                           on e.process_id = c.process_id
+                               and e.technology_number = c.technology_number
+                               and e.order_number = c.order_number
+        where a.order_id = #{orderId}
+          and d.create_order > 0
+        group by c.order_number,
+                 c.technology_number,
+                 c.process_id
+        order by c.process_id, c.order_number, c.technology_number
+    </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0