package com.ycl.platform.domain.result.UY; import annotation.Excel; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.platform.domain.result.BaseResult; import constant.ApiConstants; import enumeration.DeviceType; import lombok.Data; import org.springframework.data.mongodb.core.index.TextIndexed; import org.springframework.data.mongodb.core.mapping.Document; import java.util.Date; /** * 获取osd数据 * * @author:xp * @date:2024/8/8 19:35 */ @Data @Document(collection = "osd_check_result") public class OsdCheckResult extends BaseResult { /** * 国标码 */ @Excel(name = "设备编码",sort = 1,width = 20) private String deviceNo; /** * 摄像机品牌0/1/2 海康/大华/宇视 */ private Integer deviceBrand; @Excel(name = "标签",sort = 4) private String tagStr; /** * 摄像机品牌0/1/2 海康/大华/宇视 */ @Excel(name = "设备品牌",sort = 2) private String deviceBrandStr; /** * 设备类型 */ private String deviceType; /** * ip */ @Excel(name = "IP",sort = 3) private String ip; /** * 检测时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "检测时间",dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 11) private Date checkTime; /** * 标注时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "OSD标注时间",dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 10) private Date setTime; /** * osd通道名 */ @Excel(name = "通道名称",sort = 5,width = 32) private String osdName; /** * osd省 */ @Excel(name = "OSD省",sort = 6) private String osdProvince; /** * osd市 */ @Excel(name = "OSD市",sort = 7) private String osdCity; /** * osd区 */ @Excel(name = "OSD区",sort = 8) private String osdPart; /** * osd左下角 */ @Excel(name = "OSD左下角",sort = 9) private String osdLB; /** * osdTimeCorrect时间是否正确 */ @Excel(name = "时间是否正确",sort = 17, readConverterExp = "0=未知,1=正确,-1=错误") private Integer osdTimeCorrect; /** * osdTimeCorrect时间是否正确 */ private Boolean osdTimeError; /** * osd通道名是否正确 1正确 0未知 -1错 */ @Excel(name = "通道名是否正确",sort = 12, readConverterExp = "0=未知,1=正确,-1=错误") private Integer osdNameCorrect; /** * osd通道名是否正确 */ private Boolean osdNameError; /** * osd省是否正确 */ @Excel(name = "OSD省是否正确",sort = 13, readConverterExp = "0=未知,1=正确,-1=错误") private Integer osdProvinceCorrect; /** * osd省是否正确 */ private Boolean osdProvinceError; /** * osd市是否正确 */ @Excel(name = "OSD市是否正确",sort = 14, readConverterExp = "0=未知,1=正确,-1=错误") private Integer osdCityCorrect; /** * osd市是否正确 */ private Boolean osdCityError; /** * osd区是否正确 */ @Excel(name = "OSD区是否正确",sort = 15, readConverterExp = "0=未知,1=正确,-1=错误") private Integer osdPartCorrect; /** * osd区是否正确 */ private Boolean osdPartError; /** * osd左下角是否正确 */ @Excel(name = "OSD左下是否正确",sort = 16, readConverterExp = "0=未知,1=正确,-1=错误") private Integer osdLbCorrect; public static Boolean checkOsd(OsdCheckResult result) { return ApiConstants.OSD_Correct.equals(result.getOsdTimeCorrect()) && ApiConstants.OSD_Correct.equals(result.getOsdNameCorrect()) && ApiConstants.OSD_Correct.equals(result.getOsdProvinceCorrect()) && ApiConstants.OSD_Correct.equals(result.getOsdCityCorrect()) && ApiConstants.OSD_Correct.equals(result.getOsdPartCorrect()); } public static Boolean checkTime(OsdCheckResult result) { return ApiConstants.OSD_Correct.equals(result.getOsdTimeCorrect()); } public static void getError(OsdCheckResult result) { if(ApiConstants.OSD_Correct.equals(result.getOsdTimeCorrect())) result.setOsdTimeError(Boolean.FALSE); else {result.setOsdTimeError(Boolean.TRUE); } if(ApiConstants.OSD_Correct.equals(result.getOsdNameCorrect())) result.setOsdNameError(Boolean.FALSE); else { result.setOsdNameError(Boolean.TRUE); } if(ApiConstants.OSD_Correct.equals(result.getOsdProvinceCorrect())) result.setOsdProvinceError(Boolean.FALSE); else { result.setOsdProvinceError(Boolean.TRUE); } if(ApiConstants.OSD_Correct.equals(result.getOsdCityCorrect())) result.setOsdCityError(Boolean.FALSE); else { result.setOsdCityError(Boolean.TRUE); } if(ApiConstants.OSD_Correct.equals(result.getOsdPartCorrect())) result.setOsdPartError(Boolean.FALSE); else { result.setOsdPartError(Boolean.TRUE); } if(DeviceType.DH.getType().equals(result.getDeviceBrand())) result.setDeviceBrandStr(DeviceType.DH.getDesc()); else if(DeviceType.HK.getType().equals(result.getDeviceBrand())) result.setDeviceBrandStr(DeviceType.HK.getDesc()); else if(DeviceType.YS.getType().equals(result.getDeviceBrand())) result.setDeviceBrandStr(DeviceType.YS.getDesc()); else { result.setDeviceBrandStr("未知"); } } }