update 略微修改ModelNode的类型生成规则
This commit is contained in:
+15
-2
@@ -12,6 +12,7 @@ import com.jero.modules.activiti.enums.VariableTypeEnum;
|
||||
import com.jero.modules.activiti.listener.CompleteListener;
|
||||
import com.jero.modules.activiti.listener.CreateListener;
|
||||
import com.jero.modules.activiti.vo.AddTaskVO;
|
||||
import lombok.Synchronized;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.activiti.bpmn.BpmnAutoLayout;
|
||||
import org.activiti.bpmn.converter.BpmnXMLConverter;
|
||||
@@ -48,7 +49,11 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
@Resource
|
||||
private ProcessModelNodeMapper processModelNodeMapper;
|
||||
public static Integer sort = 1;
|
||||
public static List<String> multiInstanceElementVariableList = new ArrayList<>();
|
||||
@Synchronized
|
||||
public void generateNode(String modelId) {
|
||||
sort = 1;
|
||||
multiInstanceElementVariableList = new ArrayList<>();
|
||||
ObjectNode objectNode = null;
|
||||
try {
|
||||
objectNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelId));
|
||||
@@ -377,8 +382,13 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
processModelNode.setVariableType(VariableTypeEnum.LIST.getName());
|
||||
processModelNode.setVariableName(inputDataItem.replace("${","").replace("}",""));
|
||||
}else {
|
||||
processModelNode.setVariableType(VariableTypeEnum.STRING.getName());
|
||||
processModelNode.setVariableName(assignee.replace("${","").replace("}",""));
|
||||
String replace = assignee.replace("${", "").replace("}", "");
|
||||
processModelNode.setVariableName(replace);
|
||||
if (multiInstanceElementVariableList.contains(replace)) {
|
||||
processModelNode.setVariableType(VariableTypeEnum.LIST.getName());
|
||||
}else {
|
||||
processModelNode.setVariableType(VariableTypeEnum.STRING.getName());
|
||||
}
|
||||
}
|
||||
processModelNode.setSort(sort++);
|
||||
} else if (flowElement instanceof SequenceFlow) {
|
||||
@@ -399,6 +409,9 @@ public class ProcessModelNodeService extends ServiceImpl<ProcessModelNodeMapper,
|
||||
|
||||
} else if (flowElement instanceof SubProcess) {
|
||||
SubProcess subProcess = (SubProcess) flowElement;
|
||||
MultiInstanceLoopCharacteristics loopCharacteristics = subProcess.getLoopCharacteristics();
|
||||
String elementVariable = loopCharacteristics.getElementVariable();
|
||||
multiInstanceElementVariableList.add(elementVariable);
|
||||
Collection<FlowElement> flowElements1 = subProcess.getFlowElements();
|
||||
xmlNodeId = subProcess.getId();
|
||||
List<ProcessModelNode> processModelNodes = handlerLawsProcessModelNode(flowElements1, gatewayIdList, modelId, xmlNodeId);
|
||||
|
||||
Reference in New Issue
Block a user