Browse Source

车辆外采流程办理

master
yxt_djz 3 years ago
parent
commit
07ce25547f
  1. 13
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java
  2. 42
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  3. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  4. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  5. 8
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
  6. 15
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
  7. 28
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java
  8. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  9. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  10. 36
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java
  11. 48
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
  12. 14
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java
  13. 10
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java
  14. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  15. 12
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  16. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

13
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationRest.java

@ -29,6 +29,8 @@ import com.yxt.anrui.base.api.baseoutsourcingapplication.*;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleVo;
import com.yxt.anrui.base.api.flow.FlowTaskVo;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -127,7 +129,16 @@ public class BaseOutsourcingApplicationRest implements BaseOutsourcingApplicatio
@Override
public ResultBean complete(Map<String, Object> variables) {
return baseOutsourcingApplicationService.complete(variables);
BusinessVariables bv= BusinessVariables.builder().build();
bv.setUserSid(variables.get("userSid").toString());
bv.setOrgSidPath(variables.get("orgSidPath").toString());
bv.setTaskDefKey(variables.get("taskDefKey").toString());
bv.setTaskId(variables.get("taskId").toString());
bv.setInstanceId(variables.get("instanceId").toString());
bv.setComment(variables.get("comment").toString());
bv.setBusinessSid(variables.get("businessSid").toString());
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
return baseOutsourcingApplicationService.complete(bv);
}
@Override

42
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -288,28 +288,27 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
SysStaffOrg sysStaffOrg=sysStaffOrgFeign.getOrgByStaffSid(dto.getStaffSid()).getData();
String orgSidPath=sysStaffOrg.getOrgSidPath();
Map<String, Object> variables=BeanUtil.beanToMap(dto);
String orgSid = sysStaffOrg.getOrgSid();//checkUserOrg(dto.getStaffSid());
ResultBean resultBean = saveOrUpdateDto(dto);
String businessSid = resultBean.getData().toString();
variables.put("orgSidPath",orgSidPath);
variables.put("businessSid", businessSid);
variables.put("orgSid", orgSid); //部门sid
BusinessVariables bv= BusinessVariables.builder().build();
bv.setOrgSidPath(orgSidPath);
bv.setBusinessSid(businessSid);
bv.setUserSid(dto.getUserSid());
variables.put("businessSid",businessSid);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
//如果taskid从业务的数据库中查询出来,那这个taskid 和当前的关系是什么 如果数据库中查询出来的taskid是第四个环节的id,但是目前是做的第一次的提交操作。
// 应该是也不允许走if 也不运行走else 那应该如何验证这个id是否允许走else呢?
// 取出来业务数据的taskid和前端传递的taskid作比较 来判断数据的是否有效 本质上是数据版本一致性的问题
if (StringUtils.isBlank(dto.getTaskId())) { // 新提交
StartProcessDto startProcessDto =new StartProcessDto();
startProcessDto.setProDefId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
startProcessDto.setUserSid(dto.getUserSid());
startProcessDto.setVariables(variables);
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(startProcessDto);
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.startProcess(bv);
UpdateFlowFieldVo uff=resultBean1.getData();
updateFlowFiled(BeanUtil.beanToMap(uff));
return resultBean1;
} else { // 驳回到发起人后再次提交
variables.put("comment", StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
variables.put("instanceId", dto.getInstanceId());
variables.put("taskId", dto.getTaskId());
variables.put("userSid", dto.getUserSid());
return complete(variables);
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
}
/* public ResultBean submitBaseOutSourcingApplication(String sid,String userSid) {
@ -387,13 +386,10 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
/**
* 办理
* @param variables
* @param bv
* @return
*/
public ResultBean complete(Map<String, Object> variables) {
variables.put("modelId",ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
BusinessVariables bv= BusinessVariables.builder().build();
bv.setFormVariables(variables);
public ResultBean complete(BusinessVariables bv) {
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv);
updateFlowFiled(BeanUtil.beanToMap(rb.getData()));
return rb;
@ -485,8 +481,10 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
}
public ResultBean getProcessCirculationNodesByMap(Map<String, Object> variables) {
variables.put("modelId",ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
ResultBean processCirculationNodesByMap =flowTaskFeign.getProcessCirculationNodesByMap(variables);
BusinessVariables bv= BusinessVariables.builder().build();
bv.setModelId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
bv.setFormVariables(variables);
ResultBean processCirculationNodesByMap =flowTaskFeign.getProcessCirculationNodesByMap(bv);
processCirculationNodesByMap.setCode("200");
processCirculationNodesByMap.setSuccess(true);
return processCirculationNodesByMap;

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -242,7 +242,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
Map<String, Object> variables = new HashMap<>();
variables.put("businessSid", businessSid);
variables.put("orgSid", orgSid);
ResultBean businessResultBean = flowableFeign.businessStart(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId(), userSid, variables);
ResultBean businessResultBean =null;// flowableFeign.businessStart(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId(), userSid, variables);
if (businessResultBean.getSuccess() && businessResultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) businessResultBean.getData();
//更新未售买断业务表中的流程状态

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -704,7 +704,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
variables.put("isLoan1", false);
}
variables.put("orgSid", orgSid);
ResultBean businessResultBean = flowableFeign.businessStart(ProcDefEnum.SALESORDER.getProDefId(), dto.getUserSid(), variables);
ResultBean businessResultBean =null;// flowableFeign.businessStart(ProcDefEnum.SALESORDER.getProDefId(), dto.getUserSid(), variables);
if (businessResultBean.getSuccess() && businessResultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) businessResultBean.getData();
//更新业务表中的流程状态

8
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java

@ -10,7 +10,7 @@ import java.util.Map;
@Component
public class FlowableFallback implements FlowableFeign {
@Override
public ResultBean businessStart(String procDefId, String userSid, Map<String, Object> variables) {
public ResultBean businessStart(BusinessVariables bv) {
return null;
}
@ -35,17 +35,17 @@ public class FlowableFallback implements FlowableFeign {
}
@Override
public ResultBean getNextNodeUserSidsOfCreate(Map<String, Object> variables ) {
public ResultBean getNextNodeUserSidsOfCreate(BusinessVariables bv ) {
return null;
}
@Override
public ResultBean getNextNodeUserSidsOfSubmit(Map<String, Object> variables ) {
public ResultBean getNextNodeUserSidsOfSubmit(BusinessVariables bv ) {
return null;
}
@Override
public ResultBean<UpdateFlowFieldVo> startProcess(StartProcessDto dto) {
public ResultBean<UpdateFlowFieldVo> startProcess(BusinessVariables dto) {
return null;
}

15
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java

@ -21,15 +21,10 @@ public interface FlowableFeign {
/**
* 业务系统发起流程申请
*
* @param procDefId 流程定义id
* @param userSid 用户sid
* @param variables form参数
* @return
*/
@PostMapping("/businessStart/{procDefId}/{userSid}")
public ResultBean businessStart(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables);
@PostMapping("/businessStart")
public ResultBean businessStart(@RequestBody BusinessVariables bv);
/**
* 流程定义列表 一般业务中不需要查询该列表
@ -83,7 +78,7 @@ public interface FlowableFeign {
@ApiOperation(value = "创建流程实例时取下一环节的用户sid")
@PostMapping(value = "/getNextNodeUserSidsOfCreate")
@ResponseBody
ResultBean<String> getNextNodeUserSidsOfCreate( @RequestBody Map<String, Object> variables);
ResultBean<String> getNextNodeUserSidsOfCreate( @RequestBody BusinessVariables bv);
/**
* 提交流程实例时取下一环节的用户sid
*
@ -92,12 +87,12 @@ public interface FlowableFeign {
@ApiOperation(value = "提交流程实例时取下一环节的用户sid")
@PostMapping(value = "/getNextNodeUserSidsOfSubmit")
@ResponseBody
ResultBean getNextNodeUserSidsOfSubmit(@RequestBody Map<String, Object> variables);
ResultBean getNextNodeUserSidsOfSubmit(@RequestBody BusinessVariables bv);
@ApiOperation(value = "启动流程")
@PostMapping(value = "/startProcess")
@ResponseBody
ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody StartProcessDto dto);
ResultBean<UpdateFlowFieldVo> startProcess(@RequestBody BusinessVariables dto);
@ApiOperation(value = "处理流程")
@PostMapping(value = "/handleProsess")

28
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/StartProcessDto.java

@ -3,11 +3,37 @@ package com.yxt.anrui.flowable.api.flow;
import java.util.Map;
public class StartProcessDto {
private String orgSidPath;
private String businessSid;
private String orgSid; //部门sid
private String proDefId;
private String userSid;
private Map<String, Object> variables;
public String getOrgSidPath() {
return orgSidPath;
}
public void setOrgSidPath(String orgSidPath) {
this.orgSidPath = orgSidPath;
}
public String getBusinessSid() {
return businessSid;
}
public void setBusinessSid(String businessSid) {
this.businessSid = businessSid;
}
public String getOrgSid() {
return orgSid;
}
public void setOrgSid(String orgSid) {
this.orgSid = orgSid;
}
public String getProDefId() {
return proDefId;
}

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java

@ -158,7 +158,7 @@ public interface FlowTaskFeign {
@ApiOperation(value = "根据流程实例的id获取最新待办环节")
@PostMapping(value = "/getProcessCirculationNodesByMap")
ResultBean getProcessCirculationNodesByMap(@RequestBody Map<String, Object> variables);
ResultBean getProcessCirculationNodesByMap(@RequestBody BusinessVariables bv);
@ApiOperation("获取流程图")
@GetMapping("/readXml/{sid}")

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java

@ -147,7 +147,7 @@ public class FlowTaskFeignFallBack implements FlowTaskFeign {
return null;
}
@Override
public ResultBean getProcessCirculationNodesByMap(Map<String, Object> variables) {
public ResultBean getProcessCirculationNodesByMap(BusinessVariables bv) {
return null;
}

36
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/sqloperationsymbol/BusinessVariables.java

@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import java.util.Map;
@ -15,7 +16,42 @@ import java.util.Map;
@AllArgsConstructor
@NoArgsConstructor
public class BusinessVariables {
/**
* 流程定义的id
*/
private String modelId;
/**
* 审批意见
*/
private String comment;
/**
* 流程实例的id
*/
private String instanceId;
/**
* taskId
*/
private String taskId;
/**
* 当前用户的id
*/
private String userSid;
/**
* 当前用户部门的全路径
*/
private String orgSidPath;
/**
* 业务sid
*/
private String businessSid;
/**
* 环节定义的ID
*/
private String taskDefKey;
/**
* nextNodeUserSids 下一环节的用户sid
*/
private String nextNodeUserSids;
/**
* 业务参数按需传递
*/

48
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

@ -84,10 +84,8 @@ public class FlowableRest implements FlowableFeign {
protected TaskService taskService;
@Override
public ResultBean businessStart(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables) {
return flowableService.businessStart(procDefId, userSid, variables);
public ResultBean businessStart(BusinessVariables bv) {
return flowableService.businessStart( bv);
}
@Override
@ -115,10 +113,10 @@ public class FlowableRest implements FlowableFeign {
}
@Override
public ResultBean<String> getNextNodeUserSidsOfCreate(Map<String, Object> variables) {
String orgSidPath=(String)variables.get("orgSidPath");
public ResultBean<String> getNextNodeUserSidsOfCreate(BusinessVariables bv) {
String orgSidPath=bv.getOrgSidPath();
//根据业务参数取流程流转的环节 信息
List<Map<String, Object>> list = (List<Map<String, Object>>) flowtaskService.getProcessCirculationNodesByMap(variables).getData();
List<Map<String, Object>> list = (List<Map<String, Object>>) flowtaskService.getProcessCirculationNodesByMap(bv).getData();
//取第二个环节的配置角色
Object o = list.get(1).get("candidateGroups");
JSONArray jsonArray = JSONArray.parseArray(JSON.toJSONString(o));
@ -140,12 +138,13 @@ public class FlowableRest implements FlowableFeign {
}
@Override
public ResultBean getNextNodeUserSidsOfSubmit(Map<String, Object> variables) {
public ResultBean getNextNodeUserSidsOfSubmit(BusinessVariables bv) {
ResultBean rb = ResultBean.fireSuccess();
String orgSidPath=(String)variables.get("orgSidPath");
String taskDefKey=(String)variables.get("taskDefKey");
String orgSidPath=bv.getOrgSidPath();
String taskDefKey=bv.getTaskDefKey();
//根据业务参数取流程流转的环节 信息
List<Map<String, Object>> list = (List<Map<String, Object>>) flowtaskService.getProcessCirculationNodesByMap(variables).getData();
List<Map<String, Object>> list = (List<Map<String, Object>>)
flowtaskService.getProcessCirculationNodesByMap(bv).getData();
Map<String, Object> task_map=new HashMap<>();
//取第二个环节的配置角色
boolean endTask=true;
@ -180,16 +179,16 @@ public class FlowableRest implements FlowableFeign {
}
@Override
public ResultBean<UpdateFlowFieldVo> startProcess(StartProcessDto dto) {
public ResultBean<UpdateFlowFieldVo> startProcess(BusinessVariables dto) {
ResultBean rb = ResultBean.fireFail();
String nextNodeUserSids_=getNextNodeUserSidsOfCreate(dto.getVariables()).getData();
dto.getVariables().put("nextNodeUserSids",nextNodeUserSids_);
ResultBean resultBean1 = flowableService.businessStart(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId(), dto.getUserSid(), dto.getVariables());
String nextNodeUserSids_=getNextNodeUserSidsOfCreate(dto).getData();
dto.setNextNodeUserSids(nextNodeUserSids_);
ResultBean resultBean1 = flowableService.businessStart(dto);
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
if (resultBean1.getSuccess() && resultBean1.getData() != null) {
vo.setSid("" + dto.getVariables().get("businessSid"));
vo.setSid("" + dto.getBusinessSid());
Map<String, String> map = (Map<String, String>) resultBean1.getData();
vo.setProcDefId(ProcDefEnum.BASEOUTSOURCINGAPPLICATION.getProDefId());
vo.setProcDefId(dto.getModelId());
vo.setNodeState(map.get("nodeState"));
vo.setProcInsId(map.get("procInsId"));
vo.setTaskDefKey(map.get("taskDefKey"));
@ -205,27 +204,26 @@ public class FlowableRest implements FlowableFeign {
UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
ResultBean rb = ResultBean.fireFail();
Map<String, Object> formVariables = dto.getFormVariables();
String taskId = (String) formVariables.get("taskId");
String taskId = dto.getTaskId();
if (StringUtils.isBlank(taskId)) {
return rb.setMsg("taskId 不能为空!");
}
String procInsId = (String) formVariables.get("instanceId");
ResultBean<String> resultBean = getNextNodeUserSidsOfSubmit(dto.getFormVariables());
ResultBean<String> resultBean = getNextNodeUserSidsOfSubmit(dto);
String nextUserSid=resultBean.getData();
String comment = (String) formVariables.get("comment");
String comment = dto.getComment();
if (StringUtils.isBlank(comment)) {
return rb.setMsg("comment 不能为空!");
}
String instanceId = (String) formVariables.get("instanceId");
String instanceId = dto.getInstanceId();
if (StringUtils.isBlank(instanceId)) {
return rb.setMsg("instanceId 不能为空!");
}
String userSid = (String) formVariables.get("userSid");
String userSid = dto.getUserSid();
if (StringUtils.isBlank(userSid)) {
return rb.setMsg("userSid 不能为空!");
}
String businessSid = (String) formVariables.get("businessSid");
String businessSid =dto.getBusinessSid();
if (StringUtils.isBlank(businessSid)) {
return rb.setMsg("业务sid 不能为空!");
}
@ -251,7 +249,7 @@ public class FlowableRest implements FlowableFeign {
taskService.complete(taskId, formVariables);
//根据流程实例的id取最新的待办环节,给环节设置上用户sid
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(procInsId);
ResultBean<List<LatestTaskVo>> ll = flowtaskService.getLatestTasksNew(instanceId);
if (ll.getData().size() > 0) {
LatestTaskVo latestTaskVo = ll.getData().get(0);
String id_ = latestTaskVo.getId_();

14
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableService.java

@ -36,14 +36,12 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
@Autowired
private FlowTaskService flowTaskService;
public ResultBean businessStart(@ApiParam(value = "流程定义id") @PathVariable(value = "procDefId") String procDefId,
@ApiParam(value = "用户sid") @PathVariable(value = "userSid") String userSid,
@ApiParam(value = "变量集合,json对象") @RequestBody Map<String, Object> variables) {
public ResultBean businessStart(BusinessVariables bv) {
variables.put("procDefId", procDefId);
variables.put("userSid", userSid);
BusinessVariables bv = BusinessVariables.builder().build();
bv.setFormVariables(variables);
/* variables.put("procDefId", procDefId);
variables.put("userSid", userSid);*/
/*BusinessVariables bv = BusinessVariables.builder().build();
bv.setFormVariables(variables);*/
ResultBean<FlowTask> rb = flowDefinitionService.businessStart(bv);
if (!rb.getSuccess()) {
return rb;
@ -53,7 +51,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
String nodeState = list.get(0).getName_();
String task_def_key_ = list.get(0).getTask_def_key_();
Map<String, String> map = new HashMap<>();
map.put("sid", variables.get("businessSid").toString());
map.put("sid", bv.getBusinessSid());
map.put("nodeState", nodeState);
map.put("procInsId", rb.getData().getProcInsId());
map.put("taskDefKey", task_def_key_);

10
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowdefinition/FlowDefinitionService.java

@ -171,7 +171,7 @@ public class FlowDefinitionService extends FlowServiceFactory {
* @param variables 流程变量
* @return
*/
public ResultBean<FlowTask> businessStartProcessInstanceById(String procDefId, String userSid, Map<String, Object> variables) {
public ResultBean<FlowTask> businessStartProcessInstanceById(String procDefId, String userSid, String nextNodeUserSids, Map<String, Object> variables) {
try {
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId)
.latestVersion().singleResult();
@ -198,7 +198,7 @@ public class FlowDefinitionService extends FlowServiceFactory {
List<LatestTaskVo> data = latestTasksNew.getData();
LatestTaskVo latestTaskVo = data.get(0);
String id_ = latestTaskVo.getId_();
taskService.setAssignee(id_, variables.get("nextNodeUserSids").toString());
taskService.setAssignee(id_,nextNodeUserSids);
ResultBean<FlowTask> rb = new ResultBean<>();
FlowTask flowTask = new FlowTask();
flowTask.setTaskId(task.getId());
@ -231,8 +231,8 @@ public class FlowDefinitionService extends FlowServiceFactory {
public ResultBean<FlowTask> businessStart(BusinessVariables dto) {
ResultBean<FlowTask> resultBean = new ResultBean<>();
Map<String, Object> variables = dto.getFormVariables();
Object procDefId_obj = variables.get("procDefId");
Object userSid_obj = variables.get("userSid");
Object procDefId_obj = dto.getModelId();
Object userSid_obj = dto.getUserSid();
String procDefId = null;
String userSid = null;
if (procDefId_obj == null) {
@ -254,7 +254,7 @@ public class FlowDefinitionService extends FlowServiceFactory {
return resultBean;
}
}
resultBean = businessStartProcessInstanceById(procDefId, userSid, variables);
resultBean = businessStartProcessInstanceById(procDefId, userSid,dto.getNextNodeUserSids(), variables);
return resultBean;
}

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java

@ -277,8 +277,8 @@ public class FlowTaskController implements FlowTaskFeign {
}
@Override
public ResultBean getProcessCirculationNodesByMap(Map<String, Object> variables) {
return flowTaskService.getProcessCirculationNodesByMap(variables);
public ResultBean getProcessCirculationNodesByMap(BusinessVariables bv) {
return flowTaskService.getProcessCirculationNodesByMap(bv);
}
@Override

12
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -108,16 +108,16 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
@Resource
private AppSubsetVersionFeign appSubsetVersionFeign;
public ResultBean getProcessCirculationNodesByMap(Map<String, Object> variables) {
public ResultBean getProcessCirculationNodesByMap(BusinessVariables bv) {
String modelId = null;
if (variables.get("modelId") != null) {
modelId = variables.get("modelId").toString();
if (bv.getModelId()!= null) {
modelId = bv.getModelId();
}
String procId = null;
if (variables.get("procId") != null) {
procId = variables.get("procId").toString();
if (bv.getModelId() != null) {
procId = bv.getModelId();
}
List<FlowElement> flowElements = processService.calApprovePath(procId, modelId, variables);
List<FlowElement> flowElements = processService.calApprovePath(procId, modelId, bv.getFormVariables());
List<FlowElement> collect = flowElements.stream().filter(item -> item.getId().length() > 0).collect(Collectors.toList());
for (int i = 0; i < collect.size(); i++) {
if (collect.get(i).getId().equals(modelId)) {

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

@ -210,7 +210,7 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
variables.put("isLoan", false);
}
variables.put("orgSid", orgSid);//部门sid
ResultBean businessResultBean = flowableFeign.businessStart(ProcDefEnum.SCMVEHICLERETURN.getProDefId(), scmVehicleReturnDto.getUserSid(), variables);
ResultBean businessResultBean =null;// flowableFeign.businessStart(ProcDefEnum.SCMVEHICLERETURN.getProDefId(), scmVehicleReturnDto.getUserSid(), variables);
if (businessResultBean.getSuccess() && businessResultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) businessResultBean.getData();
//更新退库业务表中的流程状态

Loading…
Cancel
Save