From b8982b86a15d186c4cf6144fface700d9769fa95 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 21 三月 2025 09:13:13 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  213 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 185 insertions(+), 28 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 95d50cd..2bbbb9d 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -68,7 +68,8 @@
         b.customer_name,
         if(a.layout_status=0,'涓嶅彲鎺掔増',if(a.layout_status=1,'鍙帓鐗�','宸叉帓鐗�')) as layout_status,
         a.merge,
-        a.rack
+        a.rack,
+        b.batch
         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
@@ -207,26 +208,36 @@
 
     <!--    鍒嗘灦鏄庣粏鏌ヨ-->
     <select id="detailsSelectMp">
-        select od.order_id,
-               ogd.production_id,
-               od.product_id,
-               od.product_name,
-               ROUND(SUM(od.quantity)-IFNULL(sum(fc.quantity)/count(fc.technology_number),0))            as quantity,
-               SUM(od.compute_gross_area)  as compute_gross_area,
-               round(sum(od.perimeter), 2) as perimeter
-        from sd.order_detail as od
-                 left join
-             (select order_id, order_number,technology_number, production_id, splitting_status
-              from sd.order_glass_detail
-              GROUP BY order_id, order_number) as ogd
-             on od.order_id = ogd.order_id and od.order_number = ogd.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.splitting_status = 0
+        SELECT
+            od.order_id,
+            ogd.production_id,
+            od.product_id,
+            od.product_name,
+            ROUND(SUM(od.quantity) - IFNULL(SUM(fc.quantity) / fc.layers_number, 0)) AS quantity,
+            SUM(od.compute_gross_area) AS compute_gross_area,
+            ROUND(SUM(od.perimeter), 2) AS perimeter
+        FROM sd.order_detail AS od
+                 LEFT JOIN (
+            SELECT order_id, order_number, production_id, splitting_status,
+                   technology_number
+            FROM sd.order_glass_detail
+            GROUP BY order_id, order_number, production_id, splitting_status
+        ) AS ogd
+                           ON od.order_id = ogd.order_id
+                               AND od.order_number = ogd.order_number
+                 LEFT JOIN (
+            SELECT order_id, order_number, technology_number, SUM(quantity) AS quantity, layers_number
+            FROM flow_card
+            GROUP BY order_id, order_number, technology_number
+        ) 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.splitting_status = 0
+        GROUP BY od.order_id, ogd.production_id, od.product_id, od.product_name
+        ORDER BY od.order_id DESC;
 
-        group by od.order_id, ogd.production_id
-        order by od.id desc
     </select>
 
     <!--    鏇存柊鍒嗘灦鐘舵��-->
@@ -272,7 +283,7 @@
                od.quantity,
                od.compute_gross_area,
                p.total_thickness,
-               ROUND(od.quantity-IFNULL(sum(fc.quantity)/count(fc.technology_number),0))           as baiscQuantity,
+               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,
@@ -289,7 +300,7 @@
         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_name = p.product_name
+                 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,
@@ -515,7 +526,7 @@
         where date(create_time)>=#{selectTime1} and date(create_time) &lt;= #{selectTime2}
           and position(#{orderId} in order_id)
           and position(#{project} in project)
-          and processing_card >0
+          and if(#{state}=0,(order_review >0 and processing_card =0),processing_card >0)
         order by create_time desc
     </select>
 
@@ -2316,10 +2327,12 @@
                fc.founder,
                date(fc.splitFrame_time)                                               as splitFrame_time,
             /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
-               fc.print_status,
+               ifnull(fc.print_number,0) as  print_status,
                ogd.process,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
-               od.order_number
+               od.order_number,
+               od.width,
+               od.height
         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
@@ -2347,10 +2360,12 @@
                fc.founder,
                date(fc.splitFrame_time)                                               as splitFrame_time,
             /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
-               fc.print_status,
+               ifnull(fc.print_number,0) as  print_status,
                ogd.process,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
-               od.order_number
+               od.order_number,
+               ogd.child_width as width,
+               ogd.child_height as height
         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
@@ -2854,7 +2869,7 @@
     </select>
 
     <select id="flowCardToOptimizeCount">
-        select count(*) from pp.flow_card where order_id = #{orderId} and engineering_occupancy=1
+        select count(*) from pp.flow_card where order_id = #{orderId} and project_no is not null
     </select>
 
     <select id="getFlowCardDetail" >
@@ -2895,13 +2910,155 @@
     
     <select id="getOrderDetailByProductionId">
         select * from (select a.*,
+                              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'
         from sd.order_detail as a
         left join sd.order_glass_detail as b
         on a.order_id = b.order_id and a.order_number = b.order_number
         where a.order_id = #{orderId} and b.production_id = #{productionId}
+
         group by a.order_number) as c
+        <if test="type=='scope'">
+            where  c.`long` &lt;= #{inLenMax}
+                and c.`long` >= #{inLenMin}
+                and c.`short` >= #{inShortMin}
+                and c.`short` &lt;= #{inShortMax}
+        </if>
+        <if test="type=='notScope'">
+            where  !(c.`long` &lt;= #{inLenMax}
+            and c.`long` >= #{inLenMin}
+            and c.`short` >= #{inShortMin}
+            and c.`short` &lt;= #{inShortMax})
+        </if>
         order by c.`long` desc
     </select>
+
+    <!--    澶嶉�夋淇敼鎺掔増鐘舵��-->
+    <update id="revokeComposing">
+        update flow_card as fc
+        set fc.layout_status=0
+        where fc.process_id = #{processId}
+    </update>
+
+    <select id="selectProjectNo">
+        SELECT COUNT(*)
+        FROM flow_card
+        WHERE process_id= #{processId} and project_no IS not NULL;
+    </select>
+
+    <select id="selectPrintDetailsMp2">
+        select ogd.id,
+               ogd.order_id,
+               o.customer_name,
+               o.project,
+               ogd.technology_number,
+               ogd.glass_address,
+               (od.quantity)                                                          as quantity,
+               (od.quantity)                                                          as printQuantity,
+               round((ogd.child_width * ogd.child_height * od.quantity / 1000000), 2) as total_area,
+               od.product_name,
+               ogd.glass_child,
+               ogd.process,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
+               od.order_number,
+               ogd.child_width as width,
+               ogd.child_height as height
+        from sd.order_glass_detail as ogd
+                 left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+                 left join sd.`order` as o on o.order_id = ogd.order_id
+        where ogd.order_id = #{orderId}
+        GROUP BY od.order_number
+        order by od.order_number
+    </select>
+
+    <select id="getPrintOrderDataDetails">
+        select o.order_id                                            as orderId,
+               project,
+               customer_id                                           as customerId,
+               o.customer_name                                       as customerName,
+               order_type                                            as orderType,
+               order_classify                                        as orderClassify,
+               batch,
+               o.icon,
+               pack_type                                             as packType,
+               delivery_date                                         as deliveryDate,
+               al_type                                               as alType,
+               money,
+               contract_id                                           as contractId,
+               customer_batch                                           customerBatch,
+               contacts,
+               delivery_address                                      as deliveryAddress,
+               od.processing_note                                    as processingNote,
+               width,
+               height,
+               #{printQuantity}                                      as quantity,
+               CONCAT(
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+                       ' = ',#{printQuantity} )      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))),
+                       ' = ',#{printQuantity} )      as numberSize,
+            od.order_number                                       as orderNumber,
+            ogd.technology_number                                  as technologyNumber,
+            od.building_number                                    as buildingNumber,
+            od.product_name                                       as productName,
+            od.edging_type                                        as edgingType,
+            od.remarks,
+            c.customer_abbreviation                               as customerAbbreviation,
+            p.product_abbreviation                                as productAbbreviation,
+            ''                                         as processId,
+            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,
+            od.other_columns,
+            ogd.glass_child                                       as glassChild,
+            ogd.glass_address                                     as glassAddress,
+            JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
+            '鏂囨湰' as custom1,
+            '鏂囨湰' as custom2,
+            '鏂囨湰' as custom3,
+            '鏂囨湰' as custom4,
+            '鏂囨湰' as custom5,
+            od.quantity
+        from sd.order as o
+            left join sd.order_detail as od on o.order_id = od.order_id
+            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.order_glass_detail as ogd
+            on ogd.order_id = od.order_id and ogd.order_number = od.order_number
+            left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
+            pd.glass_sort = ogd.technology_number
+
+        where od.order_id = #{orderId}
+          and od.order_number = #{orderNumber}
+        group by od.order_number, width, height
+        order by od.order_id
+    </select>
+
+    <select id="updatePrintNumberMp">
+        update pp.flow_card
+        set print_number = ifnull(print_number,0) + 1
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+    </select>
+
+    <select id="getOrderIdByProcessId">
+        select order_id from pp.flow_card  where process_id = #{processId} limit 1;
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0