修改:参数维护部分支持部分参数修改
This commit is contained in:
parent
0f2afff6ba
commit
a0c95ebe9c
@ -12,5 +12,4 @@ public class MenuParamView {
|
|||||||
private String subsystem;
|
private String subsystem;
|
||||||
private String parameterName;
|
private String parameterName;
|
||||||
private String parameterPer;
|
private String parameterPer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -83,8 +83,7 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
switch (benchmark.getLastTemplate().getStatus()) {
|
switch (benchmark.getLastTemplate().getStatus()) {
|
||||||
// 如果最新版本为草稿状态,沿用该版本
|
// 如果最新版本为草稿状态,沿用该版本
|
||||||
case "DRAFT":
|
case "DRAFT":
|
||||||
newVersionTemplate = benchmark.getLastTemplate();
|
throw new CommonException("最新模板为草稿状态,暂时无法新建版本");
|
||||||
break;
|
|
||||||
// 如果最新版本为审核中,则不允许新建版本
|
// 如果最新版本为审核中,则不允许新建版本
|
||||||
case "APPROVING":
|
case "APPROVING":
|
||||||
throw new CommonException("最新模板审核中,暂时无法新建版本");
|
throw new CommonException("最新模板审核中,暂时无法新建版本");
|
||||||
@ -191,19 +190,21 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
Template newTemplate)
|
Template newTemplate)
|
||||||
{
|
{
|
||||||
Map<Integer, Parameter> parameterMap = createParameterMap(existingParameters);
|
Map<Integer, Parameter> parameterMap = createParameterMap(existingParameters);
|
||||||
if (!existingParameters.isEmpty()) {
|
// if (!existingParameters.isEmpty()) {
|
||||||
// 清除原来的关联关系
|
// // 清除原来的关联关系
|
||||||
bd.getBusinessDatabase().eq("template_id", baseTemplate.getId()).doDelete(TemplateAndParameter.class);
|
// bd.getBusinessDatabase().eq("template_id", baseTemplate.getId()).doDelete(TemplateAndParameter.class);
|
||||||
}
|
// }
|
||||||
List<Parameter> newParameters = new ArrayList<>();
|
List<Parameter> newParameters = new ArrayList<>();
|
||||||
List<RevisionRecord> revisionRecords = new ArrayList<>();
|
List<RevisionRecord> revisionRecords = new ArrayList<>();
|
||||||
|
|
||||||
|
// 处理模板部分参数
|
||||||
for (ParameterForm parameterForm : parameterForms) {
|
for (ParameterForm parameterForm : parameterForms) {
|
||||||
if (parameterForm.getOperation() == null) {
|
if (parameterForm.getOperation() == null) {
|
||||||
parameterForm.setOperation("");
|
parameterForm.setOperation("");
|
||||||
}
|
}
|
||||||
ParameterOperation operation = ParameterOperation.fromCode(parameterForm.getOperation());
|
ParameterOperation operation = ParameterOperation.fromCode(parameterForm.getOperation());
|
||||||
|
|
||||||
|
|
||||||
switch (operation) {
|
switch (operation) {
|
||||||
case INSERT:
|
case INSERT:
|
||||||
handleInsertOperation(parameterForm, newTemplate, newParameters, revisionRecords, baseTemplate);
|
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);
|
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