From 2f80b7085c4eabce06d3491306b75eecc275275f Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 30 四月 2026 17:31:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index a8c9da8..85be19a 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.approve.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -78,9 +79,14 @@
List<ApproveProcessConfigNodeVo> list = approveProcessConfigNodeService.listNode( approveProcessVO.getApproveType());
List<Long> nodeIds = list.stream()
.map(ApproveProcessConfigNodeVo::getApproverId)
+ .filter(Objects::nonNull)
.collect(Collectors.toList());
- if(list.isEmpty()) {
+ if(list.isEmpty()) {
throw new RuntimeException("娴佺▼涓嶅瓨鍦�");
+ }
+ if (CollectionUtils.isEmpty(nodeIds)) {
+ autoPassPurchaseApproveIfNoApprover(approveProcessVO);
+ return;
}
List<SysUser> sysUsers = sysUserMapper.selectUserByIds(nodeIds);
if (CollectionUtils.isEmpty(sysUsers)) throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
@@ -149,6 +155,16 @@
}
}
+ private void autoPassPurchaseApproveIfNoApprover(ApproveProcessVO approveProcessVO) {
+ if (!Objects.equals(approveProcessVO.getApproveType(), 5)
+ || !StringUtils.hasText(approveProcessVO.getApproveReason())) {
+ throw new RuntimeException("瀹℃牳鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ purchaseLedgerMapper.update(null, new LambdaUpdateWrapper<PurchaseLedger>()
+ .eq(PurchaseLedger::getPurchaseContractNumber, approveProcessVO.getApproveReason())
+ .set(PurchaseLedger::getApprovalStatus, 3));
+ }
+
@Override
public List<SysDept> selectDeptListByDeptIds(Long[] deptIds) {
List<SysDept> sysDeptList = new ArrayList<SysDept>();
--
Gitblit v1.9.3