From a00a32e331bbf32ebaf6850150977204d9de381a Mon Sep 17 00:00:00 2001
From: 于杰 <1210123631@qq.com>
Date: 星期一, 04 八月 2025 14:44:52 +0800
Subject: [PATCH] 修改每次修变量,由0.1改为1

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  132 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 116 insertions(+), 16 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 e387333..4ebb66f 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -619,7 +619,7 @@
                                    left join sd.basic_data as bd on bd.nickname='stepC'
                                    where ogds.order_id = #{orderId}
                                      and LOCATE(bd.basic_name, ogds.process) > 0
-                                   GROUP BY order_id, order_number, ogds.group) as ogdss
+                                   GROUP BY order_id, order_number, ogds.group,bd.basic_name) 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.technology_number
@@ -662,7 +662,7 @@
                                                                                   ogds.technology_number
                                             left join sd.basic_data as bd on bd.nickname='stepD'
                                    where ogds.order_id = #{orderId}
-                                   GROUP BY order_id, order_number) as ogdss
+                                   GROUP BY order_id, order_number,bd.basic_name) 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
@@ -670,7 +670,7 @@
         where process is not null
           and process != ""
         GROUP BY order_id, process_id, technology_number, process
-        order by order_id, process_id, length(technology_number)) as result
+        order by order_id, process_id, length(technology_number),technology_number) as result
         LEFT JOIN (SELECT * from flow_card GROUP BY process_id,technology_number) as fcc
         on result.process_id = fcc.process_id and result.technology_number = fcc.technology_number
     </select>
@@ -678,6 +678,7 @@
     <select id="getPrimaryList">
         select o.customer_name,
                o.project,
+               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
                #{process}                                         process,
                od.edging_type,
                #{glassChild}                                   as glass_child,
@@ -718,6 +719,7 @@
     <select id="getPrimaryLists">
         select o.customer_name,
                o.project,
+               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
                #{process}                                         process,
                od.edging_type,
                #{glassChild}                                   as glass_child,
@@ -760,7 +762,7 @@
                fc.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,
+        if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -817,7 +819,7 @@
                fc.quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
-               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -1027,7 +1029,7 @@
                ogd.glass_child,
                #{process}                                                           as process,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                AS glassNumber,
-               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius
         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
@@ -1140,6 +1142,7 @@
                c.customer_abbreviation                               as customerAbbreviation,
                p.product_abbreviation                                as productAbbreviation,
                fc.process_id                                         as processId,
+               SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
                o.create_time                                         as createTime,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
@@ -1207,6 +1210,7 @@
                c.customer_abbreviation                               as customerAbbreviation,
                p.product_abbreviation                                as productAbbreviation,
                fc.process_id                                         as processId,
+               SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
                o.create_time                                         as createTime,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
@@ -1244,6 +1248,7 @@
                fc.process_id,
                o.customer_name,
                o.project,
+               o.batch,
                fc.order_number,
                ogd.technology_number,
                ogd.glass_address,
@@ -1319,6 +1324,11 @@
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
                p.remarks                                             as filmNumber,
                od.bend_radius                                        as bendRadius,
+               CONCAT(
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+                       ' = ',pl.patch_num )      as size,
                CONCAT(
                        od.order_number,')      ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width   AS CHAR))),
@@ -1401,6 +1411,7 @@
     <select id="getPrimaryListMerge">
         select o.customer_name,
                o.project,
+               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
                ogd.process,
                od.edging_type,
                ogdc.concatenated_glass_child                   as glass_child,
@@ -1474,7 +1485,8 @@
                                            pl.order_sort = fc.order_number and
                                            pl.technology_number = fc.technology_number
         where  date(pl.create_time)>=#{selectTime1} and date(pl.create_time) &lt;= #{selectTime2}
-        GROUP BY fc.process_id,fc.order_number, ogd.technology_number, pl.reporting_work_id
+        GROUP BY fc.process_id,fc.order_number, ogd.technology_number, pl.reporting_work_id,pl.rework_type,
+            pl.rework_reason
         order by pl.id desc, fc.process_id, ogd.technology_number
     </select>
 
@@ -1484,7 +1496,7 @@
                fc.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,
+        if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -1540,7 +1552,7 @@
                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,
+        if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -1596,7 +1608,7 @@
                count(*) as quantity,
                round(ogd.child_width*ogd.child_height*count(*)/1000000, 2)                                       as total_area,
                round((ogd.child_width+ogd.child_height)*2*count(*)/1000, 2)    as perimeter,
-               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -1671,7 +1683,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!='',od.bend_radius,if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),'')) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -1704,6 +1716,7 @@
     <select id="getPrimaryListRefund">
         select o.customer_name,
                o.project,
+               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
                ogd.process,
                od.edging_type,
                ogd.glass_child,
@@ -1789,6 +1802,7 @@
     <select id="getPrimaryListRework">
         select o.customer_name,
                o.project,
+               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
                ogd.process,
                od.edging_type,
                ogd.glass_child,
@@ -1845,7 +1859,7 @@
                (pl.rework_num)                                              as quantity,
                round(ogd.total_area, 2)                                     as total_area,
                od.perimeter,
-               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+               if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04'))) as bend_radius,
                concat(od.processing_note, od.remarks)                       as remarks,
                od.other_columns,
                round(ogd.child_width)                                       as width,
@@ -1993,6 +2007,11 @@
                ogd.glass_child                                       as glassChild,
                ogd.glass_address                                     as glassAddress,
                JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
+               CONCAT(
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height AS CHAR))),
+                       ' = ',fc.quantity )      as size,
                CONCAT(
                        od.order_number,')      ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
@@ -2222,6 +2241,11 @@
                ogd.glass_address                                     as glassAddress,
                JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
                CONCAT(
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_height AS CHAR))),
+                       ' = ',pl.patch_num )      as size,
+               CONCAT(
                        od.order_number,')      ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
                        ' X ',
@@ -2402,6 +2426,7 @@
 
     <select id="getPrimaryListLimt">
         select o.customer_name,
+               if(o.batch!="",CONCAT(o.project,'(',o.batch,')'),o.project) as projectBatch,
                o.project,
                #{process}                                         process,
                od.edging_type,
@@ -2629,6 +2654,7 @@
             c.customer_abbreviation                               as customerAbbreviation,
             p.product_abbreviation                                as productAbbreviation,
             fc.process_id                                 as processId,
+            SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
             o.create_time                                         as createTime,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
@@ -2789,6 +2815,7 @@
             c.customer_abbreviation                               as customerAbbreviation,
             p.product_abbreviation                                as productAbbreviation,
             fc.process_id                                 as processId,
+            SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
             o.create_time                                         as createTime,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
@@ -2851,6 +2878,7 @@
             c.customer_abbreviation                               as customerAbbreviation,
             p.product_abbreviation                                as productAbbreviation,
             fc.process_id                                 as processId,
+            SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
             o.create_time                                         as createTime,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
@@ -3142,11 +3170,16 @@
                        ' = ',#{printQuantity} )      as size,
 
                CONCAT(
-                   od.order_number,')  ',
-                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+                       od.order_number,')      ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width   AS CHAR))),
                        ' X ',
-                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height    AS CHAR))),
                        ' = ',#{printQuantity} )      as numberSize,
+               CONCAT(
+                       od.order_number,')','   ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width   AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height    AS CHAR))))      as numberSizeQuantity,
             od.order_number                                       as orderNumber,
             ogd.technology_number                                  as technologyNumber,
             od.building_number                                    as buildingNumber,
@@ -3156,6 +3189,7 @@
             c.customer_abbreviation                               as customerAbbreviation,
             p.product_abbreviation                                as productAbbreviation,
             ''                                         as processId,
+            SUBSTRING(fc.process_id,12  )                                        as processIdAD ,/*-娴佺▼鍗$畝鍐�-*/
             o.create_time                                         as createTime,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
             JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
@@ -3257,7 +3291,7 @@
         SUM(fc.quantity) as quantity,
         round(SUM(ogd.total_area), 2)                                       as total_area,
         SUM(od.perimeter) as 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,
+        if(od.bend_radius!=null || od.bend_radius!='',od.bend_radius,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,
@@ -3410,6 +3444,11 @@
                ogd.glass_address                                     as glassAddress,
                JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
                CONCAT(
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+                       ' = ',fc.quantity )      as size,
+               CONCAT(
                        od.order_number,')      ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
                        ' X ',
@@ -3444,4 +3483,65 @@
         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>
+
+    <select id="getLayoutStatus">
+        select max(layout_status) from flow_card where process_id= #{processId}
+    </select>
+
+    <select id="selectSortingCardMp">
+        select od.order_number,
+               od.order_number       AS 'orderNumber',
+                od.width,
+               od.height,
+               od.shape,
+               od.quantity,
+               od.compute_gross_area,
+               p.total_thickness,
+               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,
+               od.weight,
+               od.remarks,
+               od.processing_note,
+               ifnull(od.bend_radius,'') as bend_radius,
+               ods.S01,
+               ods.S02,
+               ods.S03,
+               ods.S04,
+               ods.S05,
+               od.building_number
+        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_id = p.id
+                 left join (SELECT order_id,
+                                   order_number,
+                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
+                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S02')) AS S02,
+                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S03')) AS S03,
+                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')) AS S04,
+                                   JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')) AS S05
+                            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
+        GROUP BY od.order_number
+        <if test="optionVal == 0 and flashback == 1">
+            ORDER BY od.width ASC, od.height ASC
+        </if>
+        <if test="optionVal == 0 and flashback == 0">
+            ORDER BY od.width DESC, od.height DESC
+        </if>
+        <if test="optionVal == 1 and flashback == 1">
+            ORDER BY od.height ASC, od.width ASC
+        </if>
+        <if test="optionVal == 1 and flashback == 0">
+            ORDER BY od.height DESC, od.width DESC
+        </if>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0