fuliqi
2025-01-08 b31a2529ad309413a23d8ff208d6b15b76efc1cc
ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -17,6 +17,7 @@
import com.ycl.utils.DateUtils;
import com.ycl.utils.StringUtils;
import constant.ApiConstants;
import constant.CheckConstants;
import enumeration.DeviceType;
import enumeration.general.AreaDeptEnum;
import lombok.extern.slf4j.Slf4j;
@@ -67,6 +68,18 @@
     */
    public void getOSD() throws ExecutionException, InterruptedException {
        log.info("开始获取OSD");
//        //海康设备测试
//        //全景
//        OSDResult osd1 = HKApi.getOsdByIP("51031140001320359101","51.95.99.112", HKUserName, HKPassword);
//        log.info("海康全景:{}",osd1);
//        //细节
//        OSDResult osd2 = HKApi.getOsdByIP("51031140001321359101","51.95.99.112", HKUserName, HKPassword);
//        log.info("海康细节:{}",osd2);
//        //大华设备测试
//        OSDResult osd3 = DHApi.getOsd("51030244001320120201","51.95.4.3", DHUserName, DHPassword);
//        log.info("大华全景:{}",osd3);
//        OSDResult osd4 = DHApi.getOsd("51030244001321120201","51.95.4.3", DHUserName, DHPassword);
//        log.info("大华细节:{}",osd4);
        //查一机一档monitor
        Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
        List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class);
@@ -104,7 +117,6 @@
                    //封装OsdCheckResult
                    OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor);
                    checkCorrect(osdResult, monitor, osdCheckResult);
                    log.info("校验结果:{}", osdCheckResult);
                    checkResults.add(osdCheckResult);
                }
            }
@@ -116,7 +128,7 @@
                Query pyQuery = new Query(Criteria
                        .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                DeleteResult result = mongoTemplate.remove(pyQuery, OsdCheckResult.class);
                pointService.setDeviceTagByGB(checkResults);
                pointService.setDeviceTagByGB(checkResults,CheckConstants.Rule_Category_Video);
                //存放在mongo中
                mongoTemplate.insertAll(checkResults);
                // 工单生成
@@ -148,7 +160,7 @@
        if (osdResult.getCheckTime() != null && osdResult.getOsdTime() != null) {
            long checkTime = osdResult.getCheckTime().getTime();
            long osdTime = osdResult.getOsdTime().getTime();
            long timeDiff = (checkTime - osdTime) / 1000;
            long timeDiff = Math.abs((checkTime - osdTime) / 1000);
            if (timeDiff <= 60) {
                osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Correct);
            } else {
@@ -158,9 +170,8 @@
            osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Unknown);
        }
        //检查通道名是否正确
        //校验规则,这里暂时不比较全景和细节两字。
        if (!StringUtils.isEmpty(osdResult.getName()) && !StringUtils.isEmpty(monitor.getName())) {
            if (monitor.getName().equals(osdResult.getName()) || monitor.getName().replace("全景", "细节").equals(osdResult.getName()) || monitor.getName().replace("细节", "全景").equals(osdResult.getName())) {
            if (monitor.getName().equals(osdResult.getName())) {
                osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Correct);
                osdCheckResult.setOsdName(osdResult.getName());
            } else {