修改:模板历史状态
This commit is contained in:
parent
ee540fd2d3
commit
dd0fa6017b
@ -14,7 +14,7 @@ import lombok.NoArgsConstructor;
|
|||||||
@SQL(view = "selectParametersByTId",
|
@SQL(view = "selectParametersByTId",
|
||||||
sql = "select p.* from yfsjglpt_model_parameter p left join yfsjglpt_model_parameter_and_template tap on p.id = tap.parameter_id where tap.template_id = #templateId order by p.parameter_number"),
|
sql = "select p.* from yfsjglpt_model_parameter p left join yfsjglpt_model_parameter_and_template tap on p.id = tap.parameter_id where tap.template_id = #templateId order by p.parameter_number"),
|
||||||
@SQL(view = "getAllSubsystemAndPara",
|
@SQL(view = "getAllSubsystemAndPara",
|
||||||
sql = "SELECT DISTINCT mp.subsystem_name, mp.parameter_name, mp.id, mp.parameter_type, mt.order_num FROM yfsjglpt_model_parameter mp INNER JOIN yfsjglpt_model_parameter_and_template mpat ON mp.id = mpat.parameter_id INNER JOIN yfsjglpt_model_template mt ON mpat.template_id = mt.id INNER JOIN ( SELECT template_name, MAX(version) AS max_version FROM yfsjglpt_model_template WHERE status = 'COMPLETE' GROUP BY template_name ) latest ON mt.template_name = latest.template_name AND mt.version = latest.max_version WHERE mt.status = 'COMPLETE' ORDER BY mt.order_num"),
|
sql = "SELECT DISTINCT mp.subsystem_name, mp.parameter_name, mp.id, mp.parameter_type, mp.parts_name, mt.order_num FROM yfsjglpt_model_parameter mp INNER JOIN yfsjglpt_model_parameter_and_template mpat ON mp.id = mpat.parameter_id INNER JOIN yfsjglpt_model_template mt ON mpat.template_id = mt.id INNER JOIN ( SELECT template_name, MAX(version) AS max_version FROM yfsjglpt_model_template WHERE status = 'COMPLETE' GROUP BY template_name ) latest ON mt.template_name = latest.template_name AND mt.version = latest.max_version WHERE mt.status = 'COMPLETE' ORDER BY mt.order_num"),
|
||||||
@SQL(view = "getAllSubsystem",
|
@SQL(view = "getAllSubsystem",
|
||||||
sql = "SELECT DISTINCT mp.subsystem_name FROM yfsjglpt_model_parameter mp INNER JOIN yfsjglpt_model_parameter_and_template mpat ON mp.id = mpat.parameter_id INNER JOIN yfsjglpt_model_template mt ON mpat.template_id = mt.id INNER JOIN ( SELECT template_name, MAX(version) AS max_version FROM yfsjglpt_model_template WHERE status = 'COMPLETE' GROUP BY template_name ) latest ON mt.template_name = latest.template_name AND mt.version = latest.max_version WHERE mt.status = 'COMPLETE' ORDER BY mp.subsystem_name"),
|
sql = "SELECT DISTINCT mp.subsystem_name FROM yfsjglpt_model_parameter mp INNER JOIN yfsjglpt_model_parameter_and_template mpat ON mp.id = mpat.parameter_id INNER JOIN yfsjglpt_model_template mt ON mpat.template_id = mt.id INNER JOIN ( SELECT template_name, MAX(version) AS max_version FROM yfsjglpt_model_template WHERE status = 'COMPLETE' GROUP BY template_name ) latest ON mt.template_name = latest.template_name AND mt.version = latest.max_version WHERE mt.status = 'COMPLETE' ORDER BY mp.subsystem_name"),
|
||||||
@SQL(view = "selectParametersByTemplateId",
|
@SQL(view = "selectParametersByTemplateId",
|
||||||
|
|||||||
@ -17,4 +17,7 @@ public class ParametersView {
|
|||||||
private String parameterId;
|
private String parameterId;
|
||||||
private String parameterName;
|
private String parameterName;
|
||||||
private String parameterType;
|
private String parameterType;
|
||||||
|
|
||||||
|
private String subsystem;
|
||||||
|
private String partsName;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -169,7 +169,13 @@ public class CommonParameterServiceImpl implements CommonParameterService {
|
|||||||
ModelCommonItem item = new ModelCommonItem();
|
ModelCommonItem item = new ModelCommonItem();
|
||||||
item.setSubsystem(entry.getKey());
|
item.setSubsystem(entry.getKey());
|
||||||
List<ParametersView> parameters = entry.getValue().stream()
|
List<ParametersView> parameters = entry.getValue().stream()
|
||||||
.map(param -> new ParametersView(param.getId(), param.getParameterName(), param.getParameterType()))
|
.map(param -> new ParametersView(
|
||||||
|
param.getId(),
|
||||||
|
param.getParameterName(),
|
||||||
|
param.getParameterType(),
|
||||||
|
param.getSubsystemName(),
|
||||||
|
param.getPartsName()
|
||||||
|
))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
item.setParameters(parameters);
|
item.setParameters(parameters);
|
||||||
return item;
|
return item;
|
||||||
@ -203,7 +209,12 @@ public class CommonParameterServiceImpl implements CommonParameterService {
|
|||||||
ModelCommonItem item = new ModelCommonItem();
|
ModelCommonItem item = new ModelCommonItem();
|
||||||
item.setSubsystem(subsystemEntry.getKey());
|
item.setSubsystem(subsystemEntry.getKey());
|
||||||
List<ParametersView> parameters = subsystemEntry.getValue().stream()
|
List<ParametersView> parameters = subsystemEntry.getValue().stream()
|
||||||
.map(param -> new ParametersView(param.getParameterId(), param.getParameterName(), param.getSubsystemName()))
|
.map(param -> new ParametersView(
|
||||||
|
param.getParameterId(),
|
||||||
|
param.getParameterName(),
|
||||||
|
param.getSubsystemName(),
|
||||||
|
null,null
|
||||||
|
))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
item.setParameters(parameters);
|
item.setParameters(parameters);
|
||||||
items.add(item);
|
items.add(item);
|
||||||
|
|||||||
@ -92,30 +92,28 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
// 获取基准模板和最新模板
|
// 获取基准模板和最新模板
|
||||||
TemplateBenchmark benchmark = getTemplateBenchmark(form.getTemplateRowId());
|
TemplateBenchmark benchmark = getTemplateBenchmark(form.getTemplateRowId());
|
||||||
Template newVersionTemplate;
|
Template newVersionTemplate;
|
||||||
// 如果当前修改的模板为最新版并且为草稿状态,就不需要新建版本
|
|
||||||
if (Objects.equals(benchmark.getLastTemplate().getId(), benchmark.getBaseTemplate().getId())
|
// 当前修改的模板不为最新版
|
||||||
&& Objects.equals(benchmark.getBaseTemplate().getStatus(), "DRAFT")
|
if (!Objects.equals(benchmark.getLastTemplate().getId(), benchmark.getBaseTemplate().getId())) {
|
||||||
&& Objects.equals(benchmark.getLastTemplate().getStatus(), "DRAFT")) {
|
throw new CommonException("该状态的模板不可修改");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 当前模板为草稿状态
|
||||||
|
if (Objects.equals(benchmark.getBaseTemplate().getStatus(), "DRAFT")) {
|
||||||
newVersionTemplate = benchmark.getBaseTemplate();
|
newVersionTemplate = benchmark.getBaseTemplate();
|
||||||
}
|
}
|
||||||
// 否则创建新版本
|
// 当前模板为已发布状态
|
||||||
|
else if (Objects.equals(benchmark.getBaseTemplate().getStatus(), "COMPLETE")) {
|
||||||
|
newVersionTemplate = new Template(
|
||||||
|
benchmark.getLastTemplate().getTemplateName(), calculateNextVersion(benchmark.getLastTemplate().getVersion()),
|
||||||
|
"DRAFT", Timestamp.valueOf(LocalDateTime.now()), null, permissionGetter.getCurrentUserId(),getMaxOrder()
|
||||||
|
);
|
||||||
|
// 保存新模板
|
||||||
|
bd.getBusinessDatabase().doInsert(newVersionTemplate);
|
||||||
|
}
|
||||||
|
// 其他状态
|
||||||
else {
|
else {
|
||||||
switch (benchmark.getLastTemplate().getStatus()) {
|
throw new CommonException("该状态的模板不可修改");
|
||||||
// 如果最新版本为草稿状态,沿用该版本
|
|
||||||
case "DRAFT":
|
|
||||||
throw new CommonException("最新模板为草稿状态,暂时无法新建版本");
|
|
||||||
// 如果最新版本为审核中,则不允许新建版本
|
|
||||||
case "APPROVING":
|
|
||||||
throw new CommonException("最新模板审核中,暂时无法新建版本");
|
|
||||||
// 如果最新版本为已完成,创建新版本
|
|
||||||
default:
|
|
||||||
newVersionTemplate = new Template(
|
|
||||||
benchmark.getLastTemplate().getTemplateName(), calculateNextVersion(benchmark.getLastTemplate().getVersion()),
|
|
||||||
"DRAFT", Timestamp.valueOf(LocalDateTime.now()), null, permissionGetter.getCurrentUserId(),getMaxOrder()
|
|
||||||
);
|
|
||||||
// 保存新模板
|
|
||||||
bd.getBusinessDatabase().doInsert(newVersionTemplate);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 4. 处理参数变更
|
// 4. 处理参数变更
|
||||||
|
|||||||
@ -338,15 +338,17 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
flow.setFlowStatus("COMPLETE");
|
flow.setFlowStatus("COMPLETE");
|
||||||
flow.setCurrentNode(null);
|
flow.setCurrentNode(null);
|
||||||
template.setStatus("COMPLETE");
|
template.setStatus("COMPLETE");
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("template_name", template.getTemplateName())
|
||||||
|
.update("status", "HISTORY")
|
||||||
|
.doUpdate(Template.class);
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.rowid("id", template.getRowId())
|
.rowid("id", template.getRowId())
|
||||||
.update("status", template.getStatus())
|
.update("status", template.getStatus())
|
||||||
.update("published_time", Timestamp.valueOf(LocalDateTime.now()))
|
.update("published_time", Timestamp.valueOf(LocalDateTime.now()))
|
||||||
.doUpdate(Template.class);
|
.doUpdate(Template.class);
|
||||||
|
|
||||||
// 更新机型版本
|
// 更新机型版本
|
||||||
dataEntryEngineModelService.updateModelForNewVersion();
|
dataEntryEngineModelService.updateModelForNewVersion();
|
||||||
|
|
||||||
clearProcessed(flow);
|
clearProcessed(flow);
|
||||||
} else {
|
} else {
|
||||||
flow.setCurrentNode(nextNode);
|
flow.setCurrentNode(nextNode);
|
||||||
|
|||||||
@ -275,6 +275,7 @@ public class TemplateServiceImpl implements TemplateService {
|
|||||||
problems.getErrors().add("模板‘"+templateName+"’已有参数,无法导入");
|
problems.getErrors().add("模板‘"+templateName+"’已有参数,无法导入");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case "APPROVING":
|
case "APPROVING":
|
||||||
problems.setFlag(true);
|
problems.setFlag(true);
|
||||||
problems.getErrors().add("模板‘"+templateName+"‘的最新版本正在审核中,无法导入");
|
problems.getErrors().add("模板‘"+templateName+"‘的最新版本正在审核中,无法导入");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user