Просмотр исходного кода

[审批流][修改][init]

release_toaliyun_real
luozukai 7 лет назад
Родитель
Сommit
ff636fd8d7
2 измененных файлов: 50 добавлений и 21 удалений
  1. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxFlowModel.java
  2. +49
    -20
      mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java

+ 1
- 1
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<UserTaskVo> taskList;
private List<UserTaskVo> lists;

}

+ 49
- 20
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<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));
}


}

Загрузка…
Отмена
Сохранить