From fec6c1c27cc4333f1f3b39bd09bd3f4cc201772b Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期日, 10 五月 2026 11:31:22 +0800
Subject: [PATCH] fix: 开票台账创建日期相同未保证排序

---
 src/main/resources/mapper/production/ProductOrderMapper.xml |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index fdcb54e..f8d10e0 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -41,7 +41,7 @@
         ) shipping_status_counts ON sl.id = shipping_status_counts.sales_ledger_id
             left join product_model pm on po.product_model_id = pm.id
             left join product p on pm.product_id = p.id
-        left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id
+        left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id and slp.type = 1
         left join product_process_route ppr on po.id = ppr.product_order_id
         left join product_bom pb on pb.id = ppr.bom_id
         <where>
@@ -110,4 +110,14 @@
         WHERE create_time &gt;= #{startDate} AND create_time &lt;= #{endDate}
           AND complete_quantity &lt; quantity
     </select>
+
+    <update id="addCompleteQtyIfNotExceed">
+        update product_order
+        set
+            complete_quantity = complete_quantity + #{delta},
+            start_time = ifnull(start_time, now()),
+            end_time = case when (complete_quantity + #{delta}) = quantity then now() else end_time end
+        where id = #{id}
+          and (complete_quantity + #{delta}) <![CDATA[ <= ]]> quantity
+    </update>
 </mapper>

--
Gitblit v1.9.3