模板新增问题修改
This commit is contained in:
parent
f0e5fcbae8
commit
3bcb4da432
@ -1,20 +1,14 @@
|
||||
package com.xdap.self_development.controller;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.definesys.mpaas.common.http.Response;
|
||||
import com.xdap.self_development.config.BusinessDatabase;
|
||||
import com.xdap.self_development.feign.ApaasMyTokenFeign;
|
||||
import com.xdap.self_development.feign.dto.AppTokenDTO;
|
||||
import com.xdap.self_development.feign.dto.FileUploadDTO;
|
||||
import com.xdap.self_development.feign.dto.UserTokenDT0;
|
||||
import com.xdap.self_development.pojo.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.bson.types.ObjectId;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
|
||||
@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
|
||||
@ -1,11 +1,8 @@
|
||||
package com.xdap.self_development.controller.form;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class BenchmarkingReportPageForm {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.xdap.self_development.controller.form;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
@ -3,7 +3,6 @@ package com.xdap.self_development.controller.form;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
@Data
|
||||
public class ParameterForm {
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
package com.xdap.self_development.controller.form;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.web.bind.annotation.RequestPart;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
|
||||
@ -5,7 +5,6 @@ import lombok.Data;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
|
||||
@ -1,13 +1,14 @@
|
||||
package com.xdap.self_development.pojo;
|
||||
|
||||
import com.definesys.mpaas.query.annotation.*;
|
||||
import com.definesys.mpaas.query.annotation.RowID;
|
||||
import com.definesys.mpaas.query.annotation.RowIDType;
|
||||
import com.definesys.mpaas.query.annotation.Table;
|
||||
import com.definesys.mpaas.query.model.MpaasBasePojo;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
package com.xdap.self_development.pojo;
|
||||
|
||||
import com.definesys.mpaas.query.annotation.SQL;
|
||||
import com.definesys.mpaas.query.annotation.SQLQuery;
|
||||
import com.definesys.mpaas.query.annotation.Table;
|
||||
import com.xdap.api.moudle.base.entity.NoTenBasePojo;
|
||||
import lombok.Data;
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.xdap.self_development.pojo;
|
||||
|
||||
import com.definesys.mpaas.query.annotation.*;
|
||||
import com.definesys.mpaas.query.annotation.RowID;
|
||||
import com.definesys.mpaas.query.annotation.RowIDType;
|
||||
import com.definesys.mpaas.query.annotation.Table;
|
||||
import com.definesys.mpaas.query.model.MpaasBasePojo;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
@ -8,7 +8,6 @@ import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.bouncycastle.util.Times;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
@ -27,11 +26,12 @@ public class RevisionRecord extends MpaasBasePojo {
|
||||
private String preTemplateId;
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Timestamp createdTime;
|
||||
private String parameterId;
|
||||
|
||||
public RevisionRecord(String templateName, Integer version,
|
||||
Integer parameterNumber, String modifyDetails,
|
||||
String templateId, String preTemplateId,
|
||||
Timestamp createdTime) {
|
||||
Timestamp createdTime, String parameterId) {
|
||||
this.templateName = templateName;
|
||||
this.version = version;
|
||||
this.parameterNumber = parameterNumber;
|
||||
@ -39,5 +39,6 @@ public class RevisionRecord extends MpaasBasePojo {
|
||||
this.templateId = templateId;
|
||||
this.preTemplateId = preTemplateId;
|
||||
this.createdTime = createdTime;
|
||||
this.parameterId = parameterId;
|
||||
}
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ import java.sql.Timestamp;
|
||||
@SQLQuery(value = {
|
||||
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
||||
@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"
|
||||
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(view = "getNewTemplate",
|
||||
|
||||
@ -6,7 +6,7 @@ import lombok.Data;
|
||||
|
||||
@SQLQuery(value = {
|
||||
@SQL(view = "getParameterAndChange",
|
||||
sql = "SELECT p.*, r.modify_details FROM yfsjglpt_model_parameter_and_template tap INNER JOIN yfsjglpt_model_parameter p ON tap.parameter_id = p.id LEFT JOIN yfsjglpt_model_revision_record r ON tap.template_id = r.template_id AND p.parameter_number = r.parameter_number WHERE tap.template_id = #templateId ORDER BY p.parameter_number")
|
||||
sql = "SELECT p.*, r.modify_details FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY parameter_id ORDER BY created_time DESC) AS rn FROM yfsjglpt_model_revision_record ) r LEFT JOIN yfsjglpt_model_parameter p ON r.parameter_id = p.id WHERE r.rn = 1 and r.template_id = #templateId")
|
||||
})
|
||||
@Data
|
||||
public class TemplateChangeView {
|
||||
|
||||
@ -4,8 +4,6 @@ import com.definesys.mpaas.query.annotation.SQL;
|
||||
import com.definesys.mpaas.query.annotation.SQLQuery;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@SQLQuery(value = {
|
||||
@SQL(view = "getAllRoleUserAndPerm",
|
||||
sql = "SELECT r.id as roleId, r.role_name as roleName, GROUP_CONCAT(DISTINCT u.username) AS userNames , GROUP_CONCAT(DISTINCT p.permission_name) AS permissionNames FROM yfsjglpt_model_roles r LEFT JOIN yfsjglpt_model_user_roles ur ON r.id = ur.role_id LEFT JOIN yfsjglpt_model_role_permissions rp ON r.id = rp.role_id LEFT JOIN yfsjglpt_model_permissions p ON rp.permission_id = p.id LEFT JOIN xdap_users u ON u.id = ur.user_id GROUP BY r.id, r.role_name, r.description ORDER BY r.role_name")
|
||||
|
||||
@ -2,7 +2,6 @@ package com.xdap.self_development.service;
|
||||
|
||||
import com.definesys.mpaas.query.db.PageQueryResult;
|
||||
import com.xdap.self_development.controller.form.ParameterPageForm;
|
||||
import com.xdap.self_development.controller.form.TemplateRowIdForm;
|
||||
import com.xdap.self_development.controller.form.UpdateParameterForm;
|
||||
import com.xdap.self_development.pojo.Parameter;
|
||||
import com.xdap.self_development.pojo.view.TemplateInfoView;
|
||||
|
||||
@ -5,11 +5,9 @@ import com.xdap.self_development.controller.form.DeptResponsiblePageForm;
|
||||
import com.xdap.self_development.controller.form.ResponsiblePersonForm;
|
||||
import com.xdap.self_development.controller.form.UpdateResponsiblePersonForm;
|
||||
import com.xdap.self_development.pojo.ResponsiblePerson;
|
||||
import com.xdap.self_development.pojo.Template;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public interface ResponsiblePersonService {
|
||||
|
||||
@ -9,7 +9,6 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface TemplateService {
|
||||
PageQueryResult<Template> getTemplateByCondition(TemplatePageForm form);
|
||||
|
||||
@ -76,12 +76,6 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
if (Objects.equals(benchmark.getLastTemplate().getId(), benchmark.getBaseTemplate().getId())
|
||||
&& Objects.equals(benchmark.getBaseTemplate().getStatus(), "DRAFT")
|
||||
&& Objects.equals(benchmark.getLastTemplate().getStatus(), "DRAFT")) {
|
||||
if (!benchmark.getParameters().isEmpty()) {
|
||||
// 清除原来的关联关系
|
||||
bd.getBusinessDatabase().eq("template_id", benchmark.getBaseTemplate().getId()).doDelete(TemplateAndParameter.class);
|
||||
List<String> parameterIds = benchmark.getParameters().stream().map(Parameter::getId).collect(Collectors.toList());
|
||||
bd.getBusinessDatabase().in("id", parameterIds).doDelete(Parameter.class);
|
||||
}
|
||||
newVersionTemplate = benchmark.getBaseTemplate();
|
||||
}
|
||||
// 否则创建新版本
|
||||
@ -94,8 +88,6 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
bd.getBusinessDatabase().doInsert(newVersionTemplate);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 4. 处理参数变更
|
||||
ParameterProcessingResult processingResult = processParameters(
|
||||
form.getParameterForms(),
|
||||
@ -179,6 +171,10 @@ 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);
|
||||
}
|
||||
List<Parameter> newParameters = new ArrayList<>();
|
||||
List<RevisionRecord> revisionRecords = new ArrayList<>();
|
||||
|
||||
@ -260,7 +256,7 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
throw new CommonException("参数编号重复");
|
||||
}
|
||||
}
|
||||
|
||||
bd.getBusinessDatabase().doInsert(newParameter);
|
||||
newParameters.add(newParameter);
|
||||
revisionRecords.add(new RevisionRecord(
|
||||
newTemplate.getTemplateName(),
|
||||
@ -269,7 +265,8 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
"新增参数",
|
||||
newTemplate.getId(),
|
||||
null,
|
||||
Timestamp.valueOf(LocalDateTime.now())
|
||||
Timestamp.valueOf(LocalDateTime.now()),
|
||||
newParameter.getId()
|
||||
));
|
||||
}
|
||||
|
||||
@ -289,11 +286,10 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
|
||||
Parameter updatedParameter = new Parameter();
|
||||
BeanUtils.copyProperties(form, updatedParameter);
|
||||
|
||||
String detail = getParameterChange(originalParameter, updatedParameter);
|
||||
|
||||
bd.getBusinessDatabase().doInsert(updatedParameter);
|
||||
newParameters.add(updatedParameter);
|
||||
|
||||
revisionRecords.add(new RevisionRecord(
|
||||
newTemplate.getTemplateName(),
|
||||
newTemplate.getVersion(),
|
||||
@ -301,7 +297,8 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
detail,
|
||||
newTemplate.getId(),
|
||||
baseTemplate.getId(),
|
||||
Timestamp.valueOf(LocalDateTime.now())
|
||||
Timestamp.valueOf(LocalDateTime.now()),
|
||||
updatedParameter.getId()
|
||||
));
|
||||
}
|
||||
|
||||
@ -354,7 +351,8 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
"删除参数",
|
||||
newTemplate.getId(),
|
||||
baseTemplate.getId(),
|
||||
Timestamp.valueOf(LocalDateTime.now())
|
||||
Timestamp.valueOf(LocalDateTime.now()),
|
||||
deletedParameter.getId()
|
||||
));
|
||||
}
|
||||
}
|
||||
@ -369,11 +367,7 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
Parameter unchangedParameter = parameterMap.get(form.getParameterNumber());
|
||||
|
||||
if (unchangedParameter != null) {
|
||||
Parameter parameterCopy = new Parameter();
|
||||
BeanUtils.copyProperties(unchangedParameter, parameterCopy);
|
||||
parameterCopy.setId(null);
|
||||
parameterCopy.setRowId(null);
|
||||
newParameters.add(parameterCopy);
|
||||
newParameters.add(unchangedParameter);
|
||||
}
|
||||
}
|
||||
|
||||
@ -381,8 +375,6 @@ public class ParameterServiceImpl implements ParameterService {
|
||||
* 保存所有数据
|
||||
*/
|
||||
private void saveAllData(Template newTemplate, ParameterProcessingResult result) {
|
||||
// 批量保存参数
|
||||
bd.getBusinessDatabase().doBatchInsert(result.getNewParameters());
|
||||
// 创建并保存模板参数关联
|
||||
List<TemplateAndParameter> templateAndParameters = result.getNewParameters().stream()
|
||||
.map(parameter -> createTemplateAndParameter(newTemplate.getId(), parameter.getId()))
|
||||
|
||||
@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
@ -294,13 +295,16 @@ public class TemplateServiceImpl implements TemplateService {
|
||||
|
||||
List<RevisionRecord> revisionRecords = dataList.stream()
|
||||
.map(parameter -> {
|
||||
RevisionRecord revision = new RevisionRecord();
|
||||
revision.setTemplateName(finalLastTemplate.getTemplateName());
|
||||
revision.setVersion(finalLastTemplate.getVersion());
|
||||
revision.setParameterNumber(parameter.getParameterNumber());
|
||||
revision.setModifyDetails("新增参数");
|
||||
revision.setTemplateId(finalLastTemplate.getId());
|
||||
return revision;
|
||||
return new RevisionRecord(
|
||||
finalLastTemplate.getTemplateName(),
|
||||
finalLastTemplate.getVersion(),
|
||||
parameter.getParameterNumber(),
|
||||
"新增参数",
|
||||
finalLastTemplate.getId(),
|
||||
null,
|
||||
Timestamp.valueOf(LocalDateTime.now()),
|
||||
parameter.getId()
|
||||
);
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user