Browse Source

车辆外采流程办理

master
yxt_djz 3 years ago
parent
commit
32b21f4b69
  1. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeign.java
  2. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationFeignFallback.java
  3. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java
  4. 21
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  5. 7
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  6. 10
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  7. 10
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  8. 79
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  9. 12
      anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js
  10. 33
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue

7
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<String, Object> variables);
@ApiOperation(value = "获取下一个环节")
@PostMapping(value = "/getNextNodesForSubmit")
ResultBean getNextNodesForSubmit(@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables);
@ApiOperation(value = "获取上一个环节")
@PostMapping(value = "/getPreviousNodesForReject")
ResultBean getPreviousNodesForReject(@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess/{userSid}/{businessSid}")

10
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<String, Object> variables) {
return null;
}
@Override
public ResultBean getPreviousNodesForReject(Map<String, Object> variables) {
return null;
}
}

10
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<String, Object> variables) {
return baseOutsourcingApplicationService.getProcessCirculationNodesByMap(variables);
}
@Override
public ResultBean getNextNodesForSubmit(Map<String, Object> variables) {
return baseOutsourcingApplicationService.getNextNodesForSubmit(variables);
}
@Override
public ResultBean getPreviousNodesForReject(Map<String, Object> variables) {
return baseOutsourcingApplicationService.getPreviousNodesForReject(variables);
}
}

21
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<BaseOu
processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap;
}
public ResultBean getNextNodesForSubmit(Map<String, Object> 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<String, Object> 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;
}
}

7
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);
}

10
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;
}
}

10
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);
}
}

79
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<FlowTaskMapper, FlowTask
ResultBean r = ResultBean.fireSuccess().setData(result);
return r;
}
public ResultBean getNextNodesForSubmit(BusinessVariables bv) {
String modelId = null;
if (bv.getModelId()!= null) {
modelId = bv.getModelId();
}
String procId = null;
if (bv.getModelId() != null) {
procId = bv.getModelId();
}
List<FlowElement> flowElements = processService.calApprovePath(procId, modelId, bv.getFormVariables());
ResultBean<List<Map<String, Object>>> rb = new ResultBean<List<Map<String, Object>>>();
List<Map<String, Object>> list = new ArrayList<>();
boolean endTask=true;
Map<String, Object> map = new HashMap<>();
for (int i=0;i<flowElements.size();i++) {
FlowElement f =flowElements.get(i);
if(i+1<flowElements.size()&&bv.getTaskDefKey().equals(f.getId())){
f =flowElements.get(i+1);
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);
endTask=false;
map.put("endTask", endTask);}
}
if(endTask){
map.put("name", "结束");
map.put("id","endAction");
map.put("endTask", true);
map.put("candidateGroups", "");
}
list.add(map);
return rb.setData(list);
}
public ResultBean getPreviousNodesForReject(BusinessVariables bv) {
String modelId = null;
if (bv.getModelId()!= null) {
modelId = bv.getModelId();
}
String procId = null;
if (bv.getModelId() != null) {
procId = bv.getModelId();
}
List<FlowElement> flowElements = processService.calApprovePath(procId, modelId, bv.getFormVariables());
ResultBean<List<Map<String, Object>>> rb = new ResultBean<List<Map<String, Object>>>();
List<Map<String, Object>> list = new ArrayList<>();
boolean startTask=true;
Map<String, Object> map = new HashMap<>();
for (int i=0;i<flowElements.size();i++) {
FlowElement f =flowElements.get(i);
if(i>0&&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);
}
}

12
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'
}
})
}
}

33
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;i<arr.length;i++){
if(i>0&&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<arr.length;i++){
if(i+1<arr.length&&this.formobj.taskDefKey==arr[i].id){
this.nextNode=arr[i+1];
//
this.endTask=false;
}
}
//
if(this.endTask){
this.nextNode={
name:'结束'
}
}
this.nextNode=arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false

Loading…
Cancel
Save