修改:参数维护部分支持部分参数修改
This commit is contained in:
parent
0f2afff6ba
commit
a0c95ebe9c
@ -12,5 +12,4 @@ public class MenuParamView {
|
||||
private String subsystem;
|
||||
private String parameterName;
|
||||
private String parameterPer;
|
||||
|
||||
}
|
||||
|
||||
@ -83,8 +83,7 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
switch (benchmark.getLastTemplate().getStatus()) {
|
||||
// 如果最新版本为草稿状态,沿用该版本
|
||||
case "DRAFT":
|
||||
newVersionTemplate = benchmark.getLastTemplate();
|
||||
break;
|
||||
throw new CommonException("最新模板为草稿状态,暂时无法新建版本");
|
||||
// 如果最新版本为审核中,则不允许新建版本
|
||||
case "APPROVING":
|
||||
throw new CommonException("最新模板审核中,暂时无法新建版本");
|
||||
@ -191,19 +190,21 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
Template newTemplate)
|
||||
{
|
||||
Map<Integer, Parameter> parameterMap = createParameterMap(existingParameters);
|
||||
if (!existingParameters.isEmpty()) {
|
||||
// 清除原来的关联关系
|
||||
bd.getBusinessDatabase().eq("template_id", baseTemplate.getId()).doDelete(TemplateAndParameter.class);
|
||||
}
|
||||
// if (!existingParameters.isEmpty()) {
|
||||
// // 清除原来的关联关系
|
||||
// bd.getBusinessDatabase().eq("template_id", baseTemplate.getId()).doDelete(TemplateAndParameter.class);
|
||||
// }
|
||||
List<Parameter> newParameters = new ArrayList<>();
|
||||
List<RevisionRecord> revisionRecords = new ArrayList<>();
|
||||
|
||||
// 处理模板部分参数
|
||||
for (ParameterForm parameterForm : parameterForms) {
|
||||
if (parameterForm.getOperation() == null) {
|
||||
parameterForm.setOperation("");
|
||||
}
|
||||
ParameterOperation operation = ParameterOperation.fromCode(parameterForm.getOperation());
|
||||
|
||||
|
||||
switch (operation) {
|
||||
case INSERT:
|
||||
handleInsertOperation(parameterForm, newTemplate, newParameters, revisionRecords, baseTemplate);
|
||||
@ -220,6 +221,9 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
}
|
||||
}
|
||||
|
||||
// 处理模板剩余的参数
|
||||
List<Parameter> unmatchedParameters = findUnmatchedParameters(parameterMap, parameterForms);
|
||||
newParameters.addAll(unmatchedParameters);
|
||||
return new ParameterProcessingResult(newParameters, revisionRecords);
|
||||
}
|
||||
|
||||
@ -391,6 +395,19 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
}
|
||||
}
|
||||
|
||||
public List<Parameter> findUnmatchedParameters(
|
||||
Map<Integer, Parameter> parameterMap,
|
||||
List<ParameterForm> parameterForms) {
|
||||
Set<Integer> formNumbers = parameterForms.parallelStream()
|
||||
.map(ParameterForm::getParameterNumber)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toCollection(HashSet::new));
|
||||
return parameterMap.entrySet().parallelStream()
|
||||
.filter(entry -> !formNumbers.contains(entry.getKey()))
|
||||
.map(Map.Entry::getValue)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存所有数据
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user