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 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 48 insertions(+), 6 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 14e744d..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; /** * 流程模版分页 @@ -580,6 +583,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, instanceIds); PageInfo pageInfo = new PageInfo(processTaskListBO.getPageNum(), processTaskListBO.getPageSize()); PageInfo<StateTaskCenter> taskCenters = stateTaskCenterService.page(pageInfo,stateTaskQuery); @@ -686,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; @@ -718,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)) { @@ -803,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); @@ -1004,6 +1028,7 @@ FlwTask flwTask = flwTaskMapper.selectById(taskId); // 直接拒绝当前流程 flowLongEngine.runtimeService().reject(flwTask.getInstanceId(), currentFlowCreator()); + flwTaskMapper.deleteById(taskId); // 动作执行记录 StateProcessInstanceAction record = new StateProcessInstanceAction(); record.setId(IdUtils.simpleUUID()); @@ -1279,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)); @@ -1334,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