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