diff --git a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java index b4dd6d8..a7c6b9a 100644 --- a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java +++ b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java @@ -23,8 +23,8 @@ public class UserPermissionGetter { private RuntimeAppContextService runtimeAppContextService; public String getCurrentUserId() { - // String currentUserId = runtimeAppContextService.getCurrentUserId(); - return "zzy"; +// return runtimeAppContextService.getCurrentUserId(); + return "zjh"; } // 获取子系统下的参数权限 diff --git a/src/main/java/com/xdap/self_development/controller/TemplateController.java b/src/main/java/com/xdap/self_development/controller/TemplateController.java index cbc7ca1..d0779c4 100644 --- a/src/main/java/com/xdap/self_development/controller/TemplateController.java +++ b/src/main/java/com/xdap/self_development/controller/TemplateController.java @@ -72,10 +72,9 @@ public class TemplateController { @PostMapping("/import") public Response importTemplate( @RequestPart("file") MultipartFile file, - @RequestPart(value = "templateRowId", required = false) String templateRowId, - @RequestPart("createBy") String createBy + @RequestPart(value = "templateRowId", required = false) String templateRowId ) { - MyResponse templateImportProblemView = templateService.importTemplate(file, templateRowId, createBy); + MyResponse templateImportProblemView = templateService.importTemplate(file, templateRowId); if (templateImportProblemView.getFlag()) { return Response.error("导入异常").data(templateImportProblemView); } else { diff --git a/src/main/java/com/xdap/self_development/controller/form/ApprovalListForm.java b/src/main/java/com/xdap/self_development/controller/form/ApprovalListForm.java index 23b7ba8..6f151cd 100644 --- a/src/main/java/com/xdap/self_development/controller/form/ApprovalListForm.java +++ b/src/main/java/com/xdap/self_development/controller/form/ApprovalListForm.java @@ -6,9 +6,6 @@ import javax.validation.constraints.NotBlank; @Data public class ApprovalListForm { - @NotBlank(message = "用户不能为空") - private String userId; - private String templateName; private String username; private String createDate; diff --git a/src/main/java/com/xdap/self_development/controller/form/InsertTemplateForm.java b/src/main/java/com/xdap/self_development/controller/form/InsertTemplateForm.java index 3be832c..96d7d76 100644 --- a/src/main/java/com/xdap/self_development/controller/form/InsertTemplateForm.java +++ b/src/main/java/com/xdap/self_development/controller/form/InsertTemplateForm.java @@ -8,7 +8,4 @@ import javax.validation.constraints.NotBlank; public class InsertTemplateForm { @NotBlank(message = "模板名不能为空") private String templateName; - - @NotBlank(message = "创建者不能为空") - private String createBy; } diff --git a/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java b/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java index e8d80ed..dc56660 100644 --- a/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java +++ b/src/main/java/com/xdap/self_development/controller/form/StartApprovalRequest.java @@ -19,7 +19,5 @@ public class StartApprovalRequest { @NotEmpty(message = "批准人员不能为空") private List approveUsers; - @NotBlank(message = "发起人不能为空") - private String createBy; private String explanation; } \ No newline at end of file diff --git a/src/main/java/com/xdap/self_development/controller/form/UpdateParameterForm.java b/src/main/java/com/xdap/self_development/controller/form/UpdateParameterForm.java index 64d2ba4..4abbab1 100644 --- a/src/main/java/com/xdap/self_development/controller/form/UpdateParameterForm.java +++ b/src/main/java/com/xdap/self_development/controller/form/UpdateParameterForm.java @@ -11,8 +11,6 @@ import java.util.List; public class UpdateParameterForm { @NotBlank(message = "模板不能为空") private String templateRowId; - @NotBlank(message = "创建者不能为空") - private String createBy; @Valid @NotEmpty(message = "请至少修改一项参数") private List parameterForms; } diff --git a/src/main/java/com/xdap/self_development/controller/form/UpdateTemplateForm.java b/src/main/java/com/xdap/self_development/controller/form/UpdateTemplateForm.java index bbe4c6b..4205739 100644 --- a/src/main/java/com/xdap/self_development/controller/form/UpdateTemplateForm.java +++ b/src/main/java/com/xdap/self_development/controller/form/UpdateTemplateForm.java @@ -9,9 +9,6 @@ public class UpdateTemplateForm { @NotBlank(message = "模板名不能为空") private String templateName; - @NotBlank(message = "创建者不能为空") - private String createBy; - @NotBlank(message = "请选择模板") private String templateRowId; } diff --git a/src/main/java/com/xdap/self_development/listener/SheetDataListener.java b/src/main/java/com/xdap/self_development/listener/SheetDataListener.java index 58b74fe..f8c9d31 100644 --- a/src/main/java/com/xdap/self_development/listener/SheetDataListener.java +++ b/src/main/java/com/xdap/self_development/listener/SheetDataListener.java @@ -23,6 +23,7 @@ public class SheetDataListener implements ReadListener { private List cachedDataList; private String currentSheetName; MyResponse problems; + Integer maxOrder; // 用于存储表头 private Set actualHeaders = new HashSet<>(); @@ -34,13 +35,14 @@ public class SheetDataListener implements ReadListener { private boolean validSheet = false; public SheetDataListener(TemplateService templateService, - String templateRowId, String createBy, MyResponse problems) { + String templateRowId, String createBy, MyResponse problems, Integer maxOrder) { this.templateService = templateService; this.templateRowId = templateRowId; this.createBy = createBy; this.cachedDataList = new ArrayList<>(BATCH_SIZE); this.problems = problems; this.requiredHeaders = getIncludeColumnFieldNames(); + this.maxOrder = maxOrder; } @Override @@ -92,7 +94,8 @@ public class SheetDataListener implements ReadListener { currentSheetName, templateRowId, createBy, - problems + problems, + maxOrder ); cachedDataList.clear(); } @@ -134,6 +137,7 @@ public class SheetDataListener implements ReadListener { headerChecked = false; validSheet = false; actualHeaders.clear(); + maxOrder += 1; } private static Set getIncludeColumnFieldNames() { diff --git a/src/main/java/com/xdap/self_development/pojo/Parameter.java b/src/main/java/com/xdap/self_development/pojo/Parameter.java index 796787d..b851bbb 100644 --- a/src/main/java/com/xdap/self_development/pojo/Parameter.java +++ b/src/main/java/com/xdap/self_development/pojo/Parameter.java @@ -9,14 +9,16 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @SQLQuery(value = { + @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(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(view = "getAllSubsystemAndPara", - sql = "SELECT DISTINCT mp.subsystem_name, mp.parameter_name, mp.id, mp.parameter_type 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, mp.parameter_name, mp.id, mp.parameter_type"), + 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 = "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 = "select p.* from yfsjglpt_model_parameter p left join yfsjglpt_model_parameter_and_template tap on p.id = tap.parameter_id where p.id in (#permissionIds) and 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 p.id in (#parameterIds) and tap.template_id = #templateId"), @SQL(view = "selectMaxNumber", sql = "SELECT max(parameter_number) AS max_number FROM yfsjglpt_model_parameter p LEFT JOIN yfsjglpt_model_parameter_and_template tap ON p.id = tap.parameter_id WHERE tap.template_id = #templateId") }) @@ -51,6 +53,10 @@ public class Parameter extends MpaasBasePojo { @ExcelIgnore private String createdBy; + @ExcelIgnore + @Column(type=ColumnType.CALCULATE) + private Integer orderNum; + @ExcelIgnore @Column(value = "max_number",type=ColumnType.CALCULATE) private Integer maxNumber; diff --git a/src/main/java/com/xdap/self_development/pojo/Template.java b/src/main/java/com/xdap/self_development/pojo/Template.java index 1028589..5e85155 100644 --- a/src/main/java/com/xdap/self_development/pojo/Template.java +++ b/src/main/java/com/xdap/self_development/pojo/Template.java @@ -10,6 +10,8 @@ import lombok.NoArgsConstructor; import java.sql.Timestamp; @SQLQuery(value = { + @SQL(view = "getMaxOrder", + sql = "select *, MAX(order_num) AS maxOrder from yfsjglpt_model_template GROUP BY template_name"), // 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态) @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" @@ -34,13 +36,18 @@ public class Template extends MpaasBasePojo { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Timestamp publishedTime; private String createBy; + private Integer orderNum; - public Template(String templateName, Integer version, String status, Timestamp createdTime, Timestamp publishedTime, String createBy) { + @Column(type = ColumnType.CALCULATE) + private Integer maxOrder; + + public Template(String templateName, Integer version, String status, Timestamp createdTime, Timestamp publishedTime, String createBy, Integer orderNum) { this.templateName = templateName; this.version = version; this.status = status; this.createdTime = createdTime; this.publishedTime = publishedTime; this.createBy = createBy; + this.orderNum = orderNum; } } diff --git a/src/main/java/com/xdap/self_development/service/TemplateService.java b/src/main/java/com/xdap/self_development/service/TemplateService.java index 3dfbb5a..b776086 100644 --- a/src/main/java/com/xdap/self_development/service/TemplateService.java +++ b/src/main/java/com/xdap/self_development/service/TemplateService.java @@ -13,10 +13,10 @@ import java.util.List; public interface TemplateService { PageQueryResult