| | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.aizuda.bpm.engine.FlowLongEngine; |
| | | import com.aizuda.bpm.engine.TaskService; |
| | | import com.aizuda.bpm.engine.core.FlowCreator; |
| | | import com.aizuda.bpm.engine.core.enums.InstanceState; |
| | | import com.aizuda.bpm.engine.core.enums.TaskType; |
| | | import com.aizuda.bpm.engine.dao.FlwInstanceDao; |
| | | import com.aizuda.bpm.engine.entity.*; |
| | | import com.aizuda.bpm.engine.model.NodeModel; |
| | | import com.aizuda.bpm.mybatisplus.mapper.*; |
| | |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.enums.StateProcessActionEnum; |
| | | import com.ruoyi.common.enums.TaskEventType; |
| | | import com.ruoyi.common.exception.GlobalException; |
| | | import com.ruoyi.common.exception.state.StateErrorCode; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.system.bo.*; |
| | | import com.ruoyi.system.mapper.StateProcessTemplateMapper; |
| | | import com.ruoyi.system.mapper.TContractMapper; |
| | | import com.ruoyi.system.model.*; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.vo.ProcessDetailVO; |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.function.Supplier; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | |
| | | @Autowired |
| | | private FlwTaskMapper flwTaskMapper; |
| | | @Autowired |
| | | private TaskService taskService; |
| | | @Autowired |
| | | private StateTaskCenterService stateTaskCenterService; |
| | | @Autowired |
| | | private StateProcessModuleService stateProcessModuleService; |
| | |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | @Autowired |
| | | private TContractService contractService; |
| | | private TContractMapper contractMapper; |
| | | |
| | | /** |
| | | * 流程模版分页 |
| | |
| | | // 查询合同信息 |
| | | for (ProcessTaskListVO processTaskListVO : processTaskListVOS) { |
| | | // 查询合同信息 |
| | | TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | processTaskListVO.setContract(contract); |
| | | } |
| | | |
| | |
| | | if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) { |
| | | stateTaskQuery.between(StateTaskCenter::getCreateTime, startTime, endTime); |
| | | } |
| | | if(Objects.isNull(processTaskListBO.getSortBy())){ |
| | | processTaskListBO.setSortBy(2); |
| | | } |
| | | if (processTaskListBO.getSortBy() == 1) { |
| | | stateTaskQuery.orderByAsc(BaseModel::getCreateTime); |
| | | } |
| | |
| | | // 查询合同信息 |
| | | for (ProcessTaskListVO processTaskListVO : processTaskListVOS) { |
| | | // 查询合同信息 |
| | | TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | processTaskListVO.setContract(contract); |
| | | } |
| | | |
| | |
| | | // 查询合同信息 |
| | | for (ProcessTaskListVO processTaskListVO : processTaskListVOS) { |
| | | // 查询合同信息 |
| | | TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | processTaskListVO.setContract(contract); |
| | | } |
| | | |
| | |
| | | if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) { |
| | | stateTaskQuery.between(StateTaskCenter::getCreateTime, startTime, endTime); |
| | | } |
| | | if(Objects.isNull(processTaskListBO.getSortBy())){ |
| | | processTaskListBO.setSortBy(2); |
| | | } |
| | | if (processTaskListBO.getSortBy() == 1) { |
| | | stateTaskQuery.orderByAsc(BaseModel::getCreateTime); |
| | | } |
| | |
| | | // 查询合同信息 |
| | | for (ProcessTaskListVO processTaskListVO : processTaskListVOS) { |
| | | // 查询合同信息 |
| | | TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | processTaskListVO.setContract(contract); |
| | | } |
| | | |
| | |
| | | stateProcessInstanceAction.setActionType(StateProcessActionEnum.APPROVED.getValue()); |
| | | stateProcessInstanceAction.setNodeId(processAgreeBO.getTaskId()); |
| | | stateProcessInstanceAction.setRemark(processAgreeBO.getRemark()); |
| | | stateProcessInstanceAction.setPictures(processAgreeBO.getPictures()); |
| | | stateProcessInstanceActionService.save(stateProcessInstanceAction); |
| | | } |
| | | |
| | |
| | | record.setActionType(StateProcessActionEnum.REJECTED.getValue()); |
| | | record.setNodeId(processRefuseBO.getTaskId()); |
| | | record.setRemark(processRefuseBO.getRemark()); |
| | | record.setPictures(processRefuseBO.getPictures()); |
| | | stateProcessInstanceActionService.save(record); |
| | | } |
| | | @Override |
| | | public void revoke(Long instanceId) { |
| | | FlowCreator flowCreator = FlowCreator.of(String.valueOf(SecurityUtils.getUserId()), SecurityUtils.getLoginUser().getUser().getNickName()); |
| | | flowLongEngine.runtimeService().revoke(instanceId, flowCreator); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if(Objects.nonNull(flwTask)){ |
| | | instanceId = flwTask.getInstanceId(); |
| | | // 查询合同信息 |
| | | contract = contractService.getById(JSONObject.parseObject(flwTask.getVariable()).getString("projectId")); |
| | | contract = contractMapper.selectById(JSONObject.parseObject(flwTask.getVariable()).getString("projectId")); |
| | | }else { |
| | | FlwHisTask flwHisTask = flwHisTaskMapper.selectById(Long.valueOf(taskId)); |
| | | if(Objects.isNull(flwHisTask)){ |
| | | throw new GlobalException("流程不存在"); |
| | | } |
| | | instanceId = flwHisTask.getInstanceId(); |
| | | contract = contractService.getById(Objects.requireNonNull(JSONObject.parseObject(flwHisTask.getVariable())).getString("projectId")); |
| | | contract = contractMapper.selectById(Objects.requireNonNull(JSONObject.parseObject(flwHisTask.getVariable())).getString("projectId")); |
| | | } |
| | | BeanUtil.copyProperties(contract, processDetailVO); |
| | | |
| | |
| | | List<FlwHisTask> flwHisTasks = flwHisTaskMapper.selectList(Wrappers.<FlwHisTask>lambdaQuery().eq(FlwHisTask::getInstanceId, instanceId)); |
| | | processDetailVO.setFlwHisTasks(flwHisTasks); |
| | | |
| | | List<StateProcessInstanceAction> list = stateProcessInstanceActionService.list(Wrappers.<StateProcessInstanceAction>lambdaQuery().eq(StateProcessInstanceAction::getInstanceId, flwTask.getInstanceId()) |
| | | .orderByDesc(StateProcessInstanceAction::getCreateTime)); |
| | | List<StateProcessInstanceAction> list = stateProcessInstanceActionService.list(Wrappers.<StateProcessInstanceAction>lambdaQuery().eq(StateProcessInstanceAction::getInstanceId, instanceId) |
| | | .orderByAsc(StateProcessInstanceAction::getCreateTime)); |
| | | for (StateProcessInstanceAction stateProcessInstanceAction : list) { |
| | | SysUser sysUser = sysUserService.selectUserById(Long.valueOf(stateProcessInstanceAction.getAuditorId())); |
| | | if(Objects.nonNull(sysUser)){ |
| | |
| | | if (ObjectUtil.isNotEmpty(startTime) && ObjectUtil.isNotEmpty(endTime)) { |
| | | stateTaskQuery.between(FlwHisTask::getCreateTime, startTime, endTime); |
| | | } |
| | | if(Objects.isNull(processTaskListBO.getSortBy())){ |
| | | processTaskListBO.setSortBy(2); |
| | | } |
| | | if (processTaskListBO.getSortBy() == 1) { |
| | | stateTaskQuery.orderByAsc(FlwHisTask::getCreateTime); |
| | | } |
| | |
| | | // 查询合同信息 |
| | | for (ProcessTaskListVO processTaskListVO : processTaskListVOS) { |
| | | // 查询合同信息 |
| | | TContract contract = contractService.getById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | TContract contract = contractMapper.selectById(JSONObject.parseObject(processTaskListVO.getVariable()).getString("projectId")); |
| | | processTaskListVO.setContract(contract); |
| | | } |
| | | |