feat(REQ-3982) - 解决表单解析的问题
This commit is contained in:
parent
2b42cee012
commit
cd2a1b10b7
@ -35,4 +35,7 @@ public class StartFormSearchDTO {
|
||||
*/
|
||||
@ApiModelProperty(value = "是否显示原始的默认值", hidden = true, notes = "如果为 true 则将默认值中的 ${} 变量不进行替换")
|
||||
private Boolean showOriginDefaultValue = false;
|
||||
|
||||
@ApiModelProperty(value = "是否抛出内部异常")
|
||||
private Boolean throwException = true;
|
||||
}
|
||||
|
||||
@ -38,6 +38,7 @@ import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@ -94,29 +95,32 @@ public class FormCoreServiceImpl implements FormCoreService {
|
||||
FormInfo formModel;
|
||||
try {
|
||||
formModel = formRepositoryService.getFormModelByKey(dto.getKey(), dto.getTenantId(), true);
|
||||
BpmnProcessDefinitionVO definitionVO = bpmnProcessDefinitionService.getActiveProcessDefinitionByKey(dto.getKey(), dto.getTenantId());
|
||||
CommandExecutor commandExecutor = springProcessEngineConfiguration.getCommandExecutor();
|
||||
BpmnModel bpmnModel = commandExecutor.execute(new GetBpmnModelCmd(definitionVO.getId()));
|
||||
BpmnMetaParserHelper.getFormFieldPermissionConf(bpmnModel.getFlowElement(NODE_STARTER.getType()))
|
||||
.ifPresent(permission -> {
|
||||
if (formModel.getFormModel() instanceof SimpleFormModel) {
|
||||
SimpleFormModel simpleFormModel = (SimpleFormModel) formModel.getFormModel();
|
||||
FormHelper.populateFormModel(simpleFormModel, permission, new HashMap<>(), dto.getShowOriginDefaultValue());
|
||||
}
|
||||
});
|
||||
FormDefinitionVO formDefinitionVO = new FormDefinitionVO();
|
||||
formDefinitionVO.setFormDefinitionId(formModel.getId());
|
||||
formDefinitionVO.setName(formModel.getName());
|
||||
formDefinitionVO.setKey(formModel.getKey());
|
||||
formDefinitionVO.setVersion(formModel.getVersion());
|
||||
formDefinitionVO.setTenantId(dto.getTenantId());
|
||||
List<FormField> fields = ((SimpleFormModel) formModel.getFormModel()).getFields();
|
||||
formDefinitionVO.setFields(formFieldConverter.toVos(fields));
|
||||
return formDefinitionVO;
|
||||
} catch (FlowableObjectNotFoundException e) {
|
||||
log.warn("can't found form model");
|
||||
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
|
||||
if (Objects.equals(Boolean.TRUE, dto.getThrowException())) {
|
||||
throw new WorkflowEngineException(FORM_MODEL_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
BpmnProcessDefinitionVO definitionVO = bpmnProcessDefinitionService.getActiveProcessDefinitionByKey(dto.getKey(), dto.getTenantId());
|
||||
CommandExecutor commandExecutor = springProcessEngineConfiguration.getCommandExecutor();
|
||||
BpmnModel bpmnModel = commandExecutor.execute(new GetBpmnModelCmd(definitionVO.getId()));
|
||||
BpmnMetaParserHelper.getFormFieldPermissionConf(bpmnModel.getFlowElement(NODE_STARTER.getType()))
|
||||
.ifPresent(permission -> {
|
||||
if (formModel.getFormModel() instanceof SimpleFormModel) {
|
||||
SimpleFormModel simpleFormModel = (SimpleFormModel) formModel.getFormModel();
|
||||
FormHelper.populateFormModel(simpleFormModel, permission, new HashMap<>(), dto.getShowOriginDefaultValue());
|
||||
}
|
||||
});
|
||||
FormDefinitionVO formDefinitionVO = new FormDefinitionVO();
|
||||
formDefinitionVO.setFormDefinitionId(formModel.getId());
|
||||
formDefinitionVO.setName(formModel.getName());
|
||||
formDefinitionVO.setKey(formModel.getKey());
|
||||
formDefinitionVO.setVersion(formModel.getVersion());
|
||||
formDefinitionVO.setTenantId(dto.getTenantId());
|
||||
List<FormField> fields = ((SimpleFormModel) formModel.getFormModel()).getFields();
|
||||
formDefinitionVO.setFields(formFieldConverter.toVos(fields));
|
||||
return formDefinitionVO;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Loading…
Reference in New Issue
Block a user