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());