修改:对标报告部分显示问题
This commit is contained in:
parent
a11955bbcc
commit
4b90ca9a9a
@ -1,8 +1,6 @@
|
|||||||
package com.xdap.self_development.pojo;
|
package com.xdap.self_development.pojo;
|
||||||
|
|
||||||
import com.definesys.mpaas.query.annotation.RowID;
|
import com.definesys.mpaas.query.annotation.*;
|
||||||
import com.definesys.mpaas.query.annotation.RowIDType;
|
|
||||||
import com.definesys.mpaas.query.annotation.Table;
|
|
||||||
import com.definesys.mpaas.query.model.MpaasBasePojo;
|
import com.definesys.mpaas.query.model.MpaasBasePojo;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@ -11,6 +9,10 @@ import lombok.NoArgsConstructor;
|
|||||||
|
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
|
@SQLQuery(value = {
|
||||||
|
@SQL(view = "getReportById",
|
||||||
|
sql = "SELECT ymbr.id, ymbr.title, ymbr.manufacturer_name, ymbr.model_name, ymbr.module , ymbr.manufacturer_abbreviation, ymbr.model_abbreviation, ymbr.product_number, ymbr.plate, ymbr.platform , ymbr.market_segment, ymbr.project_name, ymbr.project_number, ymbr.upload_time, ymbr.file_path , ymbr.status, xu.username AS create_by FROM yfsjglpt_model_benchmarking_report ymbr LEFT JOIN xdap_users xu ON xu.id = ymbr.create_by where ymbr.id = #reportId")
|
||||||
|
})
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
@Table("yfsjglpt_model_benchmarking_report")
|
@Table("yfsjglpt_model_benchmarking_report")
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import java.sql.Timestamp;
|
|||||||
@SQLQuery(value = {
|
@SQLQuery(value = {
|
||||||
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
||||||
@SQL(view = "getLatestTemplate",
|
@SQL(view = "getLatestTemplate",
|
||||||
sql = "SELECT * FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE WHEN status = 'COMPLETE' THEN 1 WHEN status = 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) ranked WHERE rn = 1 ORDER BY CASE status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC"
|
sql = "SELECT ranked.id, ranked.template_name, ranked.version, ranked.status, ranked.created_time , ranked.published_time, xu.username AS createBy FROM ( SELECT t.*, ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY CASE WHEN status = 'COMPLETE' THEN 1 WHEN status = 'APPROVING' THEN 2 ELSE 3 END, version DESC) AS rn FROM yfsjglpt_model_template t WHERE status IN ('COMPLETE', 'DRAFT', 'APPROVING') ) ranked LEFT JOIN xdap_users xu ON xu.id = ranked.create_by WHERE rn = 1 ORDER BY CASE status WHEN 'COMPLETE' THEN 1 WHEN 'APPROVING' THEN 2 WHEN 'DRAFT' THEN 3 WHEN 'RETURNED' THEN 4 WHEN 'REJECTED' THEN 5 ELSE 6 END ASC"
|
||||||
),
|
),
|
||||||
// 获取所有模板的最新版本号(包括所有状态)
|
// 获取所有模板的最新版本号(包括所有状态)
|
||||||
@SQL(view = "getNewTemplate",
|
@SQL(view = "getNewTemplate",
|
||||||
|
|||||||
@ -232,7 +232,10 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BenchmarkingReport getReportDetail(String reportId) {
|
public BenchmarkingReport getReportDetail(String reportId) {
|
||||||
return bd.getBusinessDatabase().eq("id", reportId)
|
return bd.getBusinessDatabase()
|
||||||
|
.viewQueryMode(true)
|
||||||
|
.view("getReportById")
|
||||||
|
.setVar("reportId", reportId)
|
||||||
.doQueryFirst(BenchmarkingReport.class);
|
.doQueryFirst(BenchmarkingReport.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
package com.xdap.self_development.service.impl;
|
package com.xdap.self_development.service.impl;
|
||||||
|
|
||||||
import com.definesys.mpaas.query.db.PageQueryResult;
|
import com.definesys.mpaas.query.db.PageQueryResult;
|
||||||
|
import com.xdap.api.moudle.user.vo.LoginUserVo;
|
||||||
|
import com.xdap.runtime.service.RuntimeAppContextService;
|
||||||
|
import com.xdap.runtime.service.RuntimeUserService;
|
||||||
import com.xdap.self_development.config.BusinessDatabase;
|
import com.xdap.self_development.config.BusinessDatabase;
|
||||||
import com.xdap.self_development.controller.form.ParameterForm;
|
import com.xdap.self_development.controller.form.ParameterForm;
|
||||||
import com.xdap.self_development.controller.form.ParameterPageForm;
|
import com.xdap.self_development.controller.form.ParameterPageForm;
|
||||||
@ -35,6 +38,8 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
private BusinessDatabase bd;
|
private BusinessDatabase bd;
|
||||||
@Resource
|
@Resource
|
||||||
private ModelRoleService modelRoleService;
|
private ModelRoleService modelRoleService;
|
||||||
|
@Resource
|
||||||
|
private RuntimeAppContextService runtimeAppContextService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageQueryResult<Parameter> getParameterByCondition(ParameterPageForm form) {
|
public PageQueryResult<Parameter> getParameterByCondition(ParameterPageForm form) {
|
||||||
@ -46,7 +51,16 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
throw new CommonException("模板未找到");
|
throw new CommonException("模板未找到");
|
||||||
}
|
}
|
||||||
|
|
||||||
//todo 获取指定子系统下的用户的权限,权限应该为:参数的 parameterNumber
|
//todo 假定子系统名和模板名一致
|
||||||
|
// String currentUserId = runtimeAppContextService.getCurrentUserId();
|
||||||
|
// List<String> ids = modelRoleService.selectPersByUser(currentUserId).stream()
|
||||||
|
// .filter(view -> Objects.equals(view.getSubsystem(), template.getTemplateName()))
|
||||||
|
// .map(MenuParamView::getParameterId)
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
// if (ids.isEmpty()) {
|
||||||
|
// ids = new ArrayList<>();
|
||||||
|
// }
|
||||||
|
|
||||||
return bd.getBusinessDatabase()
|
return bd.getBusinessDatabase()
|
||||||
.viewQueryMode(true)
|
.viewQueryMode(true)
|
||||||
@ -196,10 +210,7 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
Template newTemplate)
|
Template newTemplate)
|
||||||
{
|
{
|
||||||
Map<Integer, Parameter> parameterMap = createParameterMap(existingParameters);
|
Map<Integer, Parameter> parameterMap = createParameterMap(existingParameters);
|
||||||
// if (!existingParameters.isEmpty()) {
|
|
||||||
// // 清除原来的关联关系
|
|
||||||
// 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<>();
|
||||||
|
|
||||||
@ -209,8 +220,6 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
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);
|
||||||
@ -259,33 +268,25 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
) {
|
) {
|
||||||
Parameter newParameter = new Parameter();
|
Parameter newParameter = new Parameter();
|
||||||
BeanUtils.copyProperties(form, newParameter);
|
BeanUtils.copyProperties(form, newParameter);
|
||||||
if (form.getParameterNumber() == null ) {
|
|
||||||
Parameter parameter = bd.getBusinessDatabase()
|
Parameter parameter = bd.getBusinessDatabase()
|
||||||
.viewQueryMode(true)
|
.viewQueryMode(true)
|
||||||
.view("selectMaxNumber")
|
.view("selectMaxNumber")
|
||||||
.setVar("templateId", baseTemplate.getId())
|
.setVar("templateId", baseTemplate.getId())
|
||||||
.doQueryFirst(Parameter.class);
|
.doQueryFirst(Parameter.class);
|
||||||
if (parameter == null || parameter.getMaxNumber() == null) {
|
|
||||||
int maxNumber = newParameters.stream()
|
int maxNum = newParameters.stream()
|
||||||
.mapToInt(Parameter::getParameterNumber)
|
.mapToInt(Parameter::getParameterNumber)
|
||||||
.max()
|
.max()
|
||||||
.orElse(0);
|
.orElse(0);
|
||||||
newParameter.setParameterNumber(maxNumber + 1);
|
|
||||||
|
if (parameter == null || parameter.getMaxNumber() == null) {
|
||||||
|
newParameter.setParameterNumber(maxNum + 1);
|
||||||
} else {
|
} else {
|
||||||
int i = parameter.getMaxNumber() + 1;
|
int i = Math.max(maxNum + 1, parameter.getMaxNumber() + 1);
|
||||||
newParameter.setParameterNumber(i);
|
newParameter.setParameterNumber(i);
|
||||||
}
|
}
|
||||||
} else {
|
newParameter.setId(null);
|
||||||
List<Parameter> parameters = bd.getBusinessDatabase()
|
|
||||||
.viewQueryMode(true)
|
|
||||||
.view("selectParametersByTemplateId")
|
|
||||||
.setVar("templateId", baseTemplate.getId())
|
|
||||||
.eq("parameter_number", newParameter.getParameterNumber())
|
|
||||||
.doQuery(Parameter.class);
|
|
||||||
if (parameters != null && !parameters.isEmpty()) {
|
|
||||||
throw new CommonException("参数编号重复");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
bd.getBusinessDatabase().doInsert(newParameter);
|
bd.getBusinessDatabase().doInsert(newParameter);
|
||||||
newParameters.add(newParameter);
|
newParameters.add(newParameter);
|
||||||
revisionRecords.add(new RevisionRecord(
|
revisionRecords.add(new RevisionRecord(
|
||||||
@ -418,8 +419,16 @@ public class ParameterServiceImpl implements ParameterService {
|
|||||||
* 保存所有数据
|
* 保存所有数据
|
||||||
*/
|
*/
|
||||||
private void saveAllData(Template newTemplate, ParameterProcessingResult result) {
|
private void saveAllData(Template newTemplate, ParameterProcessingResult result) {
|
||||||
|
List<String> parameterIds = bd.getBusinessDatabase()
|
||||||
|
.eq("template_id", newTemplate.getId())
|
||||||
|
.doQuery(TemplateAndParameter.class).stream()
|
||||||
|
.map(TemplateAndParameter::getParameterId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// 创建并保存模板参数关联
|
// 创建并保存模板参数关联
|
||||||
List<TemplateAndParameter> templateAndParameters = result.getNewParameters().stream()
|
List<TemplateAndParameter> templateAndParameters =
|
||||||
|
result.getNewParameters().stream()
|
||||||
|
.filter(parameter -> !parameterIds.contains(parameter.getId()))
|
||||||
.map(parameter -> createTemplateAndParameter(newTemplate.getId(), parameter.getId()))
|
.map(parameter -> createTemplateAndParameter(newTemplate.getId(), parameter.getId()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
bd.getBusinessDatabase().doBatchInsert(templateAndParameters);
|
bd.getBusinessDatabase().doBatchInsert(templateAndParameters);
|
||||||
|
|||||||
@ -38,7 +38,6 @@ public class TemplateServiceImpl implements TemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageQueryResult<Template> getTemplateByCondition(TemplatePageForm form) {
|
public PageQueryResult<Template> getTemplateByCondition(TemplatePageForm form) {
|
||||||
// TODO: 将用户id转为用户名
|
|
||||||
return bd.getBusinessDatabase()
|
return bd.getBusinessDatabase()
|
||||||
.viewQueryMode(true)
|
.viewQueryMode(true)
|
||||||
.view("getLatestTemplate")
|
.view("getLatestTemplate")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user