diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxFlowModel.java b/mallinkService/src/main/java/com/iformall/domain/po/WxFlowModel.java index 76b34a7d8..9a32bcf89 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxFlowModel.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxFlowModel.java @@ -42,6 +42,6 @@ public class WxFlowModel extends BaseEntity { private Date updateDate; @Transient - private List taskList; + private List lists; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index a3394e204..681188873 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -18,11 +18,13 @@ import com.iformall.mapper.*; import com.iformall.mq.MqBaseProducer; import com.iformall.service.*; import com.iformall.utils.Constant; +import com.iformall.utils.JsonUtil; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.flowable.bpmn.model.BpmnModel; +import org.flowable.bpmn.model.*; +import org.flowable.bpmn.model.Process; import org.flowable.common.engine.api.FlowableIllegalArgumentException; import org.flowable.engine.*; import org.flowable.engine.runtime.Execution; @@ -1138,27 +1140,52 @@ public class WxFlowServiceImpl implements WxFlowService { @Override public ResultData createModel(WxFlowModel wxFlowModel) { + Process process = new Process(); + BpmnModel bpmnModel = new BpmnModel(); + + StartEvent start = new StartEvent(); + start.setId("start"); + start.setName("开始节点"); + +// SequenceFlow sequenceFlow = new SequenceFlow(); +// sequenceFlow.setId("sf1"); +// sequenceFlow.setName("开始节点"); +// sequenceFlow.setSourceRef("start"); +// sequenceFlow.setTargetRef("userTask1"); +// +// start.setOutgoingFlows(Arrays.asList(sequenceFlow)); + + process.addFlowElement(start); +// process.addFlowElement(sequenceFlow); + + String sourceRef = "start"; + String targetRef = ""; + SequenceFlow sourceFlow; + SequenceFlow targetFlow ; + + //todo 得用递归 +// for (int i = 0; i < wxFlowModel.getLists().size()-1; i++) { +// //UserTaskVo taskVo = wxFlowModel.getLists().get(i); +// +// SequenceFlow sf = new SequenceFlow(); +// sf.setId("sf"+i); +// sf.setName("节点"+i); +// sf.setSourceRef(sourceRef); +// +// UserTask userTask = new UserTask(); +// userTask.setName((i+1)+"级审批"); +// userTask.setId("userTask"+(i+1)); +// userTask.setIncomingFlows(Arrays.asList(sf)); +// userTask.setOutgoingFlows(Arrays.asList(sf)); +// +// sf.setTargetRef(userTask.getId()); +// +// sourceRef = userTask.getId(); +// } + + wxFlowModel.setFlow(JsonUtil.obj2Json(wxFlowModel)); final IdWorker idWorker = IdWorker.get(); wxFlowModel.setId(idWorker.nextId()); - - String flow = "发起人-"; - for (UserTaskVo taskVo:wxFlowModel.getTaskList()) { - List userInfoList = taskVo.getUserList(); - for (int i = 0; i < userInfoList.size()-1; i++) { - if(i == userInfoList.size()-1){ - flow += userInfoList.get(i).getName(); - }else{ - flow += userInfoList.get(i).getName() + "、"; - } - } - if(taskVo.getType().equals(EnumTaskType.AND.getCode())){ - flow += "(会签)"; - }else if(taskVo.getType().equals(EnumTaskType.OR.getCode())){ - flow += "(或签)"; - } - flow += "-"; - } - flow += "结束"; wxFlowModelMapper.insertSelective(wxFlowModel); return new ResultData(); } @@ -1167,4 +1194,6 @@ public class WxFlowServiceImpl implements WxFlowService { public PageInfo modelList(WxFlowModel wxFlowModel,Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFlowModelMapper.findList(wxFlowModel)); } + + }