fuliqi
2024-11-15 2150b0b87de4ec80a9d3f968c6de947f361ca19f
ycl-server/src/main/java/com/ycl/task/MonitorTask.java
@@ -21,6 +21,7 @@
import com.ycl.system.service.ISysDictDataService;
import com.ycl.utils.DateUtils;
import com.ycl.utils.StringUtils;
import constant.ApiConstants;
import constant.CheckConstants;
import constant.RedisConstant;
import enumeration.general.AreaDeptEnum;
@@ -62,7 +63,7 @@
    private RedisTemplate redisTemplate;
    //同步点位在线率到mongo(弃用)
    public void siteOnline() {
//    public void siteOnline() {
//        log.info("开始同步点位在线率到mongo");
//        List<TMonitorResult> tMonitorResults = monitorMapper.selectMonitorResult(null);
//        if (!CollectionUtils.isEmpty(tMonitorResults)) {
@@ -73,7 +74,7 @@
//            mongoTemplate.insertAll(tMonitorResults);
//            log.info("结束同步点位在线率到mongo");
//        }
    }
//    }
    //同步mongodb一机一档到数据库
    @Transactional(rollbackFor = Exception.class)
@@ -101,8 +102,7 @@
        List<TMonitor> monitorList = new ArrayList<>();
        //准备插入点位表的数据
        List<YwPoint> ywPointList = new ArrayList<>();
        //新的数据,原数据库中不存在的数据
        Set<TMonitor> newMonitorList = new HashSet<>();
        //全年留存
        for (MonitorQualifyResult result : oneMachineFileResults) {
@@ -110,10 +110,6 @@
            YwPoint point = getPoint(result, pointMap, importantSite);
            monitorList.add(monitor);
            ywPointList.add(point);
            //比对筛选出新的数据
            if (!CollectionUtils.isEmpty(monitorVOMap) && !monitorVOMap.containsKey(result.getSerialNumber().getValue())) {
                newMonitorList.add(monitor);
            }
        }
        //添加老数据
        List<String> numbers = CollectionUtils.isEmpty(monitorList) ? new ArrayList<>() : monitorList.stream().map(TMonitor::getSerialNumber).collect(Collectors.toList());
@@ -126,12 +122,17 @@
                if (osdCheckResult != null) {
                    monitor.setDeviceType(osdCheckResult.getDeviceBrand());
                }
                monitorList.add(monitor);
            }
        });
        List<String> points = CollectionUtils.isEmpty(ywPointList) ? new ArrayList<>() : ywPointList.stream().map(YwPoint::getSerialNumber).collect(Collectors.toList());
        pointMap.forEach((key, value) -> {
            //老设备状态改为不参与考核
            if (!points.contains(key)) {
                value.setExamineStatus(Boolean.FALSE);
                //单位设置为空
                value.setUnitId(null);
                ywPointList.add(value);
            }
        });
@@ -164,7 +165,10 @@
            ywPoint.setImportantCommandImageTag(Boolean.FALSE);
            ywPoint.setCreateTime(new Date());
            ywPoint.setUpdateTime(new Date());
            ywPoint.setOnline(ApiConstants.UY_OnlineSite_Unknown);
        }
        //状态设置为考核设备
        ywPoint.setExamineStatus(Boolean.TRUE);
        //比对是否是重点点位
        if (importantSite.contains(result.getSxjcjqy().getValue())) {
            ywPoint.setImportantTag(Boolean.TRUE);