From ce06fcc3113dc45647910deef0e4adeaa97bfa3f Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 15 十月 2025 13:32:40 +0800
Subject: [PATCH] 语言修改

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  575 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 499 insertions(+), 76 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 2a27f06..8541123 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -12,6 +12,7 @@
         <result column="layout_status" property="layoutStatus"/>
         <result column="merge" property="merge"/>
         <result column="rack" property="rack"/>
+        <result column="compute_gross_area" property="computeGrossArea"/>
         <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
         <association property="order" javaType="com.example.erp.entity.sd.Order">
             <result column="project" property="project"/>
@@ -24,6 +25,8 @@
             <result column="salesman" property="salesman"/>
             <result column="processing_note" property="processingNote"/>
             <result column="delivery_address" property="deliveryAddress"/>
+            <result column="create_time" property="createTime"/>
+            <result column="update_time" property="updateTime"/>
         </association>
         <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
             <result column="product_id" property="productId"/>
@@ -31,7 +34,6 @@
             <result column="compute_gross_area" property="computeGrossArea"/>
             <result column="processing_note" property="processingNote"/>
             <result column="quantity" property="quantity"/>
-            <result column="compute_gross_area" property="computeGrossArea"/>
             <result column="perimeter" property="perimeter"/>
             <result column="order_number" property="orderNumber"/>
             <result column="width" property="width"/>
@@ -55,6 +57,75 @@
 
     <!--    娴佺▼鍗$鐞嗘煡璇�-->
     <select id="selectFlowCard" resultMap="flowCardMap">
+        select
+        a.order_Id,
+        a.process_Id,
+        c.product_id,
+        c.product_name,
+        b.project,
+        sum(a.quantity) as quantity,
+        sum(a.quantity) * c.area as compute_gross_area,
+        a.founder,
+        c.processing_note,
+        b.customer_name,
+        layout_status as layout_status,
+        a.merge,
+        a.rack,
+        b.batch,
+        b.create_time,
+        b.update_time
+        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
+        where date(a.create_time)>=#{selectTime1} and date(a.create_time) &lt;= #{selectTime2}
+        and b.create_order>0
+        <if test="flowCard.orderId != null and flowCard.orderId != ''">
+            and a.order_id regexp #{flowCard.orderId}
+        </if>
+        <if test="flowCard.processId != null and flowCard.processId != ''">
+            and a.process_Id regexp #{flowCard.processId}
+        </if>
+        <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
+            and c.product_id regexp #{flowCard.orderDetail.productId}
+        </if>
+        <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
+            and c.product_name regexp #{flowCard.orderDetail.productName}
+        </if>
+
+        <if test="flowCard.order.project != null and flowCard.order.project!= ''">
+            and b.project regexp #{flowCard.order.project}
+        </if>
+        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '涓嶅彲鎺掔増'">
+            and a.layout_status regexp 0
+        </if>
+        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '鍙帓鐗�'">
+            and a.layout_status regexp 1
+        </if>
+        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '宸叉帓鐗�'">
+            and a.layout_status regexp 2
+        </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}
+        </if>
+        group by a.process_Id
+        ORDER BY a.id desc
+        limit #{offset},#{pageSize};
+    </select>
+
+
+    <select id="getPageTotal">
+        SELECT SUM(quantity) as quantity,
+               SUM(compute_gross_area) as computeGrossArea,
+               CEILING(count(fcd.process_Id)/100) as 'pageTotal',
+               count(distinct fcd.process_Id) as 'total'
+        from (
         select
         a.order_Id,
         a.process_Id,
@@ -112,49 +183,7 @@
         </if>
         group by a.process_Id
         ORDER BY a.id desc
-        limit #{offset},#{pageSize};
-    </select>
-
-
-    <select id="getPageTotal">
-        select
-        CEILING(count(a.process_Id)/#{pageSize}) as 'pageTotal',
-        count(distinct a.process_Id) as 'total'
-        from flow_card 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
-        where date(a.create_time)>=#{selectTime1} and date(a.create_time) &lt;= #{selectTime2}
-        and b.create_order>0
-        <if test="flowCard.orderId != null and flowCard.orderId != ''">
-            and a.order_id regexp #{flowCard.orderId}
-        </if>
-        <if test="flowCard.processId != null and flowCard.processId != ''">
-            and a.process_Id regexp #{flowCard.processId}
-        </if>
-        <if test="flowCard.orderDetail.productId != null and flowCard.orderDetail.productId != ''">
-            and c.product_id regexp #{flowCard.orderDetail.productId}
-        </if>
-        <if test="flowCard.orderDetail.productName != null and flowCard.orderDetail.productName!= ''">
-            and c.product_name regexp #{flowCard.orderDetail.productName}
-        </if>
-
-        <if test="flowCard.order.project != null and flowCard.order.project!= ''">
-            and b.project regexp #{flowCard.order.project}
-        </if>
-        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '涓嶅彲鎺掔増'">
-            and a.layout_status regexp 0
-        </if>
-        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '鍙帓鐗�'">
-            and a.layout_status regexp 1
-        </if>
-        <if test="flowCard.layoutStatus != null and flowCard.layoutStatus != '' and  flowCard.layoutStatus == '宸叉帓鐗�'">
-            and a.layout_status regexp 2
-        </if>
-        <if test="flowCard.merge != null">
-            and a.merge regexp #{flowCard.merge}
-        </if>
-
-        ORDER BY a.id desc
-        limit #{offset},#{pageSize};
+        ) as fcd
     </select>
 
     <!--鍒嗘灦鏌ヨ-->
@@ -279,6 +308,8 @@
                od.order_number       AS 'orderNumber',
                od.width,
                od.height,
+               GREATEST(od.width, od.height) AS longSide,   -- 闀胯竟
+               LEAST(od.width, od.height)   AS shortSide,   -- 鐭竟
                od.shape,
                od.quantity,
                od.compute_gross_area,
@@ -296,7 +327,7 @@
                ods.S03,
                ods.S04,
                ods.S05,
-               od.building_number
+               od.building_number as 'buildingNumber'
         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
@@ -484,7 +515,8 @@
                fc.founder,
                date(fc.splitFrame_time)                                             as splitFrame_time,
                ogd.process,
-               c.concatNumber
+               c.concatNumber,
+               ifnull(fc.termination_quantity,0) as termination_quantity
         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
@@ -619,7 +651,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 +694,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 +702,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 +710,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 +751,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 +794,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,
@@ -781,7 +815,7 @@
                               fcs.technology_number = fc.technology_number
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
-          and position(fc.technology_number in #{technologyNumber})
+          and FIND_IN_SET(fc.technology_number , #{technologyNumber})
         group by fc.process_id, fc.order_number
         <choose>
             <!-- 褰� landingSequence != 1 涓� flashback != 1 鏃讹紝鎸� landing_sequence 鍊掑簭 -->
@@ -817,7 +851,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 +1061,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 +1174,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 +1242,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,9 +1280,12 @@
                fc.process_id,
                o.customer_name,
                o.project,
+               o.batch,
                fc.order_number,
                ogd.technology_number,
                ogd.glass_address,
+               ogd.child_width,
+               ogd.child_height,
                pl.patch_num,
                pl.patch_area,
                pl.responsible_team,
@@ -1260,7 +1299,8 @@
                fc.print_status,
                pl.reporting_work_id,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                AS glassNumber,
-               pl.patch_id
+               pl.patch_id,
+               date(pl.create_time) as create_time
 
         from flow_card as fc
                  left join sd.order_glass_detail as ogd
@@ -1307,6 +1347,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,
@@ -1318,6 +1359,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))),
@@ -1351,12 +1397,93 @@
         order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
     </select>
 
+
+    <select id="getReworkPrintCustomData">
+        select o.order_id                                            as orderId,
+               o.project,
+               o.customer_id                                         as customerId,
+               o.customer_name                                       as customerName,
+               o.order_type                                          as orderType,
+               o.order_classify                                      as orderClassify,
+               o.batch,
+               o.icon,
+               o.pack_type                                           as packType,
+               o.delivery_date                                       as deliveryDate,
+               o.al_type                                             as alType,
+               o.money,
+               contract_id                                           as contractId,
+               customer_batch                                           customerBatch,
+               contacts,
+               o.delivery_address                                    as deliveryAddress,
+               od.processing_note                                    as processingNote,
+               od.width,
+               od.height,
+               pl.rework_num                                          as quantity,
+               pl.order_sort                                         as orderNumber,
+               pl.technology_number                                  as technologyNumber,
+               od.building_number                                    as buildingNumber,
+               od.product_name                                       as productName,
+               od.edging_type                                        as edgingType,
+               p.remarks,
+               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,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
+               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.rework_num )      as size,
+               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))),
+                       ' = ',pl.rework_num )      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,
+               '鏂囨湰' as custom1,
+               '鏂囨湰' as custom2,
+               '鏂囨湰' as custom3,
+               '鏂囨湰' as custom4,
+               '鏂囨湰' as custom5
+        from sd.order as o
+            left join sd.order_detail as od on o.order_id = od.order_id
+            left join flow_card as fc on o.order_id = fc.order_id and
+            od.order_number = fc.order_number
+            left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
+            pl.technology_number = fc.technology_number
+            left join sd.product as p on p.id = od.product_id
+            left join sd.customer as c on c.id = o.customer_id
+            left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number
+        where pl.process_id = #{processId}
+          and pl.order_sort=#{orderNumber}
+          and pl.technology_number = #{technologyNumber}
+          and pl.reporting_work_id = #{reportingWorkId}
+        group by od.order_number, width, height
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
+    </select>
+
     <select id="getGlassNumber">
         select other_columns
         from sd.order_detail as od
                  left join flow_card as fc on od.order_id = fc.order_id and od.order_number = fc.order_number
         where fc.process_id = #{processId}
-          and POSITION(fc.technology_number in #{technologyNumber})
+          and  FIND_IN_SET(fc.technology_number , #{technologyNumber})
         GROUP BY other_columns
         order by IF(fc.sort != NULL or fc.sort != '', fc.sort, fc.order_number)
     </select>
@@ -1400,6 +1527,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,
@@ -1473,7 +1601,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>
 
@@ -1483,7 +1612,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,
@@ -1504,7 +1633,7 @@
                               fcs.technology_number = fc.technology_number
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
-          and position(fc.technology_number in #{technologyNumber})
+          and  FIND_IN_SET(fc.technology_number , #{technologyNumber})
         group by fc.process_id, fc.order_number, fc.technology_number
         <choose>
             <when test="landingSequence != 1 and flashback != 1">
@@ -1539,7 +1668,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,
@@ -1595,7 +1724,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,
@@ -1666,11 +1795,11 @@
 
     <select id="getDetailListRefund">
         select fc.order_number,
-               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
+               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(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,
@@ -1703,6 +1832,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,
@@ -1757,7 +1887,7 @@
 
     <select id="getDetailListLikeRefund">
         select fc.order_number,
-               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
+               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,
                pl.patch_num                                                   as quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
@@ -1788,6 +1918,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,
@@ -1844,7 +1975,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,
@@ -1966,7 +2097,7 @@
                od.processing_note                                    as processingNote,
               ogd.child_width                                as width,
                ogd.child_height                              as height,
-               fc.quantity,
+                #{printQuantity} as quantity,
                CONCAT(ogd.child_width  , ' X ', ogd.child_height   ,' = ',fc.quantity )           as size,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
@@ -1992,6 +2123,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))),
@@ -2205,6 +2341,7 @@
                c.customer_abbreviation                               as customerAbbreviation,
                p.product_abbreviation                                as productAbbreviation,
                CONCAT(fc.process_id, '/', fc.technology_number)      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,
@@ -2219,6 +2356,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))),
+                       ' = ',pl.patch_num )      as size,
                CONCAT(
                        od.order_number,')      ',
                        TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(ogd.child_width   AS CHAR))),
@@ -2247,6 +2389,92 @@
                  left join sd.order_glass_detail ogd
                            on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
                               ogd.technology_number = fc.technology_number
+        where pl.process_id = #{processId}
+          and pl.order_sort=#{orderNumber}
+          and pl.technology_number = #{technologyNumber}
+          and pl.reporting_work_id = #{reportingWorkId}
+        group by od.order_number, width, height
+        order by IF(fc.sort != NULL or fc.sort != '', fc.sort, pl.order_sort)
+    </select>
+
+    <select id="getReworkPrintCustomDataSemi">
+        select o.order_id                                            as orderId,
+               o.project,
+               o.customer_id                                         as customerId,
+               o.customer_name                                       as customerName,
+               o.order_type                                          as orderType,
+               o.order_classify                                      as orderClassify,
+               o.batch,
+               o.icon,
+               o.pack_type                                           as packType,
+               o.delivery_date                                       as deliveryDate,
+               o.al_type                                             as alType,
+               o.money,
+               contract_id                                           as contractId,
+               customer_batch                                           customerBatch,
+               contacts,
+               o.delivery_address                                    as deliveryAddress,
+               od.processing_note                                    as processingNote,
+               ogd.child_width                                as width,
+               ogd.child_height                              as height,
+               pl.rework_num                                          as quantity,
+               pl.order_sort                                         as orderNumber,
+               pl.technology_number                                  as technologyNumber,
+               od.building_number                                    as buildingNumber,
+               od.product_name                                       as productName,
+               od.edging_type                                        as edgingType,
+               p.remarks,
+               c.customer_abbreviation                               as customerAbbreviation,
+               p.product_abbreviation                                as productAbbreviation,
+               CONCAT(fc.process_id, '/', fc.technology_number)      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,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
+               p.remarks                                             as filmNumber,
+               od.bend_radius                                        as bendRadius,
+               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))),
+                       ' = ',pl.rework_num )      as size,
+               CONCAT(
+                       od.order_number,')      ',
+                       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.rework_num )      as numberSize,
+               CONCAT(
+                       od.order_number,')','   ',
+                       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))))      as numberSizeQuantity,
+               '鏂囨湰' as custom1,
+               '鏂囨湰' as custom2,
+               '鏂囨湰' as custom3,
+               '鏂囨湰' as custom4,
+               '鏂囨湰' as custom5
+        from sd.order as o
+            left join sd.order_detail as od on o.order_id = od.order_id
+            left join flow_card as fc on o.order_id = fc.order_id and
+            od.order_number = fc.order_number
+            left join rework as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
+            pl.technology_number = fc.technology_number
+            left join sd.product as p on p.id = od.product_id
+            left join sd.customer as c on c.id = o.customer_id
+            left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number
+            left join sd.order_glass_detail ogd
+            on ogd.order_id = o.order_id and ogd.order_number = od.order_number and
+            ogd.technology_number = fc.technology_number
         where pl.process_id = #{processId}
           and pl.order_sort=#{orderNumber}
           and pl.technology_number = #{technologyNumber}
@@ -2400,6 +2628,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,
@@ -2413,7 +2642,8 @@
                #{technologyNumber}                             as technologyNumber,
                concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
                concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks,
-               fc.technology_number                            as qrcode
+               fc.technology_number                            as qrcode,
+               o.other_remarks
         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
@@ -2459,7 +2689,8 @@
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
                od.order_number,
                od.width,
-               od.height
+               od.height,
+               od.building_number
         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
@@ -2498,7 +2729,8 @@
                 JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02,
                 JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03,
                 JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04,
-                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05
+                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05,
+                od.building_number
         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
@@ -2627,6 +2859,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,
@@ -2758,6 +2991,7 @@
 
     <select id="getPrintCustomDataProjectDetail">
         select
+            opt.glass_id                                          as heat_layout_sort ,
             o.order_id                                            as orderId,
             project,
             customer_id                                           as customerId,
@@ -2777,7 +3011,23 @@
             od.processing_note                                    as processingNote,
             od.width,
             od.height,
-            fc.quantity as flowQuantity,
+            opl.glass_count as flowQuantity,
+            CONCAT(
+                    TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(od.width AS CHAR))),
+                    ' X ',
+                    TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(od.height AS CHAR))),
+                    ' = ',opl.glass_count )      as size,
+               CONCAT(
+                       od.order_number,')      ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(od.width   AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(od.height    AS CHAR))),
+                       ' = ',opl.glass_count )      as numberSize,
+               CONCAT(
+                       od.order_number,')','   ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(od.width   AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(od.height    AS CHAR))))      as numberSizeQuantity,
             od.order_number                                       as orderNumber,
             fc.technology_number                                  as technologyNumber,
             od.building_number                                    as buildingNumber,
@@ -2787,6 +3037,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,
@@ -2807,6 +3058,7 @@
             '鏂囨湰' as custom5,
             od.quantity
         from optimize_detail as opt
+            left join optimize_layout as opl on opl.project_no=opt.project_no and opl.stock_id=opt.stock_id
                  left join flow_card as fc on opt.project_no=fc.project_no and opt.process_id=fc.process_id and opt.layer=fc.technology_number and opt.order_sort=fc.order_number
                  left join sd.order as o on o.order_id=fc.order_id
                  left join sd.order_detail as od on fc.order_id = od.order_id and od.order_number = fc.order_number
@@ -2849,6 +3101,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,
@@ -3052,7 +3305,9 @@
                               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'
+        IF(a.height &lt; a.width, a.height, a.width) as 'short',
+        IF(a.height >= a.width, a.height, a.width) as 'longSide',
+        IF(a.height &lt; a.width, a.height, a.width) as 'shortSide'
         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
@@ -3140,11 +3395,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,
@@ -3154,6 +3414,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,
@@ -3255,7 +3516,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,
@@ -3276,7 +3537,8 @@
         fcs.technology_number = fc.technology_number
         and fcs.process = #{process}
         where fc.process_id = #{processId}
-        and position(fc.technology_number in #{compound})
+        and
+        FIND_IN_SET(fc.technology_number , #{compound})
         group by fc.process_id, fc.order_number
         <choose>
             <when test="landingSequence != 1 and flashback != 1">
@@ -3332,7 +3594,7 @@
         fcs.technology_number = fc.technology_number
         and fcs.process = #{process}
         where fc.process_id = #{processId}
-        and position(fc.technology_number in #{compound})
+        and FIND_IN_SET(fc.technology_number , #{compound})
         group by fc.process_id, fc.order_number
         <choose>
             <when test="landingSequence != 1 and flashback != 1">
@@ -3408,6 +3670,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 ',
@@ -3442,4 +3709,160 @@
         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>
+
+    <update id="updateTerminationMp">
+        update  pp.flow_card fc set fc.termination_quantity=#{value}
+        where fc.process_id = #{processId} and fc.order_number=#{orderNumber}
+    </update>
+
+    <select id="selectCompletedMp">
+        SELECT max(reporting_work_num) FROM  sd.`order_process_detail`
+        where process_id=#{processId} and order_number=#{orderNumber} and process=#{interceptProcess}
+    </select>
+
+    <select id="getProcessOk">
+        SELECT
+            GROUP_CONCAT(process ORDER BY id SEPARATOR '->') AS processes
+        FROM sd.order_process_detail
+        WHERE process_id = #{processId}
+          AND order_number = #{orderNumber}
+          AND technology_number = #{technologyNumber}
+          AND reporting_work_num_count > 0;
+    </select>
+
+    <select id="getProcessDetail">
+        SELECT *
+        FROM sd.order_process_detail
+        WHERE process_id = #{processId}
+          AND order_number = #{orderNumber}
+          AND technology_number = #{technologyNumber}
+          AND reporting_work_num_count > 0
+          AND process = #{process}
+    </select>
+
+    <update id="updateOrderProcessDetail">
+        UPDATE sd.order_process_detail
+        set reporting_work_num_count = #{reportingWorkNumCount},
+            reporting_work_num = #{reportingWorkNum},
+            broken_num = #{brokenNum}
+        where process_id = #{processId} and order_number = #{orderNumber} and
+              technology_number = #{technologyNumber} and process = #{process}
+    </update>
+
+    <select id="getPrimaryListRefundHB">
+        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,
+               od.product_name,
+               o.processing_note,
+               fc.process_id,
+               pl.patch_num                                    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,
+               dd.breakage_type,
+               dd.breakage_reason,
+               dd.responsible_process,
+               dd.responsible_team,
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks,
+               dd.responsible_personnel,
+               #{mergeTechnologyNumber} as  mergeTechnologyNumber,
+               pl.patch_id
+        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 = #{orderId}
+                              and ogd.order_number = #{orderNumber}
+                              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
+                 left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and
+                                              pl.technology_number = fc.technology_number
+                 left join pp.reporting_work as rw on rw.order_id = fc.order_id and rw.process_id = fc.process_id
+                 left join pp.damage_details as dd
+                           on rw.reporting_work_id = dd.reporting_work_id and dd.order_number = fc.order_number and
+                              dd.technology_number = fc.technology_number
+        where fc.process_id = #{processId}
+          and fc.order_number = #{orderNumber}
+          and fc.technology_number = #{technologyNumber}
+          and pl.reporting_work_id = #{reportingWorkId}
+          and dd.breakage_reason = #{patchReason}
+        group by fc.process_id
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0