|
|
|
@@ -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<FlowUserVo> 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<WxFlowModel> modelList(WxFlowModel wxFlowModel,Integer pageIndex, Integer pageSize) { |
|
|
|
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxFlowModelMapper.findList(wxFlowModel)); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |