增加正式监测流程,监测状态变更
This commit is contained in:
@@ -5,6 +5,7 @@ import com.njcn.gather.storage.pojo.po.AdHarmonicResult;
|
||||
import com.njcn.gather.storage.pojo.po.AdNonHarmonicResult;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DetectionDataDealService extends IReplenishMybatisService<AdHarmonicResult> {
|
||||
|
||||
@@ -18,4 +19,12 @@ public interface DetectionDataDealService extends IReplenishMybatisService<AdHar
|
||||
Boolean acceptAdNonResult(List<AdNonHarmonicResult> adNonHarmonicResultList,String code);
|
||||
|
||||
Boolean acceptAdResult(List<AdHarmonicResult> adHarmonicResultList,String code);
|
||||
|
||||
/**
|
||||
* 根据终端id查询终端所有监测项目是否合格
|
||||
* @param ids
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
Map<String,Integer> devResult(List<String> ids,String code);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.njcn.gather.storage.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
|
||||
import com.njcn.db.mybatisplus.service.impl.ReplenishMybatisServiceImpl;
|
||||
import com.njcn.gather.storage.mapper.DetectionDataDealMapper;
|
||||
@@ -13,7 +15,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -92,4 +94,57 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
||||
DynamicTableNameHandler.remove();
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Integer> devResult(List<String> ids,String code) {
|
||||
List<AdNonHarmonicResult> noHarm=new ArrayList<>();
|
||||
for (String id : ids) {
|
||||
DynamicTableNameHandler.setTableName("ad_non_harmonic_result_" + code);
|
||||
noHarm.addAll(adNonHarmonicService.list( new LambdaQueryWrapper<AdNonHarmonicResult>()
|
||||
.like(AdNonHarmonicResult::getMonitorId,id)
|
||||
)) ;
|
||||
}
|
||||
DynamicTableNameHandler.remove();
|
||||
List<AdHarmonicResult> harm=new ArrayList<>();
|
||||
for (String id : ids) {
|
||||
DynamicTableNameHandler.setTableName("ad_harmonic_result_" + code);
|
||||
harm.addAll(this.list( new LambdaQueryWrapper<AdHarmonicResult>()
|
||||
.like(AdHarmonicResult::getMonitorId,id)
|
||||
)) ;
|
||||
}
|
||||
DynamicTableNameHandler.remove();
|
||||
Map<String, List<Integer>> noHarmMap = noHarm.stream().collect(Collectors.groupingBy(x -> x.getMonitorId().split("_")[0],
|
||||
Collectors.mapping(AdNonHarmonicResult::getResultFlag, Collectors.toList())));
|
||||
Map<String, List<Integer>> harmMap = harm.stream().collect(Collectors.groupingBy(x -> x.getMonitorId().split("_")[0],
|
||||
Collectors.mapping(AdHarmonicResult::getResultFlag, Collectors.toList())));
|
||||
Map<String, Integer> map=new HashMap<>(2);
|
||||
for (String id : ids) {
|
||||
List<Integer> resultFlags=new ArrayList<>();
|
||||
if(noHarmMap.containsKey(id)){
|
||||
resultFlags.addAll(noHarmMap.get(id));
|
||||
}
|
||||
if(harmMap.containsKey(id)){
|
||||
resultFlags.addAll(harmMap.get(id));
|
||||
}
|
||||
map.put(id,isResultFlag(resultFlags));
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
private static Integer isResultFlag(List<Integer> resultFlags) {
|
||||
// 检测结果(0:不符合 1:符合 2:/[未检测无结果])
|
||||
resultFlags = resultFlags.stream().distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(resultFlags)) {
|
||||
if (resultFlags.size() > 1) {
|
||||
if (resultFlags.contains(4)) {
|
||||
return 2;
|
||||
} else if (resultFlags.contains(2)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
return resultFlags.get(0);
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user