xuhy
2025-04-27 5fa6e6f8410ef9d057174bcff2a3c5038c54a551
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,9 +1304,15 @@
        }
        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));
        processDetailVO.setFlwHisTasks(flwHisTasks);
        List<StateProcessInstanceAction> list = stateProcessInstanceActionService.list(Wrappers.<StateProcessInstanceAction>lambdaQuery().eq(StateProcessInstanceAction::getInstanceId, 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());