From b795c7a154fd978d51053a972dbd8126af7d6f37 Mon Sep 17 00:00:00 2001 From: zjh <15615273395@163.com> Date: Wed, 10 Dec 2025 16:48:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=88=9B=E5=BB=BA=E4=BA=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/UserPermissionGetter.java | 7 ++- .../controller/DeleteController.java | 6 ++- .../xdap/self_development/pojo/Parameter.java | 5 +++ .../xdap/self_development/pojo/Template.java | 2 +- .../service/impl/ParameterServiceImpl.java | 43 +++++++++++-------- .../impl/TemplateApprovalServiceImpl.java | 7 ++- .../service/impl/TemplateServiceImpl.java | 1 + 7 files changed, 46 insertions(+), 25 deletions(-) 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 3a92a57..b4dd6d8 100644 --- a/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java +++ b/src/main/java/com/xdap/self_development/common/UserPermissionGetter.java @@ -22,9 +22,14 @@ public class UserPermissionGetter { @Resource private RuntimeAppContextService runtimeAppContextService; + public String getCurrentUserId() { + // String currentUserId = runtimeAppContextService.getCurrentUserId(); + return "zzy"; + } + // 获取子系统下的参数权限 public List getParamPermissions(String subsystem) { - String currentUserId = runtimeAppContextService.getCurrentUserId(); + String currentUserId = getCurrentUserId(); Set result = new HashSet<>(); try { // 获取用户权限 diff --git a/src/main/java/com/xdap/self_development/controller/DeleteController.java b/src/main/java/com/xdap/self_development/controller/DeleteController.java index f2cb3e4..890532c 100644 --- a/src/main/java/com/xdap/self_development/controller/DeleteController.java +++ b/src/main/java/com/xdap/self_development/controller/DeleteController.java @@ -34,10 +34,12 @@ public class DeleteController { @GetMapping("/getTables") public Response getTables() { Map map = new HashMap<>(); - List> list = queryFactory.buildFromDatasource("yc_lrs_test_relsult") + List> list = queryFactory + .buildFromDatasource("yc_lrs_test_relsult") .table("ads_prd_f_yfsjglpt_fdjlbjcjb") .doQuery(); - List> list1 = queryFactory.buildFromDatasource("yc_lrs_test_relsult") + List> list1 = queryFactory + .buildFromDatasource("yc_lrs_test_relsult") .table("ads_prd_f_tc_flsxb") .doQuery(); map.put("ads_prd_f_yfsjglpt_fdjlbjcjb", list); 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 2eea38a..796787d 100644 --- a/src/main/java/com/xdap/self_development/pojo/Parameter.java +++ b/src/main/java/com/xdap/self_development/pojo/Parameter.java @@ -9,6 +9,8 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; @SQLQuery(value = { + @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(view = "getAllSubsystem", @@ -46,6 +48,9 @@ public class Parameter extends MpaasBasePojo { @ExcelProperty("备注") private String remarks; + @ExcelIgnore + private String createdBy; + @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 8ec2a16..1028589 100644 --- a/src/main/java/com/xdap/self_development/pojo/Template.java +++ b/src/main/java/com/xdap/self_development/pojo/Template.java @@ -12,7 +12,7 @@ import java.sql.Timestamp; @SQLQuery(value = { // 查找每个模板的最新版本并且优先级按照已发布、审核中、草稿状态转变(只有这三种状态) @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.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", diff --git a/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java index 25c6801..c3f8c7e 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ParameterServiceImpl.java @@ -51,12 +51,12 @@ public class ParameterServiceImpl implements ParameterService { } //todo 假定子系统名和模板名一致 - List permissionIds = permissionGetter.getParamPermissions(template.getTemplateName()); +// List permissionIds = permissionGetter.getParamPermissions(template.getTemplateName()); return bd.getBusinessDatabase() .viewQueryMode(true) - .view("selectParametersByTemplateId") + .view("selectParametersByTId") .setVar("templateId", template.getId()) - .setVar("permissionIds", permissionIds) +// .setVar("permissionIds", permissionIds) .like("parameter_name", form.getParameterName()) .like("parts_name", form.getPartsName()) .like("parameter_type", form.getParameterType()) @@ -158,7 +158,7 @@ public class ParameterServiceImpl implements ParameterService { // 基准模板的参数 List parameters = bd.getBusinessDatabase() .viewQueryMode(true) - .view("selectParametersByTemplateId") + .view("selectParametersByTId") .setVar("templateId", baseTemplate.getId()) .doQuery(Parameter.class); @@ -194,11 +194,12 @@ public class ParameterServiceImpl implements ParameterService { } } - private ParameterProcessingResult processParameters( - List parameterForms, - List existingParameters, - Template baseTemplate, - Template newTemplate) + @Transactional(rollbackFor = CommonException.class) + public ParameterProcessingResult processParameters( + List parameterForms, + List existingParameters, + Template baseTemplate, + Template newTemplate) { Map parameterMap = createParameterMap(existingParameters); @@ -252,13 +253,15 @@ public class ParameterServiceImpl implements ParameterService { /** * 处理新增参数 */ - private void handleInsertOperation( - ParameterForm form, Template newTemplate, - List newParameters, List revisionRecords, - Template baseTemplate - ) { + @Transactional(rollbackFor = CommonException.class) + public void handleInsertOperation( + ParameterForm form, Template newTemplate, + List newParameters, List revisionRecords, + Template baseTemplate + ) { Parameter newParameter = new Parameter(); BeanUtils.copyProperties(form, newParameter); + newParameter.setCreatedBy(permissionGetter.getCurrentUserId()); Parameter parameter = bd.getBusinessDatabase() .viewQueryMode(true) @@ -295,11 +298,12 @@ public class ParameterServiceImpl implements ParameterService { /** * 处理更新参数 */ - private void handleUpdateOperation( - ParameterForm form, Map parameterMap, - Template newTemplate, List newParameters, - List revisionRecords, Template baseTemplate - ) { + @Transactional(rollbackFor = CommonException.class) + public void handleUpdateOperation( + ParameterForm form, Map parameterMap, + Template newTemplate, List newParameters, + List revisionRecords, Template baseTemplate + ) { Parameter originalParameter = parameterMap.get(form.getParameterNumber()); if (originalParameter == null) { @@ -308,6 +312,7 @@ public class ParameterServiceImpl implements ParameterService { Parameter updatedParameter = new Parameter(); BeanUtils.copyProperties(form, updatedParameter); + updatedParameter.setCreatedBy(permissionGetter.getCurrentUserId()); String detail = getParameterChange(originalParameter, updatedParameter); bd.getBusinessDatabase().doInsert(updatedParameter); diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java index 9774d7d..245dfd8 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateApprovalServiceImpl.java @@ -192,7 +192,8 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } } - private void processApprovalLogic(ApprovalFlow flow, HandleApprovalRequest request, String currentNode) { + @Transactional(rollbackFor = CommonException.class) + public void processApprovalLogic(ApprovalFlow flow, HandleApprovalRequest request, String currentNode) { // 记录审批结果 ApprovalRecord record = new ApprovalRecord(); record.setFlowId(flow.getId()); @@ -316,6 +317,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } // 处理下一节点流转 + @Transactional(rollbackFor = CommonException.class) public void processNextNode(ApprovalFlow flow, String currentNode) { // 检查当前节点是否满足流转条件 if (!checkNodeComplete(flow, currentNode)) { @@ -388,7 +390,8 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService { } } - private void cancelProcess(ApprovalFlow flow, String status) { + @Transactional(rollbackFor = CommonException.class) + public void cancelProcess(ApprovalFlow flow, String status) { // 更新流程状态 flow.setFlowStatus(status); bd.getBusinessDatabase() diff --git a/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java index cae850d..4bc1231 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TemplateServiceImpl.java @@ -192,6 +192,7 @@ public class TemplateServiceImpl implements TemplateService { // 验证公式 for (Parameter data : dataList) { + data.setCreatedBy(permissionGetter.getCurrentUserId()); if (Objects.equals(data.getParameterSource(), "公式计算")) { Map validationResult = FormulaValidator.validateFormulaDetailed( data.getNumberOrFormula()); From 019c52ba4fb8ee4e2322d39f027d8aa834a485fb Mon Sep 17 00:00:00 2001 From: zjh <15615273395@163.com> Date: Thu, 11 Dec 2025 09:12:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E5=B8=B8?= =?UTF-8?q?=E7=94=A8=E9=83=A8=E5=88=86=E6=A0=91=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/UserPermissionGetter.java | 4 +- .../controller/TemplateController.java | 5 +-- .../controller/form/ApprovalListForm.java | 3 -- .../controller/form/InsertTemplateForm.java | 3 -- .../controller/form/StartApprovalRequest.java | 2 - .../controller/form/UpdateParameterForm.java | 2 - .../controller/form/UpdateTemplateForm.java | 3 -- .../listener/SheetDataListener.java | 8 +++- .../xdap/self_development/pojo/Parameter.java | 10 ++++- .../xdap/self_development/pojo/Template.java | 9 ++++- .../service/TemplateService.java | 4 +- .../impl/CommonParameterServiceImpl.java | 40 ++++++++++--------- .../service/impl/ParameterServiceImpl.java | 29 ++++++++++++-- .../impl/TemplateApprovalServiceImpl.java | 9 +++-- .../service/impl/TemplateServiceImpl.java | 31 +++++++++----- 15 files changed, 103 insertions(+), 59 deletions(-) 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