From 708a4e6fbd61f90bf9613c601da8768e6dcb7aa1 Mon Sep 17 00:00:00 2001 From: caozehui <2427765068@qq.com> Date: Tue, 11 Mar 2025 15:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=84=9A=E6=9C=AC=E8=AF=A6=E6=83=85=E9=A1=B9?= =?UTF-8?q?=E7=A6=81=E7=94=A8=E5=90=8E=EF=BC=8C=E8=AF=A5=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B9=E7=9A=84=E7=BB=93=E6=9E=9C=E4=B8=8D?= =?UTF-8?q?=E5=8F=82=E4=B8=8E=E8=A3=85=E7=BD=AE=E7=9A=84=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan/service/impl/AdPlanServiceImpl.java | 5 +- .../mapper/DetectionDataDealMapper.java | 10 ++- .../mapping/DetectionDataDealMapper.xml | 10 ++- .../impl/DetectionDataServiceImpl.java | 82 ++++++++++--------- 4 files changed, 63 insertions(+), 44 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 899c7e0b..3db9a36f 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 @@ -37,8 +37,8 @@ import com.njcn.gather.script.service.IPqScriptDtlsService; import com.njcn.gather.script.service.IPqScriptService; import com.njcn.gather.source.pojo.po.PqSource; import com.njcn.gather.source.service.IPqSourceService; +import com.njcn.gather.storage.mapper.DetectionDataDealMapper; import com.njcn.gather.storage.pojo.param.StorageParam; -import com.njcn.gather.storage.pojo.po.AdBaseResult; import com.njcn.gather.storage.service.AdHarmonicService; import com.njcn.gather.storage.service.AdNonHarmonicService; import com.njcn.gather.storage.service.TableGenService; @@ -95,7 +95,6 @@ public class AdPlanServiceImpl extends ServiceImpl impleme private final ISysTestConfigService sysTestConfigService; private final IDevTypeService devTypeService; private final IDictTypeService dictTypeService; - private final AdNonHarmonicService adNonHarmonicService; private final AdHarmonicService adHarmonicService; @Override @@ -382,7 +381,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme StorageParam storageParam = new StorageParam(); storageParam.setCode(Integer.valueOf(adPlan.getCode())); storageParam.setScriptId(adPlan.getScriptId()); - List indexes = adHarmonicService.getIndex(storageParam,true); + List indexes = adHarmonicService.getIndex(storageParam, true); scriptDtlsList = scriptDtlsList.stream().filter(obj -> indexes.contains(obj.getScriptIndex())).collect(Collectors.toList()); } diff --git a/storage/src/main/java/com/njcn/gather/storage/mapper/DetectionDataDealMapper.java b/storage/src/main/java/com/njcn/gather/storage/mapper/DetectionDataDealMapper.java index 348085c4..537e6388 100644 --- a/storage/src/main/java/com/njcn/gather/storage/mapper/DetectionDataDealMapper.java +++ b/storage/src/main/java/com/njcn/gather/storage/mapper/DetectionDataDealMapper.java @@ -3,9 +3,17 @@ package com.njcn.gather.storage.mapper; import com.njcn.db.mybatisplus.mapper.BatchBaseMapper; import com.njcn.gather.storage.pojo.po.AdHarmonicResult; +import java.util.List; + public interface DetectionDataDealMapper extends BatchBaseMapper { - + /** + * 根据设备ID查询禁用的脚本详情索引 + * + * @param devId + * @return + */ + List listDisabledScriptDtlIndexs(String devId); diff --git a/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/DetectionDataDealMapper.xml b/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/DetectionDataDealMapper.xml index e163aad9..7c73a1a5 100644 --- a/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/DetectionDataDealMapper.xml +++ b/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/DetectionDataDealMapper.xml @@ -3,6 +3,14 @@ - + diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java index 4177e988..c155741f 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/DetectionDataServiceImpl.java @@ -26,6 +26,7 @@ import java.util.stream.Collectors; public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl implements DetectionDataDealService { private final AdNonHarmonicService adNonHarmonicService; + private final DetectionDataDealMapper detectionDataDealMapper; @Override @@ -34,10 +35,10 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl monitorIds = adNonHarmonicResultList.stream().map(AdNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList()); - if(CollUtil.isNotEmpty(monitorIds)){ + if (CollUtil.isNotEmpty(monitorIds)) { adNonHarmonicService.remove(new LambdaQueryWrapper().in(AdNonHarmonicResult::getMonitorId, monitorIds) - .eq(AdNonHarmonicResult::getScriptId,adNonHarmonicResultList.get(0).getScriptId()) - .eq(AdNonHarmonicResult::getSort,adNonHarmonicResultList.get(0).getSort())); + .eq(AdNonHarmonicResult::getScriptId, adNonHarmonicResultList.get(0).getScriptId()) + .eq(AdNonHarmonicResult::getSort, adNonHarmonicResultList.get(0).getSort())); adNonHarmonicService.saveBatch(adNonHarmonicResultList, 100); } DynamicTableNameHandler.remove(); @@ -50,10 +51,10 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl monitorIds = adHarmonicResultList.stream().map(AdHarmonicResult::getMonitorId).distinct().collect(Collectors.toList()); - if(CollUtil.isNotEmpty(monitorIds)){ + if (CollUtil.isNotEmpty(monitorIds)) { this.remove(new LambdaQueryWrapper().in(AdHarmonicResult::getMonitorId, monitorIds) - .eq(AdHarmonicResult::getScriptId,adHarmonicResultList.get(0).getScriptId()) - .eq(AdHarmonicResult::getSort,adHarmonicResultList.get(0).getSort())); + .eq(AdHarmonicResult::getScriptId, adHarmonicResultList.get(0).getScriptId()) + .eq(AdHarmonicResult::getSort, adHarmonicResultList.get(0).getSort())); this.saveBatch(adHarmonicResultList, 100); } @@ -67,10 +68,10 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl monitorIds = adNonHarmonicResultList.stream().map(AdNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList()); - if(CollUtil.isNotEmpty(monitorIds)){ + if (CollUtil.isNotEmpty(monitorIds)) { adNonHarmonicService.remove(new LambdaQueryWrapper().in(AdNonHarmonicResult::getMonitorId, monitorIds) - .eq(AdNonHarmonicResult::getScriptId,adNonHarmonicResultList.get(0).getScriptId()) - .eq(AdNonHarmonicResult::getSort,adNonHarmonicResultList.get(0).getSort())); + .eq(AdNonHarmonicResult::getScriptId, adNonHarmonicResultList.get(0).getScriptId()) + .eq(AdNonHarmonicResult::getSort, adNonHarmonicResultList.get(0).getSort())); adNonHarmonicService.saveBatch(adNonHarmonicResultList, 100); } DynamicTableNameHandler.remove(); @@ -83,10 +84,10 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl monitorIds = adHarmonicResultList.stream().map(AdHarmonicResult::getMonitorId).distinct().collect(Collectors.toList()); - if(CollUtil.isNotEmpty(monitorIds)){ + if (CollUtil.isNotEmpty(monitorIds)) { this.remove(new LambdaQueryWrapper().in(AdHarmonicResult::getMonitorId, monitorIds) - .eq(AdHarmonicResult::getScriptId,adHarmonicResultList.get(0).getScriptId()) - .eq(AdHarmonicResult::getSort,adHarmonicResultList.get(0).getSort())); + .eq(AdHarmonicResult::getScriptId, adHarmonicResultList.get(0).getScriptId()) + .eq(AdHarmonicResult::getSort, adHarmonicResultList.get(0).getSort())); this.saveBatch(adHarmonicResultList, 100); } DynamicTableNameHandler.remove(); @@ -94,59 +95,62 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl devResult(List ids,List valueType,String code) { - List noHarm=new ArrayList<>(); + public Map devResult(List ids, List valueType, String code) { + List disabledScriptDtlIndexs = detectionDataDealMapper.listDisabledScriptDtlIndexs(ids.get(0)); + List noHarm = new ArrayList<>(); for (String id : ids) { DynamicTableNameHandler.setTableName("ad_non_harmonic_result_" + code); - noHarm.addAll(adNonHarmonicService.list( new LambdaQueryWrapper() - .like(AdNonHarmonicResult::getMonitorId,id) - .in(CollUtil.isNotEmpty(valueType),AdNonHarmonicResult::getAdType,valueType) - )) ; + noHarm.addAll(adNonHarmonicService.list(new LambdaQueryWrapper() + .like(AdNonHarmonicResult::getMonitorId, id) + .notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), AdNonHarmonicResult::getSort, disabledScriptDtlIndexs) + .in(CollUtil.isNotEmpty(valueType), AdNonHarmonicResult::getAdType, valueType) + )); } DynamicTableNameHandler.remove(); - List harm=new ArrayList<>(); + List harm = new ArrayList<>(); for (String id : ids) { DynamicTableNameHandler.setTableName("ad_harmonic_result_" + code); - harm.addAll(this.list( new LambdaQueryWrapper() - .like(AdHarmonicResult::getMonitorId,id) - .in(CollUtil.isNotEmpty(valueType),AdHarmonicResult::getAdType,valueType) - )) ; + harm.addAll(this.list(new LambdaQueryWrapper() + .like(AdHarmonicResult::getMonitorId, id) + .notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), AdHarmonicResult::getSort, disabledScriptDtlIndexs) + .in(CollUtil.isNotEmpty(valueType), AdHarmonicResult::getAdType, valueType) + )); } DynamicTableNameHandler.remove(); Map> noHarmMap = noHarm.stream().collect(Collectors.groupingBy(x -> x.getMonitorId().split("_")[0], Collectors.mapping(AdNonHarmonicResult::getResultFlag, Collectors.toList()))); Map> harmMap = harm.stream().collect(Collectors.groupingBy(x -> x.getMonitorId().split("_")[0], Collectors.mapping(AdHarmonicResult::getResultFlag, Collectors.toList()))); - Map map=new HashMap<>(2); + Map map = new HashMap<>(2); for (String id : ids) { - List resultFlags=new ArrayList<>(); - if(noHarmMap.containsKey(id)){ + List resultFlags = new ArrayList<>(); + if (noHarmMap.containsKey(id)) { resultFlags.addAll(noHarmMap.get(id)); } - if(harmMap.containsKey(id)){ + if (harmMap.containsKey(id)) { resultFlags.addAll(harmMap.get(id)); } - map.put(id,isResultFlag(resultFlags)); + map.put(id, isResultFlag(resultFlags)); } return map; } private static Integer isResultFlag(List resultFlags) { - // 检测结果(0:不符合 1:符合 2:/[未检测无结果]) + // 检测结果(0:不符合 1:符合 2:/[未检测无结果]) //脚本结果是 1.符合 2.不符合 4.未检测无结果 - resultFlags = resultFlags.stream().filter(x->4!=x).distinct().collect(Collectors.toList()); + resultFlags = resultFlags.stream().filter(x -> 4 != x).distinct().collect(Collectors.toList()); if (CollUtil.isNotEmpty(resultFlags)) { - if (resultFlags.contains(2)) { + if (resultFlags.contains(2)) { return 0; - }else{ - switch (resultFlags.get(0)){ - case 1: - return 1; - case 2: - return 0; + } else { + switch (resultFlags.get(0)) { + case 1: + return 1; + case 2: + return 0; - } - } + } + } } return 1; }