Browse Source

流程预演

master
dimengzhe 2 years ago
parent
commit
4c844c74f1
  1. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  2. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  3. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  4. 20
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  5. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeign.java
  6. 5
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTaskFeignFallBack.java
  7. 19
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowableQuery.java
  8. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskController.java
  9. 32
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -314,4 +314,9 @@ public interface BusSalesOrderFeign {
@GetMapping("/selectBusinessSidByQKKP")
@ResponseBody
ResultBean<List<String>> selectBusinessSidByQKKP(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@ApiOperation("销售订单流程预演测试")
@GetMapping("/yuyanTestBean")
@ResponseBody
ResultBean yuyanTestBean(@SpringQueryMap BusSaleOrderNodeQuery query);
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java

@ -290,4 +290,9 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
public ResultBean<List<String>> selectBusinessSidByQKKP(String userSid, String orgPath) {
return null;
}
@Override
public ResultBean yuyanTestBean(BusSaleOrderNodeQuery query) {
return null;
}
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -371,4 +371,9 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
public ResultBean<List<String>> selectBusinessSidByQKKP(String userSid, String orgPath) {
return busSalesOrderService.selectBusinessSidByQKKP(userSid,orgPath);
}
@Override
public ResultBean yuyanTestBean(BusSaleOrderNodeQuery query) {
return busSalesOrderService.yuyanTestBean(query);
}
}

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

@ -134,6 +134,7 @@ import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.FlowableQuery;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
@ -6556,4 +6557,23 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public List<String> selectByContractNoToVin(String contractId) {
return baseMapper.selectByContractNoToVin(contractId);
}
public ResultBean yuyanTestBean(BusSaleOrderNodeQuery query) {
ResultBean rb = ResultBean.fireFail();
//根据业务sid查询订单信息
BusSalesOrder busSalesOrder = fetchBySid(query.getBusinessSid());
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = getOrderMap(busSalesOrder);
String modelId = busSalesOrder.getProcDefId();
if(StringUtils.isBlank(modelId)){
modelId = ProcDefEnum.SALESORDER.getProDefId();
}
FlowableQuery flowableQuery = new FlowableQuery();
flowableQuery.setModelId(modelId);
flowableQuery.setMap(variables);
ResultBean<List<Map<String,Object>>> yuyanTest = flowTaskFeign.yuyanTest(flowableQuery);
List<Map<String,Object>> S = yuyanTest.getData();
return rb.success().setData(yuyanTest.getData());
}
}

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

@ -185,4 +185,8 @@ public interface FlowTaskFeign {
@ApiOperation(value = "根据流程实例的id获取最新待办环节")
@PostMapping(value = "/获取上一个环节")
ResultBean getPreviousNodesForReject(@RequestBody BusinessVariables bv);
@ApiOperation(value = "流程预演测试")
@PostMapping(value = "/yuyanTest")
ResultBean<List<Map<String,Object>>> yuyanTest(@RequestBody FlowableQuery flowableQuery);
}

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

@ -183,4 +183,9 @@ public class FlowTaskFeignFallBack implements FlowTaskFeign {
return null;
}
@Override
public ResultBean<List<Map<String,Object>>> yuyanTest(FlowableQuery flowableQuery) {
return null;
}
}

19
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowableQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.flowable.api.flowtask;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
/**
* @description: 预演流程参数
* @author: dimengzhe
* @date: 2023/5/30
**/
@Data
public class FlowableQuery {
private String modelId;
private Map<String,Object> map = new HashMap<>();
}

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

@ -29,7 +29,6 @@ import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -330,4 +329,9 @@ public class FlowTaskController implements FlowTaskFeign {
public ResultBean getPreviousNodesForReject(BusinessVariables bv) {
return flowTaskService.getPreviousNodesForReject(bv);
}
@Override
public ResultBean<List<Map<String,Object>>> yuyanTest(FlowableQuery flowableQuery) {
return flowTaskService.yuyanTest(flowableQuery);
}
}

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

@ -2074,4 +2074,36 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
ResultBean<Page<FlowTaskDto>> rb = new ResultBean<Page<FlowTaskDto>>();
return rb.success().setData(page);
}
public ResultBean<List<Map<String,Object>>> yuyanTest(FlowableQuery flowableQuery) {
ResultBean<List<Map<String,Object>>> rb = ResultBean.fireFail();
List<Map<String,Object>> list = new ArrayList<>();
String modelId = flowableQuery.getModelId();
Map<String,Object> map = flowableQuery.getMap();
List<FlowElement> flowElements = processService.calApprovePath("", modelId,map);
List<FlowElement> collect = flowElements.stream().filter(item -> item.getId().length() > 0).collect(Collectors.toList());
for (int i = 0; i < collect.size(); i++) {
Map<String,Object> itemMap = new HashMap<>();
FlowElement item = collect.get(i);
log.info("flowElement:{}", item);
log.info("nodeName:{}", item.getName());
itemMap.put("nodeName",item.getName());
log.info("nodeId:{}", item.getId());
itemMap.put("nodeId",item.getId());
String s = JSON.toJSONString(item);
JSONObject jsonObject = JSONObject.parseObject(s);
log.info("item:{}", jsonObject);
Object candidateGroups = jsonObject.get("candidateGroups");
JSONArray candidateGroups_arr = new JSONArray();
if (candidateGroups != null) {
candidateGroups_arr = JSONArray.parseArray(candidateGroups.toString());
}
if (candidateGroups_arr.size() > 0) {
log.info("candidateGroups_sid:{}", candidateGroups_arr.get(0));
}
log.info("candidateGroups:{}", candidateGroups_arr);
list.add(itemMap);
}
return rb.success().setData(list);
}
}
Loading…
Cancel
Save