From cfa4a3fdb3dcd9a811157c4bd8f82ba4025917bc Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期二, 17 十二月 2024 08:42:40 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml |  214 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 195 insertions(+), 19 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 55ca7bf..3b5844b 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -308,7 +308,7 @@
     <select id="reportingWorkCount">
         select COUNT(rw.process_id)
         from reporting_work as rw
-        where rw.process_id = #{processId}
+        where rw.process_id = #{processId} and reviewed_state>=0
     </select>
     <!--    鎻掑叆Flow_card琛�-->
     <insert id="addFlowCardMp">
@@ -353,14 +353,14 @@
     <select id="selectFlowCount">
         select COUNT(*)
         from sd.order_glass_detail as ogd
-        where ogd.order_id = left(#{productionId}, 10)
+        where ogd.order_id = #{orderId}
           and ogd.splitting_status = 0
     </select>
     <!--   淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬�-->
     <update id="updateProcessingCard">
         update sd.`order` as o
         set o.processing_card=#{state}
-        where o.order_id = left(#{productionId}, 10)
+        where o.order_id = #{productionId}
     </update>
 
     <!--    鏌ヨ宸叉帓鐗堟暟鎹�-->
@@ -443,12 +443,18 @@
                od.product_name,
                ogd.glass_child,
                fc.founder,
-               date(fc.splitFrame_time)                                             as splitFrame_time
+               date(fc.splitFrame_time)                                             as splitFrame_time,
+               ogd.process,
+               c.concatNumber
         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 = ogd.order_id and od.order_number = ogd.order_number
+                 left join (
+            select process_id,technology_number, GROUP_CONCAT(order_number) as concatNumber from
+            flow_card where process_id = #{processId} GROUP BY process_id,technology_number
+                 ) as c on c.process_id=fc.process_id
         where fc.process_id = #{processId}
         GROUP BY fc.order_id, fc.process_id, fc.order_number, fc.technology_number
         order by fc.order_number, fc.technology_number
@@ -644,7 +650,46 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
+                              and position(ogd.technology_number in #{technologyNumber})
+                            GROUP BY order_id, order_number) as ogdc
+                           on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
+                              ogdc.technology_number = ogd.technology_number
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber})
+        group by fc.process_id
+    </select>
+
+    <select id="getPrimaryLists">
+        select o.customer_name,
+               o.project,
+               #{process}                                         process,
+               od.edging_type,
+               #{glassChild}                                   as glass_child,
+               od.product_name,
+               o.processing_note,
+               fc.process_id,
+               #{quantity}                                                      as quantity,
+               round(od.width*od.height*#{quantity}/1000000, 2)                   as gross_area,
+               sum(od.weight)                                  as weight,
+               #{technologyNumber}                             as technologyNumber,
+               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber,
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                 AS otherRemarks,
+               ''                                              as qrcode
+        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 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
@@ -655,6 +700,38 @@
     </select>
 
     <select id="getDetailList">
+        select fc.order_number,
+               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,
+               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,
+               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+               od.other_columns,
+               round(ogd.child_width)                                         as width,
+               round(ogd.child_height)                                        as height,
+               pd.separation,
+               fc.technology_number,
+               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+               od.building_number
+        from flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+                              fc.technology_number = ogd.technology_number
+                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+                 left join sd.product_detail as pd
+                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+                 left join flow_card_sort as fcs
+                           on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+                              fcs.technology_number = fc.technology_number
+                               and fcs.process = #{process}
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber})
+        group by fc.process_id, fc.order_number
+        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+    </select>
+
+    <select id="getDetailLists">
         select fc.order_number,
                concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
                fc.quantity,
@@ -682,6 +759,7 @@
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
           and position(fc.technology_number in #{technologyNumber})
+        and fc.order_sort = #{orderNumber}
         group by fc.process_id, fc.order_number
         order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
@@ -1153,7 +1231,7 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
                               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
@@ -1207,7 +1285,7 @@
 
     <select id="getDetailListLike">
         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,
                fc.quantity,
                round(ogd.total_area, 2)                                       as total_area,
                od.perimeter,
@@ -1233,6 +1311,39 @@
                                and fcs.process = #{process}
         where fc.process_id = #{processId}
           and position(fc.technology_number in #{technologyNumber})
+        group by fc.process_id, fc.order_number, fc.technology_number
+        order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
+    </select>
+
+    <select id="getDetailListLikes">
+        select fc.order_number,
+               concat(round(ogd.child_width), "*", round(ogd.child_height))   as child_width,
+               #{quantity} as quantity,
+               round(ogd.child_width*ogd.child_height*#{quantity}/1000000, 2)                                       as total_area,
+               round((ogd.child_width+ogd.child_height)*2*#{quantity}/1000, 2)    as perimeter,
+               if(od.shape=2,JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')),od.bend_radius) as bend_radius,
+               concat(IFNULL(od.processing_note, ''), IFNULL(od.remarks, '')) as remarks,
+               od.other_columns,
+               round(ogd.child_width)                                         as width,
+               round(ogd.child_height)                                        as height,
+               pd.separation,
+               fc.technology_number,
+               IFNULL(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')),'') as mapNumber,
+               od.building_number
+        from flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+                              fc.technology_number = ogd.technology_number
+                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+                 left join sd.product_detail as pd
+                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+                 left join flow_card_sort as fcs
+                           on fcs.process_id = fc.process_id and fcs.order_number = fc.order_number and
+                              fcs.technology_number = fc.technology_number
+                               and fcs.process = #{process}
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber})
+          and fc.order_number=#{orderNumber}
         group by fc.process_id, fc.order_number, fc.technology_number
         order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number)
     </select>
@@ -1264,7 +1375,7 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
                               and ogd.order_number = #{orderNumber}
                               and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
@@ -1350,7 +1461,7 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
                               and ogd.order_number = #{orderNumber}
                               and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
@@ -1434,7 +1545,7 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
                               and ogd.order_number = #{orderNumber}
                               and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
@@ -1516,7 +1627,7 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
                               and ogd.order_number = #{orderNumber}
                               and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
@@ -1582,6 +1693,7 @@
                round(ogd.child_width)                                as width,
                round(ogd.child_height)                               as height,
                fc.quantity,
+               CONCAT(round(ogd.child_width)  , ' X ', round(ogd.child_height)   ,' = ',fc.quantity )           as size,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
                od.building_number                                    as buildingNumber,
@@ -2000,7 +2112,7 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = #{orderId}
                               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
@@ -2094,6 +2206,11 @@
                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,
                od.order_number                                       as orderNumber,
                fc.technology_number                                  as technologyNumber,
                od.building_number                                    as buildingNumber,
@@ -2212,16 +2329,19 @@
 
     <select id="selectSortTableMp">
         select fcs.sort,
-               process_id,
+               fcs.process_id,
                fcs.order_number,
                fcs.technology_number,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
                fcs.process
-        from flow_card_sort as fcs
-                 left join sd.order_detail as od
-                           on od.order_id = left(fcs.process_id, 10) and od.order_number = fcs.order_number
-        where LEFT(fcs.process_id, 10) = #{orderId}
-        GROUP BY process_id,
+        from
+            flow_card as fc
+                left join  flow_card_sort as fcs on fcs.process_id=fc.process_id
+                and fcs.order_number=fc.order_number and fcs.technology_number=fc.technology_number
+                left join sd.order_detail as od
+                          on od.order_id = fc.order_id and od.order_number = fcs.order_number
+        where fc.order_id = #{orderId}
+        GROUP BY fcs.process_id,
                  fcs.order_number,
                  fcs.technology_number,
                  fcs.process
@@ -2462,6 +2582,62 @@
              (select (@row_number := @row_number + 1) as id,process_id as process_id from (select process_id from pp.optimize_detail tt where project_no =#{projectNo} group by process_id) tt,(select @row_number := 0) as t) a
              on a.process_id=opd.process_id
         where opd.project_no = #{projectNo}
-        order by opd.stock_id,opd.polys_id
+        group by  order_id,od.order_number
+        order by ogd.child_width desc,ogd.child_height desc
+    </select>
+
+    <delete id="deleteProcessMp">
+        delete from sd.order_process_detail where process_id = #{processId} and technology_number= #{technologyNumber}
+    </delete>
+
+    <insert id="updateProcessMp">
+        insert into sd.order_process_detail (order_id,
+                                             process_id,
+                                             order_number,
+                                             technology_number,
+                                             process,
+                                             create_time)
+        select fc.order_id,
+               fc.process_id,
+               fc.order_number,
+               #{technologyNumber},
+               #{process},
+               NOW()
+        from pp.flow_card as fc
+        where fc.process_id = #{processId}
+          and fc.order_number = #{number}
+          and fc.technology_number = #{technologyNumber}
+        GROUP BY fc.order_number
+    </insert>
+
+    <update id="updateOrderProcessMp">
+        update sd.order_glass_detail set process=#{orderprocess}
+        where order_id=#{orderId} and order_number=#{number} and technology_number=#{technologyNumber}
+    </update>
+
+    <select id="getFlowCardListPrintProject">
+        select
+            od.order_id,
+            fc.process_id,
+            o.customer_name,
+            o.project,
+            od.order_number,
+            ogd.technology_number,
+            ogd.glass_address,
+            fc.quantity ,
+            round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
+            od.product_name,
+            ogd.glass_child,
+            fc.patch_state,
+            ogd.process
+        from  (select process_id,count(*) as quantity,order_sort,project_no,layer,patch_state from pp.optimize_detail where project_no = #{printProject} group by process_id,layer) as fc
+                  left join sd.order_glass_detail as ogd
+                            on ogd.order_id = SUBSTRING(fc.process_id,1,10)  and ogd.order_number = fc.order_sort and
+                               ogd.technology_number = fc.layer
+                  left join sd.order_detail as od on od.order_id = SUBSTRING(fc.process_id,1,10)  and od.order_number = fc.order_sort
+                  left join sd.`order` as o on o.order_id = SUBSTRING(fc.process_id,1,10)
+        where fc.project_no = #{printProject}
+        GROUP BY fc.process_id, ogd.technology_number
+        order by fc.process_id, ogd.technology_number
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0