From ce96310177bdd6d24ac90bd6f92d8def30b680af Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期一, 26 十月 2026 13:58:23 +0800
Subject: [PATCH] fix(hrm): 修复修改员工时的「部门不存在」与「系统异常」

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java
index 1caa99f..9576e9b 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java
@@ -57,6 +57,11 @@
             query.eq(ErpPurchaseOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
                     .apply("t.return_count < t.in_count");
         }
+        // 鍙潵绁ㄧ櫥璁帮紙鍓╀綑鍙紑绁ㄩ噾棰� > 0锛夛細閲戦宸插紑瀹岀殑璁㈠崟涓嶅睍绀�
+        if (Boolean.TRUE.equals(reqVO.getRemainPriceEnable())) {
+            query.apply("t.total_price > (SELECT IFNULL(SUM(i.price), 0) FROM erp_purchase_invoice i "
+                    + "WHERE i.purchase_order_id = t.id AND i.deleted = 0)");
+        }
         if (reqVO.getProductId() != null) {
             query.leftJoin(ErpPurchaseOrderItemDO.class, ErpPurchaseOrderItemDO::getOrderId, ErpPurchaseOrderDO::getId)
                     .eq(reqVO.getProductId() != null, ErpPurchaseOrderItemDO::getProductId, reqVO.getProductId())

--
Gitblit v1.9.3