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