xiangpei
2024-08-06 9c2530bafbd5f502fd9bdc9abaa7c357d6f91e86
ycl-server/src/main/java/com/ycl/calculate/FaceInFoAccuracyCalculation.java
@@ -4,7 +4,9 @@
import com.ycl.platform.domain.entity.CheckIndexCar;
import com.ycl.platform.domain.entity.CheckIndexFace;
import com.ycl.platform.domain.entity.TMonitor;
import com.ycl.platform.domain.result.HK.FaceDeviceSamplingResult;
import com.ycl.platform.domain.result.HK.MonitoringDetailResult;
import com.ycl.platform.domain.vo.TMonitorVO;
import com.ycl.platform.mapper.CheckIndexFaceMapper;
import com.ycl.platform.mapper.TMonitorMapper;
import com.ycl.platform.service.ICheckIndexFaceService;
@@ -24,6 +26,7 @@
/**
 * 人脸卡口信息采集准确率  设备编码、行政区划代码、安装位置、坐标经纬度信息完整准确
 * 采集设备属性监测接口
 * 获取分省厅、区域的map<k,v> k为deptId或者Province_deptId
 * 更新或新增
 */
@@ -34,7 +37,7 @@
    @Autowired
    private ICheckIndexFaceService checkIndexFaceService;
    @Autowired
    private ITMonitorService monitorService;
    private TMonitorMapper monitorMapper;
    //区域车辆信息采集准确率的内部类
    private static class AreaStats {
@@ -48,16 +51,14 @@
            return;
        }
        //返回以国标码为key的设备map
        //TODO:monitor去掉了deptId
        Map<String, TMonitor> monitorMap = monitorService.list(new QueryWrapper<TMonitor>()
                        .in("serial_number", list.stream().map(MonitoringDetailResult::getExternalIndexCode).collect(Collectors.toList())))
                .stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
        Map<String, TMonitorVO> monitorMap = monitorMapper.selectListByIds(list.stream().map(MonitoringDetailResult::getExternalIndexCode).collect(Collectors.toList()))
                .stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity()));
        //获取省厅国标码集合
        List<String> provinceIds = getProvince();
        Map<String, AreaStats> areaStatsMap = new HashMap<>();
        for (MonitoringDetailResult result : list) {
            TMonitor monitor = monitorMap.get(result.getExternalIndexCode());
            TMonitorVO monitor = monitorMap.get(result.getExternalIndexCode());
            if (monitor == null) continue;
            String deptId = monitor.getDeptId().toString();
@@ -100,7 +101,7 @@
    }
    /**
     * 车辆信息采集正确率
     * 人脸信息采集正确率
     */
    private CheckIndexFace createOrUpdateCheckIndexFace(String key, AreaStats stats, List<CheckIndexFace> checkIndexFaceList) {
        CheckIndexFace checkIndexFace = getCheckIndex(key, checkIndexFaceList, CheckIndexFace.class);