diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java index 5c3ccc4938..0baa7ff844 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java @@ -118,6 +118,13 @@ public interface BaseOutsourcingApplicationFeign { @ApiOperation(value = "根据流程实例的id获取最新待办环节") @PostMapping(value = "/getProcessCirculationNodesByMap") ResultBean getProcessCirculationNodesByMap(@ApiParam(value = "变量集合,json对象") @RequestBody Map variables); + @ApiOperation(value = "获取下一个环节") + @PostMapping(value = "/getNextNodesForSubmit") + ResultBean getNextNodesForSubmit(@ApiParam(value = "变量集合,json对象") @RequestBody Map variables); + + @ApiOperation(value = "获取上一个环节") + @PostMapping(value = "/getPreviousNodesForReject") + ResultBean getPreviousNodesForReject(@ApiParam(value = "变量集合,json对象") @RequestBody Map variables); @ApiOperation(value = "撤回流程") @PostMapping(value = "/revokeProcess/{userSid}/{businessSid}") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java index 8b5618b1a7..3a0ffea697 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java @@ -137,4 +137,14 @@ public class BaseOutsourcingApplicationFeignFallback implements BaseOutsourcingA return null; } + @Override + public ResultBean getNextNodesForSubmit(Map variables) { + return null; + } + + @Override + public ResultBean getPreviousNodesForReject(Map variables) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java index 2dd3ba9898..9bfc9eebb8 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java @@ -170,4 +170,14 @@ public class BaseOutsourcingApplicationRest implements BaseOutsourcingApplicatio public ResultBean getProcessCirculationNodesByMap(Map variables) { return baseOutsourcingApplicationService.getProcessCirculationNodesByMap(variables); } + + @Override + public ResultBean getNextNodesForSubmit(Map variables) { + return baseOutsourcingApplicationService.getNextNodesForSubmit(variables); + } + + @Override + public ResultBean getPreviousNodesForReject(Map variables) { + return baseOutsourcingApplicationService.getPreviousNodesForReject(variables); + } } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java index bd0b4bb6d5..f35dfd5d27 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java @@ -489,4 +489,25 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService variables) { + BusinessVariables bv= BusinessVariables.builder().build(); + bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId()); + bv.setTaskDefKey(variables.get("taskDefKey").toString()); + bv.setFormVariables(variables); + ResultBean processCirculationNodesByMap =flowTaskFeign.getNextNodesForSubmit(bv); + processCirculationNodesByMap.setCode("200"); + processCirculationNodesByMap.setSuccess(true); + return processCirculationNodesByMap; + } + + public ResultBean getPreviousNodesForReject(Map variables) { + BusinessVariables bv= BusinessVariables.builder().build(); + bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId()); + bv.setFormVariables(variables); + ResultBean processCirculationNodesByMap =flowTaskFeign.getPreviousNodesForReject(bv); + processCirculationNodesByMap.setCode("200"); + processCirculationNodesByMap.setSuccess(true); + return processCirculationNodesByMap; + } } \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java index fac9949711..47334125c3 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java @@ -163,5 +163,10 @@ public interface FlowTaskFeign { @ApiOperation("获取流程图") @GetMapping("/readXml/{sid}") ResultBean readXml(@PathVariable(value ="sid") String sid); - + @ApiOperation(value = "获取下一个环节") + @PostMapping(value = "/getNextNodesForSubmit") + ResultBean getNextNodesForSubmit(@RequestBody BusinessVariables bv); + @ApiOperation(value = "根据流程实例的id获取最新待办环节") + @PostMapping(value = "/获取上一个环节") + ResultBean getPreviousNodesForReject(@RequestBody BusinessVariables bv); } diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java index d76336f5e3..6752183848 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java @@ -156,4 +156,14 @@ public class FlowTaskFeignFallBack implements FlowTaskFeign { return null; } + @Override + public ResultBean getNextNodesForSubmit(BusinessVariables bv) { + return null; + } + + @Override + public ResultBean getPreviousNodesForReject(BusinessVariables bv) { + return null; + } + } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java index 70e61f2150..e61b75ea48 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java @@ -285,4 +285,14 @@ public class FlowTaskController implements FlowTaskFeign { public ResultBean readXml(String deployId) { return flowTaskService.readXml(deployId); } + + @Override + public ResultBean getNextNodesForSubmit(BusinessVariables bv) { + return flowTaskService.getNextNodesForSubmit(bv); + } + + @Override + public ResultBean getPreviousNodesForReject(BusinessVariables bv) { + return flowTaskService.getPreviousNodesForReject(bv); + } } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java index 9975cdcf8c..96f5f2698c 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java @@ -1573,4 +1573,83 @@ public class FlowTaskService extends MybatisBaseService flowElements = processService.calApprovePath(procId, modelId, bv.getFormVariables()); + ResultBean>> rb = new ResultBean>>(); + List> list = new ArrayList<>(); + boolean endTask=true; + Map map = new HashMap<>(); + for (int i=0;i flowElements = processService.calApprovePath(procId, modelId, bv.getFormVariables()); + ResultBean>> rb = new ResultBean>>(); + List> list = new ArrayList<>(); + boolean startTask=true; + Map map = new HashMap<>(); + for (int i=0;i0&&bv.getTaskDefKey().equals(f.getId())){ + f =flowElements.get(i-1); + //this.nextNode=arr[i-1]; + //不是最后一个环节 + //this.startTask=false; + map.put("name", f.getName()); + map.put("id", f.getId()); + String s = JSON.toJSONString(f); + JSONObject jsonObject = JSONObject.parseObject(s); + Object candidateGroups = jsonObject.get("candidateGroups"); + map.put("candidateGroups", candidateGroups); + startTask=false; + map.put("startTask",startTask); + } + } + if(startTask){ + map.put("name", ""); + map.put("id",""); + map.put("candidateGroups", ""); + map.put("startTask",true); + } + list.add(map); + return rb.setData(list); + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js b/anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js index 54d3ea2e03..06fc686ff8 100644 --- a/anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js +++ b/anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js @@ -133,7 +133,7 @@ export default { }, getNextNodesForSubmit: function(data) { return request({ - url: '/base/baseoutsourcingapplication/getProcessCirculationNodesByMap', + url: '/base/baseoutsourcingapplication/getNextNodesForSubmit', method: 'post', data: data, headers: { @@ -150,5 +150,15 @@ export default { 'Content-Type': 'application/json' } }) + }, + getPreviousNodesForReject(formobj) { + return request({ + url: '/base/baseoutsourcingapplication/getPreviousNodesForReject', + method: 'post', + data: data, + headers: { + 'Content-Type': 'application/json' + } + }) } } diff --git a/anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue b/anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue index e31b271393..6cf15bc805 100644 --- a/anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue +++ b/anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue @@ -298,23 +298,15 @@ export default { }, // 驳回 openReject() { - req.getNextNodesForSubmit(this.formobj).then(resp=>{ + req.getPreviousNodesForReject(this.formobj).then(resp=>{ if (resp.success) { var arr= resp.data; //循环获取当前环节的下一个环节信息 - for(var i=0;i0&&this.formobj.taskDefKey==arr[i].id){ - this.nextNode=arr[i-1]; - //不是最后一个环节 - this.startTask=false; - } - } - //如果是最后一个环节 则设置一个结束环节 提醒用户 - if(this.startTask){ - this.nextNode={ - name:'外采申请' - } + var startTask=arr[0].startTask; + if(startTask){ + alert('当前环节不能驳回!'); } + this.nextNode=startTask this.nodeDialogVisibleForReject = true } }); @@ -325,20 +317,7 @@ export default { req.getNextNodesForSubmit(this.formobj).then(resp=>{ if (resp.success) { var arr= resp.data; - //循环获取当前环节的下一个环节信息 - for(var i=0;i