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; } }