From 7cf8f8fc1abca63423c1fb4618363f8a9d283f9d Mon Sep 17 00:00:00 2001
From: 于杰 <1210123631@qq.com>
Date: 星期二, 04 十一月 2025 14:56:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 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 200ae3a..c75c7e2 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -36,6 +36,7 @@
         <result column="project" property="order.project"/>
         <result column="customer_name" property="order.customerName"/>
         <result column="customer_Id" property="order.customerId"/>
+        <result column="order_type" property="order.orderType"/>
 
     </resultMap>
 
@@ -63,10 +64,23 @@
         fol.money,
         o.customer_name,
         o.project,
-        od.price
+        od.price,
+        CASE
+        WHEN #{type} = '鍏ュ簱' THEN
+            if(fgi.quantity_available>fol.quantity,fol.quantity,fgi.quantity_available)
+        ELSE
+            0
+        END AS quantity_available,
+        CASE
+        WHEN #{type} = '鍏ュ簱' THEN
+        if(fgi.quantity_available>fol.quantity,fol.quantity,fgi.quantity_available)
+        ELSE
+        0
+        END AS cancelAvailable
         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
+        left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number
         left join sd.`order` o on o.order_id=fol.order_id
         <where>
             date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
@@ -144,6 +158,7 @@
         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
+        left join mm.finished_goods_inventory fgi on fgi.order_id = fol.order_id and fol.operation_number = fgi.order_number
         left join sd.`order` o on o.order_id=fol.order_id
         <where>
             date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
@@ -220,6 +235,11 @@
 
     <update id="updateFinishedOperateLogState">
         update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
+    </update>
+
+    <update id="updateFinishedOperateLogQuantity">
+        update mm.finished_operate_log set quantity=quantity-#{finishedOperateLog.cancelAvailable},
+                                           area=area-#{deliveryDetailArea},money=money-#{deliveryDetailMoney}  where id=#{finishedOperateLog.id};
     </update>
 
     <select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
@@ -483,7 +503,8 @@
         fol.money,
         o.customer_name,
         o.project,
-        od.price
+        od.price,
+        o.order_type
         from (select *
         from mm.finished_operate_log aa where  aa.status!='宸蹭綔搴�') fol
         left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
@@ -552,6 +573,9 @@
             </if>
             <if test="finishedOperateLog.orderDetail!=null and finishedOperateLog.orderDetail.price != null and finishedOperateLog.orderDetail.price != ''">
                 and  od.price regexp #{finishedOperateLog.orderDetail.price}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.orderType != null and finishedOperateLog.order.orderType != '')">
+                and o.order_type regexp #{finishedOperateLog.order.orderType}
             </if>
         </where>
         order by fol.`status` desc
@@ -629,6 +653,9 @@
             </if>
             <if test="finishedOperateLog.orderDetail!=null and finishedOperateLog.orderDetail.price != null and finishedOperateLog.orderDetail.price != ''">
                 and  od.price regexp #{finishedOperateLog.orderDetail.price}
+            </if>
+            <if test="finishedOperateLog.order !=null and (finishedOperateLog.order.orderType != null and finishedOperateLog.order.orderType != '')">
+                and o.order_type regexp #{finishedOperateLog.order.orderType}
             </if>
         </where>
     </select>
@@ -773,7 +800,8 @@
                fol.money,
                o.customer_name,
                o.project,
-               od.price
+               od.price,
+               o.order_type
         from (select *
               from mm.finished_operate_log aa where  aa.status!='宸蹭綔搴�') fol
                  left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
@@ -1067,4 +1095,6 @@
         left join sd.`order` o on o.order_id=fol.order_id
         where fol.operation_order_number=#{deliveryId}
     </select>
+
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0