diff --git a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java index c002c94..c008f1a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/BenchmarkingReportServiceImpl.java @@ -141,7 +141,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService String uploadId = new ObjectId().toHexString(); FileUploadDTO fileUploadDTO = apaasMyTokenFeign.uploadFile( - userToken.getAccess_token(), + "Bearer " + userToken.getAccess_token(), "application/x-www-form-urlencoded", file, uploadId, 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 ca8e955..aa0f68f 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 @@ -127,7 +127,7 @@ public class ParameterServiceImpl implements ParameterService { ); // 5. 保存所有数据 - saveAllData(newVersionTemplate, processingResult); + saveAllData(benchmark.getBaseTemplate(), newVersionTemplate, processingResult); TemplateInfoView result = new TemplateInfoView(); result.setTemplateRowId(newVersionTemplate.getRowId()); @@ -332,11 +332,22 @@ 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); + String detail; + // 如果是原模板,就更新 + if (Objects.equals(baseTemplate.getId(), newTemplate.getId())) { + BeanUtils.copyProperties(form, updatedParameter); + updatedParameter.setId(originalParameter.getId()); + updatedParameter.setCreatedBy(permissionGetter.getCurrentUserId()); + detail = getParameterChange(originalParameter, updatedParameter); + bd.getBusinessDatabase().rowid("id", originalParameter.getRowId()).doUpdate(updatedParameter); + } + // 如果是新模板,就新增 + else { + BeanUtils.copyProperties(form, updatedParameter); + updatedParameter.setCreatedBy(permissionGetter.getCurrentUserId()); + detail = getParameterChange(originalParameter, updatedParameter); + bd.getBusinessDatabase().doInsert(updatedParameter); + } newParameters.add(updatedParameter); revisionRecords.add(new RevisionRecord( newTemplate.getTemplateName(), @@ -435,20 +446,33 @@ public class ParameterServiceImpl implements ParameterService { /** * 保存所有数据 */ - private void saveAllData(Template newTemplate, ParameterProcessingResult result) { + private void saveAllData(Template originalTemplate, Template newTemplate, ParameterProcessingResult result) { List parameterIds = bd.getBusinessDatabase() .eq("template_id", newTemplate.getId()) .doQuery(TemplateAndParameter.class).stream() .map(TemplateAndParameter::getParameterId) .collect(Collectors.toList()); - // 创建并保存模板参数关联 - List templateAndParameters = - result.getNewParameters().stream() - .filter(parameter -> !parameterIds.contains(parameter.getId())) - .map(parameter -> createTemplateAndParameter(newTemplate.getId(), parameter.getId())) - .collect(Collectors.toList()); - bd.getBusinessDatabase().doBatchInsert(templateAndParameters); + // 如果是原模板 + if (Objects.equals(originalTemplate.getId(), newTemplate.getId())) { + bd.getBusinessDatabase() + .eq("template_id", originalTemplate.getId()) + .doDelete(TemplateAndParameter.class); + List templateAndParameters = + result.getNewParameters().stream() + .map(parameter -> createTemplateAndParameter(newTemplate.getId(), parameter.getId())) + .collect(Collectors.toList()); + bd.getBusinessDatabase().doBatchInsert(templateAndParameters); + } + // 如果不是原模板 + else { + List templateAndParameters = + result.getNewParameters().stream() + .filter(parameter -> !parameterIds.contains(parameter.getId())) + .map(parameter -> createTemplateAndParameter(newTemplate.getId(), parameter.getId())) + .collect(Collectors.toList()); + bd.getBusinessDatabase().doBatchInsert(templateAndParameters); + } // 保存修订记录 if (!result.getRevisionRecords().isEmpty()) { bd.getBusinessDatabase().doBatchInsert(result.getRevisionRecords()); diff --git a/src/main/resources/sql.sql b/src/main/resources/sql.sql index 90c0e0e..971369d 100644 --- a/src/main/resources/sql.sql +++ b/src/main/resources/sql.sql @@ -113,3 +113,11 @@ CREATE TABLE yc_datasource_0.yfsjglpt_model_role_permission( PRIMARY KEY (`id`) ) COMMENT '角色权限关联表'; +DELETE FROM yfsjglpt_model_template; +DELETE FROM yfsjglpt_model_parameter_and_template; +DELETE FROM yfsjglpt_model_parameter; +DELETE FROM yfsjglpt_model_approval_flow; +DELETE FROM yfsjglpt_model_approval_record; +DELETE FROM yfsjglpt_model_responsible_person; +DELETE FROM yfsjglpt_model_benchmarking_report; +DELETE FROM yfsjglpt_model_revision_record; \ No newline at end of file