| | |
| | | import com.ruoyi.system.vo.ProcessTaskListVO; |
| | | import lombok.AllArgsConstructor; |
| | | import org.apache.commons.io.IOUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class StateProcessTemplateServiceImpl extends ServiceImpl<StateProcessTemplateMapper, StateProcessTemplate> implements StateProcessTemplateService { |
| | | |
| | | private final FlowLongEngine flowLongEngine; |
| | | private final StateProcessInstanceActionService stateProcessInstanceActionService; |
| | | private final StateProcessExtInstanceService stateProcessExtInstanceService; |
| | | private final FlwHisInstanceMapper flwHisInstanceMapper; |
| | | private final FlwTaskActorMapper flwTaskActorMapper; |
| | | private final FlwTaskMapper flwTaskMapper; |
| | | private final StateTaskCenterService stateTaskCenterService; |
| | | private final StateProcessModuleService stateProcessModuleService; |
| | | private final FlwHisTaskMapper flwHisTaskMapper; |
| | | private final FlwHisTaskActorMapper flwHisTaskActorMapper; |
| | | private final ISysUserService sysUserService; |
| | | @Autowired |
| | | private FlowLongEngine flowLongEngine; |
| | | @Autowired |
| | | private StateProcessInstanceActionService stateProcessInstanceActionService; |
| | | @Autowired |
| | | private StateProcessExtInstanceService stateProcessExtInstanceService; |
| | | @Autowired |
| | | private FlwHisInstanceMapper flwHisInstanceMapper; |
| | | @Autowired |
| | | private FlwTaskActorMapper flwTaskActorMapper; |
| | | @Autowired |
| | | private FlwTaskMapper flwTaskMapper; |
| | | @Autowired |
| | | private StateTaskCenterService stateTaskCenterService; |
| | | @Autowired |
| | | private StateProcessModuleService stateProcessModuleService; |
| | | @Autowired |
| | | private FlwHisTaskMapper flwHisTaskMapper; |
| | | @Autowired |
| | | private FlwHisTaskActorMapper flwHisTaskActorMapper; |
| | | @Autowired |
| | | private ISysUserService sysUserService; |
| | | |
| | | /** |
| | | * 流程模版分页 |
| | |
| | | |
| | | // 更新模板, version+1 |
| | | StateProcessTemplate processTemplate = new StateProcessTemplate(); |
| | | processTemplate.setId(IdUtils.simpleUUID()); |
| | | processTemplate.setId(processUpdateBO.getId()); |
| | | processTemplate.setWorkFlowId(deployId); |
| | | processTemplate.setWorkflowVersion(flwProcess.getProcessVersion()); |
| | | processTemplate.setTemplateName(processUpdateBO.getTemplateName()); |
| | |
| | | processTemplate.setUpdateBy(SecurityUtils.getLoginUser().getUsername()); |
| | | processTemplate.setUpdateTime(LocalDateTime.now()); |
| | | processTemplate.setTemplateVersion(temp.getTemplateVersion() + 1); |
| | | this.save(processTemplate); |
| | | return this.updateById(processTemplate); |
| | | |
| | | //查询版本是否绑定流程,更新 |
| | | LambdaQueryWrapper<StateProcessModule> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(StateProcessModule::getTemplateId, processUpdateBO.getId()); |
| | | List<StateProcessModule> stateProcessModules = stateProcessModuleService.list(queryWrapper); |
| | | if (Objects.isNull(stateProcessModules) || stateProcessModules.isEmpty()) { |
| | | return true; |
| | | } |
| | | for (StateProcessModule stateProcessModule : stateProcessModules) { |
| | | stateProcessModule.setTemplateId(processTemplate.getId()); |
| | | stateProcessModule.setTemplateName(processTemplate.getTemplateName()); |
| | | } |
| | | return stateProcessModuleService.updateBatchById(stateProcessModules); |
| | | // LambdaQueryWrapper<StateProcessModule> queryWrapper = new LambdaQueryWrapper<>(); |
| | | // queryWrapper.eq(StateProcessModule::getTemplateId, processUpdateBO.getId()); |
| | | // List<StateProcessModule> stateProcessModules = stateProcessModuleService.list(queryWrapper); |
| | | // if (Objects.isNull(stateProcessModules) || stateProcessModules.isEmpty()) { |
| | | // return true; |
| | | // } |
| | | // for (StateProcessModule stateProcessModule : stateProcessModules) { |
| | | // stateProcessModule.setTemplateId(processTemplate.getId()); |
| | | // stateProcessModule.setTemplateName(processTemplate.getTemplateName()); |
| | | // } |
| | | // return stateProcessModuleService.updateBatchById(stateProcessModules); |
| | | } |
| | | |
| | | /** |
| | |
| | | //监听器参数补全 |
| | | processStartBO.getVariable().put("category", processStartBO.getCategory()); |
| | | // 开启流程 |
| | | flowLongEngine.startInstanceById(flwProcess.getId(), creator, processStartBO.getVariable()).ifPresent(instance -> { |
| | | Optional<FlwInstance> flwInstanceOptional = flowLongEngine.startInstanceById(flwProcess.getId(), creator, processStartBO.getVariable()); |
| | | if(flwInstanceOptional.isPresent()){ |
| | | FlwInstance instance = flwInstanceOptional.get(); |
| | | //存储任务中心信息 |
| | | StateTaskCenter stateTaskCenter = new StateTaskCenter(); |
| | | stateTaskCenter.setId(IdUtils.simpleUUID()); |
| | |
| | | //保存version |
| | | stateProcessExtInstance.setProcessVersion(flwProcess.getProcessVersion()); |
| | | stateProcessExtInstanceService.save(stateProcessExtInstance); |
| | | }); |
| | | } |
| | | return true; |
| | | } |
| | | |