xiangpei
2024-08-29 93de88509eddd4af2622e480da57236f8af177a1
图像检测bug修改
3个文件已修改
104 ■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/ImageDetectionResult.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/UYTask.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/ImageDetectionResult.java
@@ -37,7 +37,7 @@
    private Integer blurRaw;
    /**
     * 画面偏色:1正常 0异常
     * 画面偏色:1正常 0未知  -1异常
     */
    private Integer color;
@@ -65,7 +65,7 @@
    private String ipAddr;
    /**
     * 亮度:1正常  0异常
     * 亮度:1正常 0未知  -1异常
     */
    private Integer light;
@@ -92,7 +92,7 @@
    private Integer olTotal;
    /**
     * 画面遮挡:1正常 0异常
     * 画面遮挡:1正常 0未知  -1异常
     */
    private Integer shade;
@@ -106,7 +106,7 @@
    private Integer shakeRaw;
    /**
     * 信号状态:在线,0异常
     * 信号状态:1正常 0未知  -1异常
     */
    private Integer signa1;
@@ -122,7 +122,7 @@
    private Integer sipCode;
    /**
     * 雪花干扰:1正常 0异常
     * 雪花干扰:1正常 0未知  -1异常
     */
    private Integer snow;
@@ -135,7 +135,7 @@
    private Integer status;
    /**
     * 条纹干扰:1正常 0异常
     * 条纹干扰:1正常 0未知  -1异常
     */
    private Integer stripe;
ycl-server/src/main/java/com/ycl/platform/service/impl/UYErrorTypeCheckServiceImpl.java
@@ -34,41 +34,37 @@
    @Override
    public void imageDetectionCheck(List<ImageDetectionResult> dataList) {
        List<WorkOrder> workOrderList = dataList.stream().filter(item -> 0 == item.getSigna1()
                || 0 == item.getColor()
                || 0 == item.getSnow()
                || 0 == item.getStripe()
                || 0 == item.getShade()
                || 0 == item.getBlur()
                || 0 == item.getLight()
                || -1 == item.getSignal()
                || -1 == item.getImage()
        )
        .map(item -> {
            WorkOrder workOrder = new WorkOrder();
            // 信号缺失
            if (0 == item.getSigna1() ) {
            if (-1 == item.getSigna1() ) {
                this.genWorkOrder(workOrder, ErrorType.SIGNAL_LOSS, item.getDeviceId());
            }
            // 画面偏色
            if ( 0 == item.getColor()) {
            if (-1 == item.getColor()) {
                this.genWorkOrder(workOrder, ErrorType.SCREEN_COLOR_DEVIATION, item.getDeviceId());
            }
            // 雪花干扰
            if ( 0 == item.getSnow()) {
            if (-1 == item.getSnow()) {
                this.genWorkOrder(workOrder, ErrorType.SNOW_STORM, item.getDeviceId());
            }
            // 条纹干扰
            if (0 == item.getStripe()) {
            if (-1 == item.getStripe()) {
                this.genWorkOrder(workOrder, ErrorType.STRIPE_INTERFERENCE, item.getDeviceId());
            }
            // 画面遮挡
            if (0 == item.getShade()) {
            if (-1 == item.getShade()) {
                this.genWorkOrder(workOrder, ErrorType.SCREEN_OCCLUSION, item.getDeviceId());
            }
            // 清晰度异常
            if (0 == item.getBlur()) {
            if (-1 == item.getBlur()) {
                this.genWorkOrder(workOrder, ErrorType.ABNORMAL_CLARITY, item.getDeviceId());
            }
            // 亮度异常
            if (0 == item.getLight()) {
            if (-1 == item.getLight()) {
                this.genWorkOrder(workOrder, ErrorType.ABNORMAL_BRIGHTNESS, item.getDeviceId());
            }
            return workOrder;
ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -62,41 +62,41 @@
    // 图像检测
    public void imageDetection() {
        log.info("开始执行图像检测数据同步");
//        ImageDetectionParam param = new ImageDetectionParam();
//        param.setPageNum(ApiConstants.PageNo);
//        param.setPageSize(ApiConstants.PageSize);
//        param.setArealayerno(ApiConstants.AreaNo);
//        JSONObject jsonObject = uyClient.imageDetection(param);
//        if (jsonObject != null) {
//            log.info("数据格式" + jsonObject);
//            Integer statusCode = jsonObject.getInteger("statusCode");
//            if (ApiConstants.UYSuccessCode.equals(statusCode)) {
//                JSONObject data = jsonObject.getJSONObject("data");
//                if (data != null) {
//                    List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class);
//                    if (!CollectionUtils.isEmpty(records)) {
//                        //如果今天存在之前的数据先删除
//                        Query query = new Query(Criteria
//                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
//                        DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class);
//                        //存放在mongo中
//                        mongoTemplate.insertAll(records);
//                        // 工单生成
//                        uyErrorTypeCheckService.imageDetectionCheck(records);
//                    } else {
//                        log.error("图像监测数据为空{}", data);
//                    }
//                } else {
//                    log.error("图像监测数据为空{}", jsonObject);
//                }
//            } else {
//                log.error("图像监测请求失败{}", jsonObject);
//            }
//        } else {
//            log.error("图像监测数据为空");
//        }
        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
        uyErrorTypeCheckService.imageDetectionCheck(mongoTemplate.find(query, ImageDetectionResult.class));
        ImageDetectionParam param = new ImageDetectionParam();
        param.setPageNum(ApiConstants.PageNo);
        param.setPageSize(ApiConstants.PageSize);
        param.setArealayerno(ApiConstants.AreaNo);
        JSONObject jsonObject = uyClient.imageDetection(param);
        if (jsonObject != null) {
            log.info("数据格式" + jsonObject);
            Integer statusCode = jsonObject.getInteger("statusCode");
            if (ApiConstants.UYSuccessCode.equals(statusCode)) {
                JSONObject data = jsonObject.getJSONObject("data");
                if (data != null) {
                    List<ImageDetectionResult> records = data.getList("records", ImageDetectionResult.class);
                    if (!CollectionUtils.isEmpty(records)) {
                        //如果今天存在之前的数据先删除
                        Query query = new Query(Criteria
                                .where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
                        DeleteResult result = mongoTemplate.remove(query, ImageDetectionResult.class);
                        //存放在mongo中
                        mongoTemplate.insertAll(records);
                        // 工单生成
                        uyErrorTypeCheckService.imageDetectionCheck(records);
                    } else {
                        log.error("图像监测数据为空{}", data);
                    }
                } else {
                    log.error("图像监测数据为空{}", jsonObject);
                }
            } else {
                log.error("图像监测请求失败{}", jsonObject);
            }
        } else {
            log.error("图像监测数据为空");
        }
//        Query query = new Query(Criteria.where("mongoCreateTime").lt(DateUtils.getDayEnd(new Date())));
//        uyErrorTypeCheckService.imageDetectionCheck(mongoTemplate.find(query, ImageDetectionResult.class));
        log.info("结束执行图像监测数据同步");
    }