diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/AController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/AController.java index 326af3b5..bac11c2a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/AController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/AController.java @@ -104,6 +104,97 @@ public class AController { return Result.OK(map); } + @ApiOperation(value="启动流程") + @PostMapping("/start") + public Result> start(@RequestBody Map map) { + String key = map.get("key").toString(); +// 1、创建ProcessEngine + ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); +// 2、获取RunTimeService + RuntimeService runtimeService = processEngine.getRuntimeService(); + +// 3、根据流程定义Id启动流程 + ProcessInstance processInstance = runtimeService + .startProcessInstanceByKey(key, map); + String processDefinitionId = processInstance.getProcessDefinitionId(); +// 输出内容 + Map map1 = new HashMap<>(); + map1.put("流程Id:", processInstance.getDeploymentId()); + map1.put("流程定义id:", processDefinitionId); + map1.put("流程实例id:", processInstance.getId()); + map1.put("当前活动Id:", processInstance.getActivityId()); + + //从流程节点源表中保存一份流程节点信息到流程节点表 + LambdaQueryWrapper processNodeOriginLambdaQueryWrapper = new LambdaQueryWrapper<>(); + processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getNodeType,"userTask") + .orderByAsc(ProcessNodeOrigin::getSort); + + List processNodeOrigins = processNodeOriginService.list(processNodeOriginLambdaQueryWrapper); + List processNodes = new ArrayList<>(); + for (ProcessNodeOrigin processNodeOrigin : processNodeOrigins) { + ProcessNode processNode = new ProcessNode(); + BeanUtils.copyProperties(processNodeOrigin, processNode); + processNode.setId(null); + processNodes.add(processNode); + } + processNodeService.saveBatch(processNodes); + for (ProcessNode processNode : processNodes) { + if (processNode.getNodeName().equals("填写基本信息,在线编辑,分发其他起草人")) { + //todo 关联关系 + } + } + String mainDrafter = map.get("mainDrafter").toString(); + + return Result.OK(map1); + } + + @ApiOperation(value="查询待办列表") + @GetMapping("/getTaskList") + public Result>> testFindPersonalTaskList(@RequestParam(value = "assignee") String assignee, + @RequestParam(value = "processKey") String processKey, + @RequestParam(value = "group") String group) { +// 根据流程key 和 任务负责人 查询任务 + TaskQuery taskQuery = taskService.createTaskQuery(); + if (StringUtils.isNotBlank(assignee)) { + taskQuery.taskAssignee(assignee);//只查询该任务负责人的任务 + } + if (StringUtils.isNotBlank(group)) { + taskQuery.taskCandidateGroup(group);//只查询该组的任务 + } + if (StringUtils.isNotBlank(processKey)) { + taskQuery.processDefinitionKey(processKey); //流程Key + } + List list = taskQuery.list(); + List> resut = new ArrayList<>(); + for (Task task : list) { + Map map = new HashMap<>(); + map.put("流程实例id:", task.getProcessInstanceId()); + map.put("任务id:", task.getId()); + map.put("任务负责人:", task.getAssignee()); + map.put("任务名称:", task.getName()); + //map.put("任务名称:", task.get); + resut.add(map); + } + return Result.OK(resut); + } + + @ApiOperation(value="完成任务") + @PostMapping("/complete") + public Result complete(@RequestBody Map map) { + //todo 判断当前节点,执行不同的操作 + String taskId = map.get("taskId").toString(); + //Map vars = new HashMap<>(); + //List otherDrafterList = new ArrayList<>(); + //otherDrafterList.add("zhangsan"); + //otherDrafterList.add("lisi"); + //otherDrafterList.add("wangwu"); + //vars.put("leaderList", otherDrafterList); + //Map map = new HashMap<>(); + //map.put("status", 2); + taskService.complete(taskId, map); + return Result.OK(); + } + @GetMapping("/deleteDeployment") @ApiOperation(value = "删除已部署的流程定义", notes = "删除已部署的流程定义") public Result deleteDeployment(@RequestParam(value = "id", required = false) String id) { @@ -147,78 +238,8 @@ public class AController { return Result.OK(allList); } - @ApiOperation(value="启动流程") - @PostMapping("/start") - public Result> start(@RequestBody Map map) { - String key = map.get("key").toString(); -// 1、创建ProcessEngine - ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); -// 2、获取RunTimeService - RuntimeService runtimeService = processEngine.getRuntimeService(); -// 3、根据流程定义Id启动流程 - ProcessInstance processInstance = runtimeService - .startProcessInstanceByKey(key, map); - String processDefinitionId = processInstance.getProcessDefinitionId(); -// 输出内容 - Map map1 = new HashMap<>(); - map1.put("流程Id:", processInstance.getDeploymentId()); - map1.put("流程定义id:", processDefinitionId); - map1.put("流程实例id:", processInstance.getId()); - map1.put("当前活动Id:", processInstance.getActivityId()); - //从流程节点源表中保存一份流程节点信息到流程节点表 - LambdaQueryWrapper processNodeOriginLambdaQueryWrapper = new LambdaQueryWrapper<>(); - processNodeOriginLambdaQueryWrapper.eq(ProcessNodeOrigin::getNodeType,"userTask") - .orderByAsc(ProcessNodeOrigin::getSort); - - List processNodeOrigins = processNodeOriginService.list(processNodeOriginLambdaQueryWrapper); - List processNodes = new ArrayList<>(); - for (ProcessNodeOrigin processNodeOrigin : processNodeOrigins) { - ProcessNode processNode = new ProcessNode(); - BeanUtils.copyProperties(processNodeOrigin, processNode); - processNode.setId(null); - processNodes.add(processNode); - } - processNodeService.saveBatch(processNodes); - for (ProcessNode processNode : processNodes) { - if (processNode.getNodeName().equals("填写基本信息,在线编辑,分发其他起草人")) { - //todo 关联关系 - } - } - String mainDrafter = map.get("mainDrafter").toString(); - - return Result.OK(map1); - } - @ApiOperation(value="查询待办列表") - @GetMapping("/getTaskList") - public Result>> testFindPersonalTaskList(@RequestParam(value = "assignee") String assignee, - @RequestParam(value = "processKey") String processKey, - @RequestParam(value = "group") String group) { -// 根据流程key 和 任务负责人 查询任务 - TaskQuery taskQuery = taskService.createTaskQuery(); - if (StringUtils.isNotBlank(assignee)) { - taskQuery.taskAssignee(assignee);//只查询该任务负责人的任务 - } - if (StringUtils.isNotBlank(group)) { - taskQuery.taskCandidateGroup(group);//只查询该组的任务 - } - if (StringUtils.isNotBlank(processKey)) { - taskQuery.processDefinitionKey(processKey); //流程Key - } - List list = taskQuery.list(); - List> resut = new ArrayList<>(); - for (Task task : list) { - Map map = new HashMap<>(); - map.put("流程实例id:", task.getProcessInstanceId()); - map.put("任务id:", task.getId()); - map.put("任务负责人:", task.getAssignee()); - map.put("任务名称:", task.getName()); - //map.put("任务名称:", task.get); - resut.add(map); - } - return Result.OK(resut); - } @ApiOperation(value="签收任务") @PostMapping("/claim") public Result claim(@RequestBody Map map) { @@ -228,21 +249,7 @@ public class AController { return Result.OK(); } - @ApiOperation(value="完成任务") - @PostMapping("/complete") - public Result complete(@RequestBody Map map) { - String taskId = map.get("taskId").toString(); - //Map vars = new HashMap<>(); - //List otherDrafterList = new ArrayList<>(); - //otherDrafterList.add("zhangsan"); - //otherDrafterList.add("lisi"); - //otherDrafterList.add("wangwu"); - //vars.put("leaderList", otherDrafterList); - //Map map = new HashMap<>(); - //map.put("status", 2); - taskService.complete(taskId, map); - return Result.OK(); - } + /** * 加签