From 5fa6e6f8410ef9d057174bcff2a3c5038c54a551 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期日, 27 四月 2025 18:41:20 +0800
Subject: [PATCH] bug修改

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java
index b7eb5cb..f1b831a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/StateProcessTemplateServiceImpl.java
@@ -37,6 +37,7 @@
 import com.ruoyi.system.bo.*;
 import com.ruoyi.system.mapper.StateProcessTemplateMapper;
 import com.ruoyi.system.mapper.TContractMapper;
+import com.ruoyi.system.mapper.TContractRentTypeMapper;
 import com.ruoyi.system.model.*;
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.ProcessDetailVO;
@@ -85,6 +86,8 @@
     private ISysUserService sysUserService;
     @Autowired
     private TContractMapper contractMapper;
+    @Autowired
+    private TContractRentTypeMapper contractRentTypeMapper;
 
     /**
      * 流程模版分页
@@ -581,7 +584,8 @@
             stateTaskQuery.orderByDesc(BaseModel::getCreateTime);
         }
         // 查询合同信息
-        List<TContract> tContracts = contractMapper.selectList(Wrappers.<TContract>lambdaQuery());
+        List<TContract> tContracts = contractMapper.selectList(Wrappers.<TContract>lambdaQuery()
+                .in(TContract::getStatus, 2,3,4,9));
         List<String> contractIds = tContracts.stream().map(TContract::getId).collect(Collectors.toList());
         if(CollectionUtils.isEmpty(contractIds)){
             return new PageInfo<>();
@@ -693,9 +697,12 @@
         Map<Long, List<FlwHisTask>> flwHisTaskMap = flwHisTaskList.stream().collect(Collectors.groupingBy(FlwHisTask::getInstanceId));
         //查询原因
         List<String> taskIds = flwHisTaskList.stream().map(FlowEntity::getId).map(String::valueOf).collect(Collectors.toList());
-        List<StateProcessInstanceAction> actions = stateProcessInstanceActionService.list(
-                Wrappers.<StateProcessInstanceAction>lambdaQuery().in(StateProcessInstanceAction::getNodeId, taskIds));
-        Map<String, StateProcessInstanceAction> actionMap = actions.stream().collect(Collectors.toMap(StateProcessInstanceAction::getNodeId, Function.identity()));
+        Map<String, StateProcessInstanceAction> actionMap = new HashMap<>();
+        if(!CollectionUtils.isEmpty(taskIds)){
+            List<StateProcessInstanceAction> actions = stateProcessInstanceActionService.list(
+                    Wrappers.<StateProcessInstanceAction>lambdaQuery().in(StateProcessInstanceAction::getNodeId, taskIds));
+            actionMap = actions.stream().collect(Collectors.toMap(StateProcessInstanceAction::getNodeId, Function.identity()));
+        }
 
         List<String> updateUserId = processTaskListVOS.getRecords().stream().map(ProcessTaskListVO::getCreateBy).collect(Collectors.toList());
         Map<Long, SysUser> sysUserMap;
@@ -725,9 +732,11 @@
                     }
                 }
             }
-            StateProcessInstanceAction action = actionMap.get(processTaskListVO.getTaskId());
-            if (ObjectUtil.isNotEmpty(action)) {
-                processTaskListVO.setReason(action.getRemark());
+            if(!CollectionUtils.isEmpty(actionMap)){
+                StateProcessInstanceAction action = actionMap.get(processTaskListVO.getTaskId());
+                if (ObjectUtil.isNotEmpty(action)) {
+                    processTaskListVO.setReason(action.getRemark());
+                }
             }
             SysUser sysUser = sysUserMap.get(processTaskListVO.getCreateBy());
             if (Objects.nonNull(sysUser)) {
@@ -810,6 +819,14 @@
         if (processTaskListBO.getSortBy() == 2) {
             stateTaskQuery.orderByDesc(BaseModel::getCreateTime);
         }
+        // 查询合同信息
+        List<TContract> tContracts = contractMapper.selectList(Wrappers.<TContract>lambdaQuery()
+                .in(TContract::getStatus, 2,3,4,9));
+        List<String> contractIds = tContracts.stream().map(TContract::getId).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(contractIds)){
+            return new PageInfo<>();
+        }
+        stateTaskQuery.in(StateTaskCenter::getProjectId, contractIds);
         stateTaskQuery.in(StateTaskCenter::getFlowId, instanceId);
         PageInfo pageInfo = new PageInfo<>(processTaskListBO.getPageNum(), processTaskListBO.getPageSize());
         PageInfo<StateTaskCenter> taskCenters = stateTaskCenterService.page(pageInfo,stateTaskQuery);
@@ -1287,6 +1304,12 @@
         }
         BeanUtil.copyProperties(contract, processDetailVO);
 
+        // 查询递增递减
+        TContractRentType tContractRentType = contractRentTypeMapper.selectOne(Wrappers.lambdaQuery(TContractRentType.class)
+                .eq(TContractRentType::getContractId, contract.getId())
+                .last("LIMIT 1"));
+        processDetailVO.setContractRentType(tContractRentType);
+
         // 查询历史任务
         List<FlwHisTask> flwHisTasks = flwHisTaskMapper.selectList(Wrappers.<FlwHisTask>lambdaQuery().eq(FlwHisTask::getInstanceId, instanceId));
         processDetailVO.setInstanceId(String.valueOf(instanceId));
@@ -1342,6 +1365,17 @@
         if (processTaskListBO.getSortBy() == 2) {
             stateTaskQuery.orderByDesc(FlwHisTask::getCreateTime);
         }
+        List<TContract> tContracts = contractMapper.selectList(Wrappers.<TContract>lambdaQuery()
+                .in(TContract::getStatus, 2,3,4,9));
+        List<String> contractIds = tContracts.stream().map(TContract::getId).collect(Collectors.toList());
+        if(CollectionUtils.isEmpty(contractIds)){
+            return new PageInfo<>();
+        }
+        List<StateTaskCenter> list = stateTaskCenterService.list(Wrappers.<StateTaskCenter>lambdaQuery().in(StateTaskCenter::getProjectId, contractIds));
+        if(!CollectionUtils.isEmpty(list)){
+            List<String> flowIds = list.stream().map(StateTaskCenter::getFlowId).collect(Collectors.toList());
+            stateTaskQuery.in(FlwHisTask::getInstanceId, flowIds);
+        }
         stateTaskQuery.eq(FlwHisTask::getParentTaskId, 0L);
         stateTaskQuery.like(FlwHisTask::getCreateId, userId);
         PageInfo pageInfo = new PageInfo<>(processTaskListBO.getPageNum(), processTaskListBO.getPageSize());

--
Gitblit v1.7.1