修改:\
This commit is contained in:
parent
cdc1fb84da
commit
58cfdb9ea4
@ -32,10 +32,12 @@ public class DeleteController {
|
|||||||
|
|
||||||
|
|
||||||
@GetMapping("/getTables")
|
@GetMapping("/getTables")
|
||||||
public Response getTables() {
|
public Response getTables(String ztj, String z_wlms) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
List<Map<String, Object>> list = queryFactory
|
List<Map<String, Object>> list = queryFactory
|
||||||
.buildFromDatasource("yc_lrs_test_relsult")
|
.buildFromDatasource("yc_lrs_test_relsult")
|
||||||
|
.eq("ztj", ztj)
|
||||||
|
.eq("z_wlms", z_wlms)
|
||||||
.table("ads_prd_f_yfsjglpt_fdjlbjcjb")
|
.table("ads_prd_f_yfsjglpt_fdjlbjcjb")
|
||||||
.doQuery();
|
.doQuery();
|
||||||
List<Map<String, Object>> list1 = queryFactory
|
List<Map<String, Object>> list1 = queryFactory
|
||||||
|
|||||||
@ -3,9 +3,13 @@ package com.xdap.self_development.controller.form;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class UpdateTemplateForm {
|
public class UpdateTemplateForm {
|
||||||
|
@NotNull(message = "顺序不能为空")
|
||||||
|
private Integer orderNum;
|
||||||
|
|
||||||
@NotBlank(message = "模板名不能为空")
|
@NotBlank(message = "模板名不能为空")
|
||||||
private String templateName;
|
private String templateName;
|
||||||
|
|
||||||
|
|||||||
@ -33,6 +33,7 @@ public class SheetDataListener implements ReadListener<Parameter> {
|
|||||||
private final Set<String> requiredHeaders;
|
private final Set<String> requiredHeaders;
|
||||||
// 标记当前sheet是否有效
|
// 标记当前sheet是否有效
|
||||||
private boolean validSheet = false;
|
private boolean validSheet = false;
|
||||||
|
private Set<Integer> someNumber = new HashSet<>();
|
||||||
|
|
||||||
public SheetDataListener(TemplateService templateService,
|
public SheetDataListener(TemplateService templateService,
|
||||||
String templateRowId, String createBy, MyResponse problems, Integer maxOrder) {
|
String templateRowId, String createBy, MyResponse problems, Integer maxOrder) {
|
||||||
@ -53,6 +54,7 @@ public class SheetDataListener implements ReadListener<Parameter> {
|
|||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
currentSheetName = context.readSheetHolder().getSheetName();
|
currentSheetName = context.readSheetHolder().getSheetName();
|
||||||
|
someNumber = new HashSet<>();
|
||||||
log.info("开始解析Sheet: {}", currentSheetName);
|
log.info("开始解析Sheet: {}", currentSheetName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,6 +71,28 @@ public class SheetDataListener implements ReadListener<Parameter> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.getSubsystemName() == null) {
|
||||||
|
problems.setFlag(true);
|
||||||
|
problems.getErrors().add(currentSheetName +"模板的参数"+data.getParameterName()+"的子系统字段为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.getPartsName() == null || data.getPartsName().isEmpty()) {
|
||||||
|
data.setPartsName("/");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data.getParameterNumber() == null) {
|
||||||
|
problems.setFlag(true);
|
||||||
|
problems.getErrors().add(currentSheetName +"模板的参数"+data.getParameterName()+"的序号字段为空");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!someNumber.add(data.getParameterNumber())) {
|
||||||
|
problems.setFlag(true);
|
||||||
|
problems.getErrors().add(currentSheetName +"模板的参数"+data.getParameterName()+"的序号字段重复");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (currentSheetName == null) {
|
if (currentSheetName == null) {
|
||||||
currentSheetName = context.readSheetHolder().getSheetName();
|
currentSheetName = context.readSheetHolder().getSheetName();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,9 +10,9 @@ import lombok.NoArgsConstructor;
|
|||||||
|
|
||||||
@SQLQuery(value = {
|
@SQLQuery(value = {
|
||||||
@SQL(view = "selectParametersByTIdAndCreateBy",
|
@SQL(view = "selectParametersByTIdAndCreateBy",
|
||||||
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 and p.created_by = #createdBy"),
|
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 and p.created_by = #createdBy order by p.parameter_number"),
|
||||||
@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"),
|
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, 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",
|
||||||
|
|||||||
@ -14,7 +14,7 @@ import java.sql.Timestamp;
|
|||||||
sql = "SELECT * FROM ( SELECT *, MAX(order_num) OVER (PARTITION BY template_name ) AS maxOrder , ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY order_num DESC) AS rn FROM yfsjglpt_model_template ) tmp WHERE rn = 1"),
|
sql = "SELECT * FROM ( SELECT *, MAX(order_num) OVER (PARTITION BY template_name ) AS maxOrder , ROW_NUMBER() OVER (PARTITION BY template_name ORDER BY order_num DESC) AS rn FROM yfsjglpt_model_template ) tmp WHERE rn = 1"),
|
||||||
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
// 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态)
|
||||||
@SQL(view = "getLatestTemplate",
|
@SQL(view = "getLatestTemplate",
|
||||||
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 = "SELECT ranked.order_num, 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",
|
||||||
|
|||||||
@ -64,13 +64,14 @@ public class TemplateServiceImpl implements TemplateService {
|
|||||||
// 创建新模板
|
// 创建新模板
|
||||||
Template newTemplate = new Template(
|
Template newTemplate = new Template(
|
||||||
form.getTemplateName(), 1, "DRAFT", Timestamp.valueOf(LocalDateTime.now()),
|
form.getTemplateName(), 1, "DRAFT", Timestamp.valueOf(LocalDateTime.now()),
|
||||||
null, permissionGetter.getCurrentUserId(), 1
|
null, permissionGetter.getCurrentUserId(), getMaxOrder()
|
||||||
);
|
);
|
||||||
|
|
||||||
bd.getBusinessDatabase().doInsert(newTemplate);
|
bd.getBusinessDatabase().doInsert(newTemplate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = CommonException.class)
|
||||||
public void updateTemplate(UpdateTemplateForm form) {
|
public void updateTemplate(UpdateTemplateForm form) {
|
||||||
Template template = bd.getBusinessDatabase()
|
Template template = bd.getBusinessDatabase()
|
||||||
.viewQueryMode(true)
|
.viewQueryMode(true)
|
||||||
@ -79,6 +80,33 @@ public class TemplateServiceImpl implements TemplateService {
|
|||||||
.doQueryFirst(Template.class);
|
.doQueryFirst(Template.class);
|
||||||
|
|
||||||
if (template != null) {
|
if (template != null) {
|
||||||
|
if (Objects.equals(form.getTemplateName(), template.getTemplateName())) {
|
||||||
|
List<String> originalTemplateId = bd.getBusinessDatabase()
|
||||||
|
.eq("order_num", template.getOrderNum())
|
||||||
|
.doQuery(Template.class).stream().map(Template::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<String> updateTemplateId = bd.getBusinessDatabase()
|
||||||
|
.eq("order_num", form.getOrderNum())
|
||||||
|
.doQuery(Template.class).stream().map(Template::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (updateTemplateId.isEmpty()) {
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.in("id", updateTemplateId)
|
||||||
|
.update("order_num", getMaxOrder())
|
||||||
|
.doUpdate(Template.class);
|
||||||
|
} else {
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.in("id", updateTemplateId)
|
||||||
|
.update("order_num", template.getOrderNum())
|
||||||
|
.doUpdate(Template.class);
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.in("id", originalTemplateId)
|
||||||
|
.update("order_num", form.getOrderNum())
|
||||||
|
.doUpdate(Template.class);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
throw new CommonException("不可修改为已有模板");
|
throw new CommonException("不可修改为已有模板");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user