xiangpei
2024-08-01 fbc21cce86582464cc0f65e80862e54dbd034baa
数据中心部分接口定义
9个文件已修改
6个文件已添加
353 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -48,7 +48,7 @@
    @Excel(name = "设备经度,至少保留六位小数")
    private String longitude;
    /** 设备维度,至少保留六位小数 */
    /** 设备纬度,至少保留六位小数 */
    @Excel(name = "设备维度,至少保留六位小数")
    private String latitude;
@@ -97,7 +97,7 @@
    @Excel(name = "管理单位联系方式")
    private String muContactInfo;
    /** 录象保存天数 0 - 2147483647 */
    /** 录像保存天数 0 - 2147483647 */
    @Excel(name = "录象保存天数 0 - 2147483647")
    private Long storageDays;
ycl-pojo/src/main/java/com/ycl/platform/domain/query/DateCenterQuery.java
New file
@@ -0,0 +1,14 @@
package com.ycl.platform.domain.query;
import lombok.Data;
/**
 * 数据中心查询
 *
 * @author:xp
 * @date:2024/7/31 17:06
 */
@Data
public class DateCenterQuery {
}
ycl-pojo/src/main/java/com/ycl/platform/domain/query/ScreenQuery.java
New file
@@ -0,0 +1,17 @@
package com.ycl.platform.domain.query;
import lombok.Data;
/**
 * @author:xp
 * @date:2024/7/31 17:06
 */
@Data
public class ScreenQuery {
    /**
     * 数据权限:0:省厅,1市局,2
     */
    private Integer dataScope;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/AttrRecognitionMonitorResult.java
@@ -5,7 +5,7 @@
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * 属性识别准确监测结果
 * 属性识别准确监测结果:车辆(车辆卡口设备抓拍数据准确性、)
 *
 * @author gonghl
 */
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/CrossDetailResult.java
@@ -5,7 +5,7 @@
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * 卡口属性监测结果(调整,可查历史)
 * 卡口属性监测结果:车辆(车辆卡口信息采集准确率、)
 *
 * @author gonghl
 */
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/DataIntegrityMonitoringResult.java
@@ -5,7 +5,7 @@
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * 数据完整性监测结果,2.2.0版本新增
 * 数据完整性监测结果:车量(车辆卡口设备抓拍数据完整性、)
 *
 * @author gonghl
 */
ycl-pojo/src/main/java/com/ycl/platform/domain/result/HK/SnapshotDataMonitorResult.java
@@ -5,7 +5,7 @@
import org.springframework.data.mongodb.core.mapping.Document;
/**
 * 抓拍数据量监测结果
 * 抓拍数据量监测结果:车辆(视图库对接稳定性、点位在线率、)
 *
 * @author gonghl
 */
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/screen/ScreenWorkOrderVO.java
New file
@@ -0,0 +1,23 @@
package com.ycl.platform.domain.vo.screen;
import lombok.Data;
/**
 * 大屏工单数据
 *
 * @author:xp
 * @date:2024/7/31 16:52
 */
@Data
public class ScreenWorkOrderVO {
    /** 工单总数 */
    private Integer total;
    /** 所有已完成工单 */
    private Integer totalHandler;
    /** 未完成工单 */
    private Integer totalNotFinish;
}
ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
New file
@@ -0,0 +1,18 @@
package com.ycl.platform.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * 数据中心接口
 *
 * @author:xp
 * @date:2024/8/1 16:40
 */
@RestController
@RequestMapping("/data/center")
public class DataCenterController {
}
ycl-server/src/main/java/com/ycl/platform/controller/FullScreenController.java
New file
@@ -0,0 +1,58 @@
package com.ycl.platform.controller;
import com.ycl.platform.domain.query.ScreenQuery;
import com.ycl.platform.service.WorkOrderService;
import com.ycl.system.Result;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author:xp
 * @date:2024/7/31 16:01
 */
@RequiredArgsConstructor
@RestController
@RequestMapping("/screen")
public class FullScreenController {
    private final WorkOrderService workOrderService;
    /**
     * 大屏工单数据
     *
     * @param query
     * @return
     */
    @GetMapping("/work/order")
    public Result workOrder(ScreenQuery query) {
        return workOrderService.screenWorkOrder(query);
    }
    /**
     * 大屏设备数据
     *
     * @param query
     * @return
     */
    @GetMapping("/device")
    public Result device(ScreenQuery query) {
        // todo 查询一机一档数据
        return workOrderService.screenWorkOrder(query);
    }
    /**
     * 大屏审核数据
     *
     * @param query
     * @return
     */
    @GetMapping("/assessment/data")
    public Result assessmentData(ScreenQuery query) {
        // todo 查mongo
        return workOrderService.screenWorkOrder(query);
    }
}
ycl-server/src/main/java/com/ycl/platform/mapper/WorkOrderMapper.java
@@ -4,6 +4,7 @@
import com.ycl.platform.domain.entity.WorkOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
import com.ycl.platform.domain.query.ScreenQuery;
import com.ycl.platform.domain.query.WorkOrderQuery;
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.form.WorkOrderForm;
@@ -11,6 +12,7 @@
import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
import com.ycl.platform.domain.vo.YwPointJobVO;
import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -33,4 +35,12 @@
     * @return
     */
    List<YwPointJobVO> handlingWorkOrderList();
    /**
     * 统计大屏工单数据
     *
     * @param query
     * @return
     */
    ScreenWorkOrderVO screenWorkOrder(@Param("query") ScreenQuery query);
}
ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
New file
@@ -0,0 +1,173 @@
package com.ycl.platform.service;
import com.ycl.platform.domain.query.DateCenterQuery;
import com.ycl.platform.domain.result.HK.AttrRecognitionMonitorResult;
import com.ycl.platform.domain.result.HK.CrossDetailResult;
import com.ycl.platform.domain.result.HK.DataIntegrityMonitoringResult;
import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult;
import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
import com.ycl.platform.domain.vo.TMonitorVO;
import java.util.List;
/**
 * @author:xp
 * @date:2024/8/1 16:42
 */
public interface DataCenterService {
    /**
     * 视频:点位在线率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoPointOnlineRate(DateCenterQuery query);
    /**
     * 视频:一机一档注册率
     *
     * @param query
     * @return
     */
    List<TMonitorVO> videoOneMachineDocumentRegister(DateCenterQuery query);
    /**
     * 视频:一机一档合格率
     *
     * @param query
     * @return
     */
    List<TMonitorVO> videoOneMachineDocumentQualified(DateCenterQuery query);
    /**
     * 视频:档案考核比
     *
     * @param query
     * @return
     */
    List<TMonitorVO> videoAssessmentFileRatio(DateCenterQuery query);
    /**
     * 视频:录像可用率
     *
     * @param query
     * @return
     */
    List<RecordMetaDSumResult> videoAvailabilityRate(DateCenterQuery query);
    /**
     * 视频:重点点位录像可用率
     *
     * @param query
     * @return
     */
    List<RecordMetaDSumResult> videoImportantPointAvailabilityRate(DateCenterQuery query);
    /**
     * 视频:标注正确率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoLabelingAccuracy(DateCenterQuery query);
    /**
     * 视频:重点点位标注正确率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoImportantPointLabelingAccuracy(DateCenterQuery query);
    /**
     * 视频:校时正确率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoCheckTimeAccuracy(DateCenterQuery query);
    /**
     * 视频:重点点位校时正确率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoImportantPointCheckTimeAccuracy(DateCenterQuery query);
    /**
     * 视频:重点点位在线率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoImportantPointOnlineRate(DateCenterQuery query);
    /**
     * 视频:重点指挥图像在线率
     *
     * @param query
     * @return
     */
    // TODO 返回数据对象更换
    List<TMonitorVO> videoImportantPointImageOnlineRate(DateCenterQuery query);
    /**
     * 车辆:视图库对接稳定性
     *
     * @param query
     * @return
     */
    List<SnapshotDataMonitorResult> vehicleViewDockStable(DateCenterQuery query);
    /**
     * 车辆:点位在线率
     *
     * @param query
     * @return
     */
    List<SnapshotDataMonitorResult> vehiclePointOnlineRate(DateCenterQuery query);
    /**
     * 车辆:互联网卡口设备目录一致性
     *
     * @param query
     * @return
     */
    List<TMonitorVO> vehicleNetDeviceDirectoryConsistency(DateCenterQuery query);
    /**
     * 车辆:车辆卡口信息采集准确率
     *
     * @param query
     * @return
     */
    List<CrossDetailResult> vehicleCollectionConsistency(DateCenterQuery query);
    /**
     * 车辆:车辆卡口设备抓拍数据完整性
     *
     * @param query
     * @return
     */
    List<DataIntegrityMonitoringResult> vehicleCollectionDataIntegrity(DateCenterQuery query);
    /**
     * 车辆:车辆卡口设备抓拍数据准确性
     *
     * @param query
     * @return
     */
    List<AttrRecognitionMonitorResult> vehicleCollectionDataCaptured(DateCenterQuery query);
}
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.platform.domain.form.*;
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
import com.ycl.platform.domain.query.ScreenQuery;
import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
import com.ycl.system.Result;
import com.ycl.platform.domain.query.WorkOrderQuery;
@@ -135,4 +136,10 @@
     */
    Result selectedIdsDistribute(DistributeWorkOrderQuery query);
    /**
     * 大屏工单统计
     * @param query
     * @return
     */
    Result screenWorkOrder(ScreenQuery query);
}
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -9,10 +9,12 @@
import com.ycl.platform.domain.entity.*;
import com.ycl.platform.domain.form.*;
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
import com.ycl.platform.domain.query.ScreenQuery;
import com.ycl.platform.domain.query.WorkOrderQuery;
import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
import com.ycl.platform.domain.vo.WorkOrderVO;
import com.ycl.platform.domain.vo.WorkOrderYwConditionRecordVO;
import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
import com.ycl.platform.mapper.*;
import com.ycl.platform.service.NotifyService;
import com.ycl.platform.service.WorkOrderAuditingRecordService;
@@ -24,16 +26,13 @@
import com.ycl.utils.SecurityUtils;
import com.ycl.utils.redis.RedisCache;
import com.ycl.utils.uuid.IdUtils;
import constant.PointConfigConstants;
import enumeration.general.*;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.time.LocalDateTime;
@@ -41,7 +40,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -419,4 +417,10 @@
                .collect(Collectors.toList());
        return Result.ok().data(vos);
    }
    @Override
    public Result screenWorkOrder(ScreenQuery query) {
        ScreenWorkOrderVO screen = baseMapper.screenWorkOrder(query);
        return Result.ok().data(screen);
    }
}
ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -81,4 +81,13 @@
             wo.status = 'DISTRIBUTED' AND wo.deleted = 0
    </select>
    <select id="screenWorkOrder" resultType="com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO">
        SELECT
            count(*) AS total,
            SUM(CASE WHEN status = 'AUDITING_SUCCESS' THEN 1 ELSE 0 END) AS totalHandler,
            SUM(CASE WHEN status = 'DISTRIBUTED' THEN 1 ELSE 0 END) AS totalNotFinish
        FROM
            t_work_order
    </select>
</mapper>