diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java index b4f81d7e..acac560d 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/DetectionServiceImpl.java @@ -25,6 +25,7 @@ import com.njcn.gather.storage.pojo.po.AdNonHarmonicResult; import com.njcn.gather.storage.service.DetectionDataDealService; import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum; import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import java.lang.reflect.Field; @@ -1015,7 +1016,23 @@ public class DetectionServiceImpl { BigDecimal.valueOf(-errSysDtl.getMaxErrorValue()), BigDecimal.valueOf(errSysDtl.getMaxErrorValue()))).collect(Collectors.toList()); if (CollUtil.isNotEmpty(qualifiedList)) { - data.setErrorData(devSubtractChannelData(qualifiedList.get(0), channelData, ratedValue, errSysDtl)); + switch (dataRule) { + case AT_WILL_VALUE: + case CP95_VALUE: + case AVG_VALUE: + case SECTION_VALUE: + data.setErrorData(devSubtractChannelData(qualifiedList.get(0), channelData, ratedValue, errSysDtl)); + break; + case Own_value: + if (qualifiedList.size() == harmDataList.size()) { + data.setErrorData(devSubtractChannelData(qualifiedList.get(0), channelData, ratedValue, errSysDtl)); + } else { + List subtract = CollectionUtils.subtract(harmDataList, qualifiedList).stream().collect(Collectors.toList()); + data.setData(subtract.get(0)); + data.setErrorData(devSubtractChannelData(subtract.get(0), channelData, ratedValue, errSysDtl)); + } + break; + } } else { data.setErrorData(devSubtractChannelData(harmDataList.get(0), channelData, ratedValue, errSysDtl)); } @@ -1041,6 +1058,8 @@ public class DetectionServiceImpl { if (qualifiedList.size() == harmDataList.size()) { data.setIsData(1); } else { + List subtract = CollectionUtils.subtract(harmDataList, qualifiedList).stream().collect(Collectors.toList()); + data.setData(subtract.get(0)); data.setIsData(2); } break; diff --git a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptCheckDataServiceImpl.java b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptCheckDataServiceImpl.java index 68407db6..a7f8589b 100644 --- a/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptCheckDataServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/script/service/impl/PqScriptCheckDataServiceImpl.java @@ -152,6 +152,18 @@ public class PqScriptCheckDataServiceImpl extends ServiceImpl list1 = this.list(wrapper).stream().map(PqScriptCheckData::getScriptIndex).distinct().collect(Collectors.toList()); + for (int i = list1.size() - 1; i >= 0; i--) { + wrapper.clear(); + wrapper.eq(PqScriptCheckData::getScriptId, scriptId); + wrapper.eq(PqScriptCheckData::getScriptIndex, list1.get(i)); + List list = this.list(wrapper); + long count = list.stream().filter(x -> x.getErrorFlag() == 1).count(); + if (count != 0) { + list1.remove(i); + } + } + return list1; } } diff --git a/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java b/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java index c4e6f007..28bacd8b 100644 --- a/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/source/service/impl/PqSourceServiceImpl.java @@ -96,7 +96,7 @@ public class PqSourceServiceImpl extends ServiceImpl i @Override public List> listAllPqSource(String patternId) { - List pqSourceList = this.lambdaQuery().eq(PqSource::getPattern, patternId).eq(PqSource::getState, DataStateEnum.ENABLE.getCode()).list(); + List pqSourceList = this.lambdaQuery().eq(PqSource::getPattern, patternId).orderByAsc(PqSource::getCreateTime).eq(PqSource::getState, DataStateEnum.ENABLE.getCode()).list(); List> result = pqSourceList.stream().map(pqSource -> { Map map = new HashMap<>(); map.put("id", pqSource.getId());