From c1fc00d00df3fc637cb38da33ad1ca3f233b6aee Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 25 七月 2025 14:46:18 +0800
Subject: [PATCH] 次破报表求和查询添加审核状态条件

---
 north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
index 5855af5..edcf65d 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -28,6 +28,7 @@
         <result column="height" property="orderDetail.height"/>
         <result column="product_id" property="orderDetail.productId"/>
         <result column="product_name" property="orderDetail.productName"/>
+        <result column="price" property="orderDetail.price"/>
 
         <result column="project" property="order.project"/>
         <result column="customer_name" property="order.customerName"/>
@@ -60,7 +61,8 @@
         fol.area,
         fol.money,
         o.customer_name,
-        o.project
+        o.project,
+        od.price
         from (select *
         from mm.finished_operate_log aa where aa.operate_type = #{type}  and aa.status!='宸蹭綔搴�') fol
         left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
@@ -90,6 +92,9 @@
             </if>
             <if test="finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != ''">
                 and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail.price != null and finishedOperateLog.orderDetail.price != ''">
+                and  od.price regexp #{finishedOperateLog.orderDetail.price}
             </if>
             <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
                 and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
@@ -160,6 +165,9 @@
             </if>
             <if test="finishedOperateLog.orderDetail.productName != null and finishedOperateLog.orderDetail.productName != ''">
                 and  od.product_name regexp #{finishedOperateLog.orderDetail.productName}
+            </if>
+            <if test="finishedOperateLog.orderDetail.price != null and finishedOperateLog.orderDetail.price != ''">
+                and  od.price regexp #{finishedOperateLog.orderDetail.price}
             </if>
             <if test="finishedOperateLog.orderDetail.width != null and finishedOperateLog.orderDetail.width != ''">
                 and  od.width regexp  REGEXP_REPLACE(#{finishedOperateLog.orderDetail.width},'\\.0+$','')
@@ -872,6 +880,7 @@
                                                        fol.remarks,
                                                        SUM(fol.quantity) as quantity,
                                                        ROUND( sum(od.width * od.height * fol.quantity) / 1000000, 2 ) as area,
+                                                       ROUND( sum(od.width * od.height * fol.quantity*p.total_thickness*2.5) / 1000000, 2 ) as weight,
                                                        fol.process_id,
                                                        aaa.teams_groups_name,
                                                        aaa.previous_process,
@@ -880,7 +889,8 @@
                                                      from mm.finished_operate_log aa where aa.operate_type = '鍏ュ簱'  and aa.status!='宸蹭綔搴�') fol
                                                         left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
                                                         left join sd.`order` o on o.order_id=fol.order_id
-                                                        left join (select teams_groups_name,process_id,previous_process,reporting_work_time from pp.reporting_work  where this_process='鍖呰') aaa on  aaa.process_id=fol.process_id
+                                                        left join sd.product p on od.product_id=p.id
+                                                        left join (select teams_groups_name,process_id,previous_process,reporting_work_time from pp.reporting_work  where this_process='鍖呰' group by process_id) aaa on  aaa.process_id=fol.process_id
 
 
 
@@ -916,13 +926,14 @@
 
     <select id="getDetailLists">
         SELECT
-            od.building_number,
+            ifnull(od.building_number,ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'')) as building_number,
             od.width,
             od.height,
             fol.quantity,
             od.product_name,
             od.product_id,
-            ROUND( od.width * od.height * fol.quantity / 1000000, 2 ) as area
+            ROUND( od.width * od.height * fol.quantity / 1000000, 2 ) as area,
+            ROUND( od.width * od.height * fol.quantity / 1000000, 2 )*#{thickness}*2.5 as weight
         FROM
             ( SELECT * FROM mm.finished_operate_log aa WHERE aa.operate_type = '鍏ュ簱' AND aa.STATUS != '宸蹭綔搴�' ) fol
                 LEFT JOIN sd.order_detail od ON fol.order_id = od.order_id
@@ -938,11 +949,14 @@
     <select id="getDetailList2">
         SELECT
             od.product_id,
-            od.product_name
+            od.product_name,
+            pro.thickness
         FROM
             ( SELECT * FROM mm.finished_operate_log aa WHERE aa.operate_type = '鍏ュ簱' AND aa.STATUS != '宸蹭綔搴�' ) fol
                 LEFT JOIN sd.order_detail od ON fol.order_id = od.order_id
                 AND fol.operation_number = od.order_number
+                left join sd.product as pro
+                on pro.id = od.product_id
                 LEFT JOIN sd.`order` o ON o.order_id = fol.order_id
         WHERE
             o.order_id=#{orderId} and fol.remarks=#{remarks}

--
Gitblit v1.8.0