From 9c76b7efccd70395231b032a193a89f7638b657e Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 22 十月 2025 17:41:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java | 26 ++++++++++++++++++++++----
1 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
index 911b992..bd7634d 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalFlowAuditController.java
@@ -169,10 +169,20 @@
Map<Long, SysUser> userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e));
Map<Integer, TDept> deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e));
Map<Integer, OaApproval> approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e));
- List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
+ List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds)
+ .orderByDesc(OaApprovalApplications::getCreateTime).list();
+ Map<Integer, OaApprovalFlowAudit> auditMap = approvalFlowAuditService.lambdaQuery().in(OaApprovalFlowAudit::getApprovalApplicationId, applicationIds)
+ .eq(OaApprovalFlowAudit::getUserId, userId)
+ .list().stream().collect(Collectors.toMap(OaApprovalFlowAudit::getApprovalApplicationId, e -> e));
for (OaApprovalApplications approvalApplication : approvalApplications) {
ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
- approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus());
+ approvalTodoVO.setReason(approvalApplication.getReason());
+ OaApprovalFlowAudit approvalFlowAudit = auditMap.get(approvalApplication.getId());
+ if(approvalFlowAudit.getApprovalStatus()!=null){
+ approvalTodoVO.setApprovalStatus(approvalFlowAudit.getApprovalStatus()?2:3);
+ }else{
+ approvalTodoVO.setApprovalStatus(1);
+ }
approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
switch (approvalTodoVO.getApprovalCategory()){
@@ -370,9 +380,11 @@
Map<Long, SysUser> userMap = sysUserService.selectAllList().stream().collect(Collectors.toMap(SysUser::getUserId, e -> e));
Map<Integer, TDept> deptMap = deptService.list().stream().collect(Collectors.toMap(TDept::getId, e -> e));
Map<Integer, OaApproval> approvalMap = approvalService.list().stream().collect(Collectors.toMap(OaApproval::getId, e -> e));
- List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery().in(OaApprovalApplications::getId, applicationIds).list();
+ List<OaApprovalApplications> approvalApplications = approvalApplicationsService.lambdaQuery()
+ .orderByDesc(OaApprovalApplications::getCreateTime).in(OaApprovalApplications::getId, applicationIds).list();
for (OaApprovalApplications approvalApplication : approvalApplications) {
ApprovalTodoVO approvalTodoVO = new ApprovalTodoVO();
+ approvalTodoVO.setReason(approvalApplication.getReason());
approvalTodoVO.setApprovalStatus(approvalApplication.getApprovalStatus());
approvalTodoVO.setApplicationReason(approvalApplication.getApplicationReason());
approvalTodoVO.setApprovalCategory(approvalMap.get(approvalApplication.getApprovalId()).getApprovalCategory());
@@ -544,6 +556,7 @@
if (dto.getApprovalStatus() == 0) {
// 中断审批流程
approvalApplications.setApprovalStatus(3);
+ approvalApplications.setReason(dto.getReason());
approvalApplicationsService.updateById(approvalApplications);
// 删除除当前审批人该申请单的未处理的所有待办
approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>()
@@ -566,6 +579,11 @@
.eq(OaApprovalFlowNode::getStatus,1)
.orderByAsc(OaApprovalFlowNode::getSortOrder).list();
if (dto.getApprovalStatus() == 1) {
+ // 删除同节点待办事项
+ approvalTodoService.remove(new LambdaQueryWrapper<OaApprovalTodo>()
+ .ne(OaApprovalTodo::getUserId,userId)
+ .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId())
+ .eq(OaApprovalTodo::getFlowNodeId, currentFlowNodeId));
// 判断当前是否处于最后一个节点
if (approvalApplications.getCurrentFlowNodeId().equals(approvalFlowNodes.get(approvalFlowNodes.size() - 1).getId())) {
// 审批通过 审批流程结束
@@ -659,7 +677,7 @@
private void saveAssetRecord(Integer type, String approvalType,List<Integer> assetMainIds) {
List<AssetInventoryRecord> res = new ArrayList<>();
- Map<Integer, Integer> warehouseMap = assetMainService.list().stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId));
+ Map<Integer, Integer> warehouseMap = assetMainService.lambdaQuery().isNotNull(AssetMain::getWarehouseId).list().stream().collect(Collectors.toMap(AssetMain::getId, AssetMain::getWarehouseId));
for (Integer assetMainId : assetMainIds) {
AssetInventoryRecord assetInventoryRecord = new AssetInventoryRecord();
assetInventoryRecord.setAssetMainId(assetMainId);
--
Gitblit v1.7.1