From 760db0612065b27fbd45784d1c41225bb0e6799e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BE=E5=90=8C=E5=AD=A6?= Date: Fri, 29 Aug 2025 09:14:06 +0800 Subject: [PATCH] =?UTF-8?q?ADD:=20=E5=90=88=E5=B9=B6=E5=AD=90=E8=AE=A1?= =?UTF-8?q?=E5=88=92=E6=A3=80=E6=B5=8B=E7=BB=93=E6=9E=9C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=B0=E4=B8=BB=E8=AE=A1=E5=88=92=E5=AF=B9=E5=BA=94=E8=A1=A8?= =?UTF-8?q?=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan/service/impl/AdPlanServiceImpl.java | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java index 3ba4a70c..49dd771c 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java @@ -1720,6 +1720,8 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } // 批量更新被检设备信息 + // 设置导入标志为 1 + devList.forEach(dev -> dev.setImportFlag(1)); pqDevService.saveOrUpdateBatch(devList); devList.forEach(dev -> { pqMonitorService.saveOrUpdateBatch(dev.getMonitorList()); @@ -1968,6 +1970,8 @@ public class AdPlanServiceImpl extends ServiceImpl impleme // 批量更新被检设备信息 + // 不更新导入标志 + devList.forEach(dev -> dev.setImportFlag(null)); pqDevService.updateBatchById(devList); List devSubList = planCheckDataVO.getDevSubList(); @@ -2036,6 +2040,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } } + @Transactional @Override public boolean mergePlanCheckData(String planId) { @@ -2049,14 +2054,54 @@ public class AdPlanServiceImpl extends ServiceImpl impleme if (CollUtil.isEmpty(subPlanList)) { throw new BusinessException(CommonResponseEnum.FAIL, "该计划未找到子计划"); } + // 合并前清除相关表数据 + String mainHarmonicTableName = "ad_harmonic_" + planCode; + String mainNonHarmonicTableName = "ad_non_harmonic_" + planCode; + String mainHarmonicResultTableName = "ad_harmonic_result_" + planCode; + String mainNonHarmonicResultTableName = "ad_non_harmonic_result_" + planCode; + jdbcTemplate.update("DELETE FROM " + mainHarmonicTableName); + jdbcTemplate.update("DELETE FROM " + mainNonHarmonicTableName); + jdbcTemplate.update("DELETE FROM " + mainHarmonicResultTableName); + jdbcTemplate.update("DELETE FROM " + mainNonHarmonicResultTableName); + // 获取所有子计划检测数据 List subPlanCodeList = subPlanList.stream().map(AdPlan::getCode).collect(Collectors.toList()); + List harmonicTableNames = new ArrayList<>(); + List nonHarmonicTableNames = new ArrayList<>(); + List harmonicResultTableNames = new ArrayList<>(); + List nonHarmonicResultTableNames = new ArrayList<>(); for (Integer code : subPlanCodeList) { - List dataTableNames = CollUtil.newArrayList("ad_harmonic_" + code, "ad_non_harmonic_" + code, "ad_harmonic_result_" + code, "ad_non_harmonic_result_" + code); - + harmonicTableNames.add("ad_harmonic_" + code); + nonHarmonicTableNames.add("ad_non_harmonic_" + code); + harmonicResultTableNames.add("ad_harmonic_result_" + code); + nonHarmonicResultTableNames.add("ad_non_harmonic_result_" + code); } - return false; + // 将子计划的谐波数据插入到主计划的谐波表中 + for (String harmonicTableName : harmonicTableNames) { + String sql = "INSERT INTO " + mainHarmonicTableName + " SELECT * FROM " + harmonicTableName; + jdbcTemplate.update(sql); + } + + // 将子计划的非谐波数据插入到主计划的非谐波表中 + for (String nonHarmonicTableName : nonHarmonicTableNames) { + String sql = "INSERT INTO " + mainNonHarmonicTableName + " SELECT * FROM " + nonHarmonicTableName; + jdbcTemplate.update(sql); + } + + // 将子计划的谐波结果数据插入到主计划的谐波结果表中 + for (String harmonicResultTableName : harmonicResultTableNames) { + String sql = "INSERT INTO " + mainHarmonicResultTableName + " SELECT * FROM " + harmonicResultTableName; + jdbcTemplate.update(sql); + } + + // 将子计划的非谐波结果数据插入到主计划的非谐波结果表中 + for (String nonHarmonicResultTableName : nonHarmonicResultTableNames) { + String sql = "INSERT INTO " + mainNonHarmonicResultTableName + " SELECT * FROM " + nonHarmonicResultTableName; + jdbcTemplate.update(sql); + } + + return true; } }