diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml b/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml
index 219e7cd5..9cd6e36a 100644
--- a/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml
+++ b/yxt_supervise/supervise-flowable/supervise-flowable-api/pom.xml
@@ -24,6 +24,7 @@
org.projectlombok
lombok
+ 1.18.24
com.baomidou
diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
index 194c325b..a8feb1d3 100644
--- a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
+++ b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFallback.java
@@ -49,6 +49,11 @@ public class FlowableFallback implements FlowableFeign {
return null;
}
+ @Override
+ public ResultBean startProcessNoOrgPath(BusinessVariables dto) {
+ return null;
+ }
+
@Override
public ResultBean handleProsess(BusinessVariables bv) {
diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
index 9ae6ee48..50eb8b48 100644
--- a/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
+++ b/yxt_supervise/supervise-flowable/supervise-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow/FlowableFeign.java
@@ -93,6 +93,10 @@ public interface FlowableFeign {
@PostMapping(value = "/startProcess")
@ResponseBody
ResultBean startProcess(@RequestBody BusinessVariables dto);
+ @ApiOperation(value = "启动流程不涉及到组织架构")
+ @PostMapping(value = "/startProcessNoOrgPath")
+ @ResponseBody
+ ResultBean startProcessNoOrgPath(@RequestBody BusinessVariables dto);
@ApiOperation(value = "处理流程")
@PostMapping(value = "/handleProsess")
diff --git a/yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java b/yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
index b9310365..805f7c31 100644
--- a/yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
+++ b/yxt_supervise/supervise-flowable/supervise-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
@@ -166,7 +166,7 @@ public class FlowableRest implements FlowableFeign {
dto.getFormVariables().put("businessSid",dto.getBusinessSid());
String nextNodeUserSids_ = dto.getNextNodeUserSids();
if(StringUtils.isBlank(nextNodeUserSids_)){
- ResultBean nextNodeUserSidsOfCreate = getNextNodeUserSidsOfCreate(dto);
+ ResultBean nextNodeUserSidsOfCreate = getNextNodeUserSidsOfCreateNoOrgPath(dto);
boolean success = nextNodeUserSidsOfCreate.getSuccess();
if(!success){
return rb.setMsg(nextNodeUserSidsOfCreate.getMsg());
@@ -190,6 +190,55 @@ public class FlowableRest implements FlowableFeign {
return rb.success().setData(vo);
}
+ @Override
+ public ResultBean startProcessNoOrgPath(BusinessVariables dto) {
+ log.info("startProcess.dto:{}",dto);
+ ResultBean rb = ResultBean.fireFail();
+
+ if (StringUtils.isBlank(dto.getBusinessSid())) {
+ return rb.setMsg("businessSid 不能为空!");
+ }
+
+ if(dto.getFormVariables()==null)
+ dto.setFormVariables(new HashMap());
+ Map formVariables = dto.getFormVariables();
+ if(StringUtils.isNotBlank(dto.getOrgSidPath())){
+ String orgPath=dto.getOrgSidPath();
+ formVariables.put("createrOrgPath",orgPath);//发起人的组织结构sid
+ //dto.setFormVariables(formVariables);
+ }
+
+ dto.getFormVariables().put("businessSid",dto.getBusinessSid());
+ String nextNodeUserSids_ = dto.getNextNodeUserSids();
+ if(StringUtils.isBlank(nextNodeUserSids_)){
+ ResultBean nextNodeUserSidsOfCreate = getNextNodeUserSidsOfCreateNoOrgPath(dto);
+ boolean success = nextNodeUserSidsOfCreate.getSuccess();
+ if(!success){
+ return rb.setMsg(nextNodeUserSidsOfCreate.getMsg());
+ }
+ nextNodeUserSids_=nextNodeUserSidsOfCreate.getData().getUserSid();
+ dto.getFormVariables().put(BusinessVariables.ORGPATH,nextNodeUserSidsOfCreate.getData().getOrgPath());
+ }
+ dto.setNextNodeUserSids(nextNodeUserSids_);
+ ResultBean resultBean1 = flowableService.businessStart(dto);
+ UpdateFlowFieldVo vo = new UpdateFlowFieldVo();
+ if (resultBean1.getSuccess() && resultBean1.getData() != null) {
+ vo.setSid("" + dto.getBusinessSid());
+ Map map = (Map) resultBean1.getData();
+ vo.setProcDefId(dto.getModelId());
+ vo.setNodeState(map.get("nodeState"));
+ vo.setProcInsId(map.get("procInsId"));
+ vo.setTaskDefKey(map.get("taskDefKey"));
+ vo.setTaskId(map.get("taskId"));
+ vo.setNextNodeUserSids(nextNodeUserSids_);
+ }
+ return rb.success().setData(vo);
+ }
+
+ private ResultBean getNextNodeUserSidsOfCreateNoOrgPath(BusinessVariables dto) {
+ return flowtaskService.getNextNodeUserSidsOfCreateNoOrgPath(dto) ;
+ }
+
Logger log= LoggerFactory.getLogger(FlowableRest.class);
@Override
public ResultBean handleProsess(BusinessVariables dto) {
@@ -226,7 +275,7 @@ public class FlowableRest implements FlowableFeign {
String nextUserSid = dto.getNextNodeUserSids();
if(StringUtils.isBlank(nextUserSid)){
- ResultBean nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmit(dto);
+ ResultBean nextNodeUserSidsOfSubmit = getNextNodeUserSidsOfSubmitNoOrgPath(dto);
if (!nextNodeUserSidsOfSubmit.getSuccess()) {
return rb.setMsg("nextUserSid 不能为空!");
}
@@ -353,6 +402,32 @@ public class FlowableRest implements FlowableFeign {
vo.setNextNodeUserSids(nextUserSid);
return rb.success().setData(vo);
}
+
+ private ResultBean getNextNodeUserSidsOfSubmitNoOrgPath(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireSuccess();
+ String taskDefKey=bv.getTaskDefKey();
+ //根据业务参数取流程流转的环节 信息
+ List