ycl-platform/src/main/java/com/ycl/dto/video/AlarmDataParam.java
@@ -1,6 +1,8 @@ package com.ycl.dto.video; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -32,6 +34,12 @@ */ @JsonProperty("AlgoName") private String algoName; @JsonProperty("AlarmType") private Integer alarmType; @JsonProperty("AlarmName") private String alarmName; /** * 算法检出对象信息(通常一个视频分析服务报警只包含一个目标信息。图片类多目标检测类算法除外。) */ ycl-platform/src/main/java/com/ycl/entity/video/VideoAlarmReport.java
@@ -76,6 +76,14 @@ @TableField("algo_name") private String algoName; @ApiModelProperty("报警类型码") @TableField("alarm_type") private Integer alarmType; @ApiModelProperty("报警类型名称") @TableField("alarm_name") private String alarmName; @ApiModelProperty("算法检出对象在图片中的坐标") @TableField("alarm_obj") private String alarmObj; ycl-platform/src/main/java/com/ycl/service/video/impl/VideoAlarmReportServiceImpl.java
@@ -105,6 +105,7 @@ .channel(cameraInf.getChannel()).platResourceId(cameraInf.getPlatResourceID()) .picData(picData).alarmTime(instant.atZone(zoneId).toLocalDateTime()) .alarmId(alarmData.getAlarmID()).algoType(alarmData.getAlgoType()) .alarmType(alarmData.getAlarmType()).alarmName(alarmData.getAlarmName()) .algoName(alarmData.getAlgoName()).alarmObj(JSON.toJSONString(alarmData.getAlarmObject())) .build(); if (list.size() == 0) { ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsInTime.java
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -28,78 +30,84 @@ * 实时数据的设备编号(中间有“-”连接代表该监测点有多个设备绑定) */ @TableId("id") @JsonProperty("Id") private String id; /** * 报文信息 */ @TableField("string") private String string; /** * 采集时间 */ @TableField("acquit_at") @JsonProperty("AcquitAt") private Long acquitAt; /** * 最后确认时间 */ @TableField("last_at") @JsonProperty("LastAt") private Long lastAt; /** * 排放物折算浓度 */ @TableField("c_emissions") @JsonProperty("CEmissions") private String cEmissions; /** * 颗粒物折算浓度 */ @TableField("c_granule") @JsonProperty("CGranule") private String cGranule; /** * 非甲烷总烃折算浓度 */ @TableField("c_hydrocarbon") @JsonProperty("CHydrocarbon") private BigDecimal cHydrocarbon; /** * 实时排放量 */ @TableField("emissions_conc") @JsonProperty("EmissionsConc") private BigDecimal emissionsConc; /** * 颗粒物含量 */ @TableField("granule_conc") @JsonProperty("GranuleConc") private BigDecimal granuleConc; /** * 非甲烷总烃含量 */ @TableField("hydrocarbon_conc") @JsonProperty("HydrocarbonConc") private BigDecimal hydrocarbonConc; /** * 风机状态(1:开2:关3:异常) */ @TableField("fan_status") @JsonProperty("FanStatus") private Integer fanStatus; /** * 净化器状态(1:开2:关3:异常) */ @TableField("filter_status") @JsonProperty("FilterStatus") private Integer filterStatus; /** * 类型[1:监控:2:监测] */ @TableField("typ") @JsonProperty("Typ") private Integer typ; /** @@ -108,115 +116,133 @@ */ @TableField("status") @JsonProperty("Status") private String status; /** * 流速 */ @TableField("velocity") @JsonProperty("Velocity") private Double velocity; /** * 温度 */ @TableField("temperature") @JsonProperty("Temperature") private Double temperature; /** * 湿度 */ @TableField("moisture") @JsonProperty("Moisture") private Double moisture; /** * 监测点名称 */ @TableField("locale") @JsonProperty("Locale") private String locale; /** * 监测点ID */ @TableField("lid") @JsonProperty("Lid") private String lid; /** * 所属单位 */ @TableField("owner") @JsonProperty("Owner") private String owner; /** * 安装地址 */ @TableField("addr") @JsonProperty("Addr") private String addr; /** * 超标阈值 */ @TableField("emissions_sill") @JsonProperty("EmissionsSill") private Double emissionsSill; /** * 颗粒物超标阈值 */ @TableField("granule_sill") @JsonProperty("GranuleSill") private Double granuleSill; /** * 非甲烷总烃超标阈值 */ @TableField("hydrocarbon_sill") @JsonProperty("HydrocarbonSill") private Double hydrocarbonSill; /** * 是否联动(0:否1:是) */ @TableField("link_status") @JsonProperty("LinkStatus") private Integer linkStatus; /** * 联系电话 */ @TableField("customer_mobile") @JsonProperty("CustomerMobile") private String customerMobile; /** * 经度 */ @TableField("locale_lng") @JsonProperty("LocaleLng") private String localeLng; /** * 纬度 */ @TableField("localelat") @JsonProperty("LocaleLat") private String localelat; /** * 风机电流值 */ @TableField("fan_current") @JsonProperty("fan_current") private Double fanCurrent; /** * 净化器电流值 */ @TableField("pur_current") @JsonProperty("pur_current") private Double purCurrent; /** * 整体状态(1:在线2:离线3:异常离线) */ @TableField("online_status") @JsonProperty("OnlineStatus") private Integer onlineStatus; /** * (NORMAL:正常、OFFLINE:下线、ABANDONED:废弃) */ @TableField("status_of_record") @JsonProperty("StatusOfRecord") private String statusOfRecord; } ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsLocale.java
@@ -2,11 +2,12 @@ import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.Version; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.TableField; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.EqualsAndHashCode; @@ -29,346 +30,402 @@ * Id */ @TableId("id") @JsonProperty("Id") private String id; /** * 烟道名称 */ @TableField("n_name") @JsonProperty("Name") private String nName; /** * 单位[级联] */ @TableField("owner") @JsonProperty("Owner") private String owner; /** * 菜系 */ @TableField("cuisine") @JsonProperty("Cuisine") private Integer cuisine; /** * 组织ID */ @TableField("customer_id") @JsonProperty("CustomerId") private String customerId; /** * 所属单位信息 */ @TableField("customer") private String customer; /** * 风速 */ @TableField("fan_speed") @JsonProperty("FanSpeed") private BigDecimal fanSpeed; /** * 风量 */ @TableField("fan_quantity") @JsonProperty("FanQuantity") private BigDecimal fanQuantity; /** * 管道截面面积 */ @TableField("pipe_area") @JsonProperty("PipeArea") private BigDecimal pipeArea; /** * 灶头数量 */ @TableField("stove_num") @JsonProperty("StoveNum") private Integer stoveNum; /** * 离线判定[小时] */ @TableField("offline_judge") @JsonProperty("OfflineJudge") private Integer offlineJudge; /** * 风机状态 */ @TableField("fan_status") @JsonProperty("FanStatus") private Integer fanStatus; /** * 净化器信息 */ @TableField("filter_info") @JsonProperty("FilterInfo") private String filterInfo; /** * 净化器状态 */ @TableField("filter_status") @JsonProperty("FilterStatus") private Integer filterStatus; /** * 抽样次数 */ @TableField("samplings") @JsonProperty("Samplings") private Integer samplings; /** * 是否联动 */ @TableField("link_status") @JsonProperty("LinkStatus") private Boolean linkStatus; /** * 超标阈值 */ @TableField("emissions_sill") @JsonProperty("EmissionsSill") private BigDecimal emissionsSill; /** * 集气灶面积[调研] */ @TableField("stove_area") @JsonProperty("StoveArea") private BigDecimal stoveArea; /** * 日均排烟时间[调研] */ @TableField("exhaust_time") @JsonProperty("ExhaustTime") private String exhaustTime; /** * 备注[调研] */ @TableField("remark") @JsonProperty("Remark") private String remark; /** * 地址 */ @TableField("addr") @JsonProperty("Addr") private String addr; /** * 地区[级联] */ @TableField("area_id") @JsonProperty("AreaId") private String areaId; /** * 经度 */ @TableField("lng") @JsonProperty("Lng") private String lng; /** * 纬度 */ @TableField("lat") @JsonProperty("Lat") private String lat; /** * 创建者 */ @TableField("creator") @JsonProperty("Creator") private String creator; /** * 创建日期 */ @TableField("create_at") @JsonProperty("CreateAt") private Long createAt; /** * 状态[1:一般监测点,2:特殊监测点,99:废弃监测点] */ @TableField("status") @JsonProperty("Status") private Integer status; /** * 颗粒物含量超标阈值 */ @TableField("granule_sill") @JsonProperty("GranuleSill") private BigDecimal granuleSill; /** * 非甲烷总烃超标阈值 */ @TableField("hydrocarbon_sill") @JsonProperty("HydrocarbonSill") private BigDecimal hydrocarbonSill; /** * 健康码颜色 */ @TableField("health_code_color") @JsonProperty("HealthCodeColor") private String healthCodeColor; /** * 最后绑定设备mn */ @TableField("mn_last") @JsonProperty("MnLast") private String mnLast; /** * 监测点图片 */ @TableField("locale_pics") @JsonProperty("LocalePics") private String localePics; /** * 设备类型 最后一次绑定 */ @TableField("mn_typ_last") @JsonProperty("MnTypLast") private Integer mnTypLast; /** * 风机信息 */ @TableField("fan_info") @JsonProperty("FanInfo") private String fanInfo; /** * 取电方式 */ @TableField("power_supply_mode") @JsonProperty("PowerSupplyMode") private String powerSupplyMode; /** * 净化器风机联动比阈值 */ @TableField("link_ratio_sill") @JsonProperty("LinkRatioSill") private BigDecimal linkRatioSill; /** * 运维人员ID */ @TableField("maintainer_id") @JsonProperty("MaintainerId") private String maintainerId; /** * 绿码:最近X天内,该店家超标次数小等于Value1(默认3)次的,且净化器不正常使用天数小等于Value2(默认3)天的,且离线天数{非歇业、非监测仪故障【数据来源运维人员填写的”异常处理“】}小等于Value3(默认3)。 */ @TableField("health_code_x") @JsonProperty("HealthCodeX") private Integer healthCodeX; @TableField("health_code_value1") @JsonProperty("HealthCodeValue1") private Integer healthCodeValue1; @TableField("health_code_value2") @JsonProperty("HealthCodeValue2") private Integer healthCodeValue2; @TableField("health_code_value3") @JsonProperty("HealthCodeValue3") private Integer healthCodeValue3; /** * 红码:最近X天内,该店家超标次数大于Value4(默认5)次的,或者净化器不正常使用天数大于Value5(默认5)天的,且离线天数小于Value6(默认5)。 */ @TableField("health_code_value4") @JsonProperty("HealthCodeValue4") private Integer healthCodeValue4; @TableField("health_code_value5") @JsonProperty("HealthCodeValue5") private Integer healthCodeValue5; @TableField("health_code_valuee6") private Integer healthCodeValuee6; @TableField("health_code_value6") @JsonProperty("HealthCodeValue6") private Integer healthCodeValue6; /** * 0~24点间油烟浓度(颗粒物、非甲烷总烃)三个值中的一项值一直小于Value7(默认0.05)mg/M3的,视为数据异常偏小; */ @TableField("abnormal_value7") @JsonProperty("AbnormalValue7") private BigDecimal abnormalValue7; /** * 0~24点间油烟浓度(颗粒物、非甲烷总烃)三个值中的一项值一直大于Value8(默认30)mg/M3的,视为数据异常偏大; */ @TableField("abnormal_value78") private BigDecimal abnormalValue78; @TableField("abnormal_value8") @JsonProperty("AbnormalValue8") private BigDecimal abnormalValue8; /** * 0~24点间油烟浓度(颗粒物、非甲烷总烃)三个值中的一项值一直非Value9(默认0)mg/M3的,视为数据漂移异常 */ @TableField("abnormal_value79") private BigDecimal abnormalValue79; @TableField("abnormal_value9") @JsonProperty("AbnormalValue9") private BigDecimal abnormalValue9; /** * 0~24点间上线时间小于Value10(默认60)分钟的,视为上线时间过短异常; */ @TableField("abnormal_value710") private BigDecimal abnormalValue710; @TableField("abnormal_value10") @JsonProperty("AbnormalValue10") private BigDecimal abnormalValue10; /** * Ali设备名称 */ @TableField("aliIot_device_name") private String aliiotDeviceName; @TableField("ali_iot_device_name") @JsonProperty("AliIotDeviceName") private String aliIotDeviceName; /** * Ali设备 */ @TableField("aliIot") @TableField("ali_iot") @JsonProperty("AliIot") private String aliIot; /** * 创建时间 */ @TableField("created_at") @JsonProperty("CreatedAt") private LocalDateTime createdAt; /** * 更新时间 */ @TableField("updated_at") @JsonProperty("UpdatedAt") private LocalDateTime updatedAt; @TableField("health_code_value11") @JsonProperty("HealthCodeValue11") private Integer healthCodeValue11; @TableField("health_code_value12") @JsonProperty("HealthCodeValue12") private Integer healthCodeValue12; /** * 监测方式【1:合并传输 2:独立传输】 */ @TableField("send_mode") @JsonProperty("SendMode") private Integer sendMode; /** * 超标计算方式【1:抽样计算 2:滑动计算】 */ @TableField("surpass_calc_method") @JsonProperty("SurpassCalcMethod") private Integer surpassCalcMethod; /** * 风机正常电流值 */ @TableField("fan_standardurrent") private Integer fanStandardurrent; @TableField("fan_standard_current") @JsonProperty("FanStandardCurrent") private Integer fanStandardCurrent; /** * 净化器正常电流值 */ @TableField("filter_standard_current") @JsonProperty("FilterStandardCurrent") private Integer filterStandardCurrent; /** * 设备状态[正常NORMAL、下线OFFLINE、废弃ABANDON] */ @TableField("status_of_record") @JsonProperty("StatusOfRecord") private String statusOfRecord; /** * 审核备注 */ @TableField("remark_of_record") @JsonProperty("RemarkOfRecord") private String remarkOfRecord; /** * 审核原因 */ @TableField("cause") @JsonProperty("Cause") private String cause; @JsonProperty("Customer") private OdsLocaleCustomer customer; } ycl-smoke/src/main/java/com/ycl/smoke/entity/OdsLocaleCustomer.java
New file @@ -0,0 +1,57 @@ package com.ycl.smoke.entity; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = false) public class OdsLocaleCustomer { @JsonProperty("Id") private int id; @JsonProperty("Pid") private String pid; @JsonProperty("BlNo") private String blNo; @JsonProperty("BlName") private String blName; @JsonProperty("Org") private String org; @JsonProperty("Name") private String name; @JsonProperty("Contact") private String contact; @JsonProperty("Mobile") private String mobile; @JsonProperty("Telephone") private String telephone; @JsonProperty("Typ") private int typ; @JsonProperty("CreateAt") private String creator; @JsonProperty("CreateAt") private long createAt; @JsonProperty("Status") private int status; @JsonProperty("Address") private String address; @JsonProperty("Logo") private String logo; @JsonProperty("BusinessHour") private String businessHour; @JsonProperty("Desc") private String desc; @JsonProperty("MaintainerId") private String maintainerId; @JsonProperty("AreaIds") private String areaIds; @JsonProperty("AreaIdCascades") private String areaIdCascades; @JsonProperty("Areas") private String areas; @JsonProperty("PerPage") private int perPage; @JsonProperty("Page") private int page; } ycl-smoke/src/main/java/com/ycl/smoke/remote/dto/DataIntimeParamChildDto.java
New file @@ -0,0 +1,21 @@ package com.ycl.smoke.remote.dto; import lombok.Builder; import lombok.Data; @Data @Builder public class DataIntimeParamChildDto { /** * 否 筛选组织(Param内) */ private String Owner; /** * 筛选状态(Param内) */ private String Status; /** * 监测点审核状态(Param内) */ private String StatusOfRecord; } ycl-smoke/src/main/java/com/ycl/smoke/remote/dto/DataIntimeParamDto.java
New file @@ -0,0 +1,37 @@ package com.ycl.smoke.remote.dto; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data @Builder public class DataIntimeParamDto { /** * 否 起始位置 */ private Integer StartAt; /** * 是 请求数量 */ private Integer Size; /** * 是 1:监控设备2:监测设备 */ private Integer Typ; /** * 否 排序依据 */ private String SortBy; /** * 是 升序/降序 */ private String SortMode; /** * 否 */ private DataIntimeParamChildDto Param; } ycl-smoke/src/main/java/com/ycl/smoke/remote/dto/DataIntimeResponseDto.java
New file @@ -0,0 +1,30 @@ package com.ycl.smoke.remote.dto; import com.fasterxml.jackson.annotation.JsonProperty; import com.ycl.smoke.entity.OdsAlarmMsg; import com.ycl.smoke.entity.OdsInTime; import lombok.Builder; import lombok.Data; import java.util.List; @Data @Builder public class DataIntimeResponseDto { @JsonProperty("content") private List<OdsInTime> content; @JsonProperty("total") private Integer total; @JsonProperty("deviceNum") private Integer deviceNum; @JsonProperty("localeNum") private Integer localeNum; @JsonProperty("onlineNum") private Integer onlineNum; } ycl-smoke/src/main/java/com/ycl/smoke/remote/service/ISmokeDetectionService.java
@@ -31,7 +31,7 @@ @RequestHeader("Auth") String token); @PostMapping(value = "/admin/listDataIntime") SmokeResultResponseDto<DetectorDailyResponseDto> listDataIntime(@RequestBody DetectorDailyParamDto paramDto, SmokeResultResponseDto<DataIntimeResponseDto> listDataIntime(@RequestBody DataIntimeParamDto paramDto, @RequestHeader("Auth") String token); @PostMapping(value = "/admin/listLocale")