package com.ycl.platform.domain.result.UY; import com.ycl.platform.domain.result.BaseResult; import lombok.Data; import org.apache.commons.lang3.ArrayUtils; import org.springframework.data.mongodb.core.index.TextIndexed; import org.springframework.data.mongodb.core.mapping.Document; import utils.StringUtils; import java.util.*; /** * 一机一档 * * @author gonghl * @since 2024-4-19 11:33:34 */ @Data @Document(collection = "uy_one_machine_file") public class OneMachineFileResult extends BaseResult { /** * 设备编码,20位:中心编码、行业编码、设备类型、网络标识、设备序号,与联网平台/共享平台国标编码一致。 */ @TextIndexed private String SBBM; /** * 设备名称,标识设备的基本名称。命名方式参照《GAT751-2008视频图像文字标注规范》。 */ @TextIndexed private String SBMC; /** * 摄像机采集区域(参考文档解析) */ @TextIndexed private String SXJCJQY; /** * 监控点位类型,1-一类视频监控点;2-二类视频监控点;3-三类视频监控点;4-公安内部视频监控点;9-其他点位。 * 参照公安部《关于进一步加强公安机关视频图像信息应用工作的意见》(公通字﹝2015﹞4号)定义。 */ private String JKDWLX; /** * IPV4地址,摄像机IP地址。 */ @TextIndexed private String IP; /** * IPV6地址,摄像机扩展IP地址。 */ // private String IPV6; /** * 经度。 */ private Double JD; /** * 纬度。 */ private Double WD; /** * 摄像机功能类型,取值范围(多选) : [1.视频监控;2.车辆识别;3.人员识别;] 数据格式[填入多个值并以/隔开。例如 1/2] */ private String SXJGNLX; /** * MAC地址,摄像机MAC地址。 */ @TextIndexed private String MACDZ; /** * 设备状态,1-在用;2-维修;3-拆除。 */ private String SBZT; //--------------------------------------------------------------------- /** * 设备厂商,编码1-海康威视;2-大华;3-天地伟业;4-科达;5-安讯士;6-博世;7-亚安;8-英飞拓;9-宇视;10-海信;11-中星电子;12-明景;13-联想;14-中兴;99-其他。 */ @TextIndexed private String SBCS; /** * 行政区域,行政区划、籍贯省市县代码。参照《GB/T 2260 中华人民共和国行政区划代码》。 */ private String XZQY; /** * 设备型号,描述设备的具体型号。 */ private String SBXH; /** * 点位俗称,监控点位附近如有标志性建筑、场所或监控点位处于公众约定俗成的地点,可以填写标志性建设名称和地点俗称。 */ @TextIndexed private String DWSC; /** * 摄像机类型,1-球机;2-半球;3-固定枪机;4-遥控枪机;5-卡口枪机;99-未知。 */ private String SXJLX; /** * 补光属性,1-无补光、2-红外补光、3-白光补光、9-其他补光。 */ private String BGSX; /** * 摄像机编码格式,1-MPEG-4;2-H.264;3-SVAC;4-H.265。 */ private String SXJBMGS; /** * 安装地址,参照GA/T 751-2008标准,应相对细化准确。 * 参考范式:街道+门牌号码+单位名称。高速公路、国道等点位可参照“公路名称+公里数”范式。 */ private String AZDZ; /** * 摄像机位置类型,1-省际检查站、2-党政机关、3-车站码头、4-中心广场、5-体育场馆、6-商业中心、7-宗教场所、8-校园周边、9-治安复杂区域、10-交通干线、11-医院周边、12-金融机构周边、13-危险物品场所周边、14-博物馆展览馆、15-重点水域、航道、96-市际公安检查站;97-涉外场所;98-边境沿线;99-旅游景区,多选各参数以“/”分隔。 */ private String SXJWZLX; /** * 监视方位,1-东、2-西、3-南、4-北、5-东南、6-东北、7-西南、8-西北、9-全向。 */ private String JSFW; /** * 摄像机场景预设照片URL,上传摄像机场景预设照片后生成的照片地址URL。 */ private String SXJCJYSZP; /** * 联网属性,0-已联网;1-未联网。 */ private String LWSX; /** * 所属辖区公安机关,采用公安组织机构代码(由GA/T 380规定),公安机关建设单位或者社会资源接入后的使用单位,注明到所属辖区公安机关派出所。 */ private String SSXQGAJG; /** * 安装时间,摄像机安装使用时间。 */ private Date AZSJ; /** * 管理单位,摄像机所属管理单位名称。 */ private String GLDW; /** * 管理单位联系方式,摄像机所属管理单位联系人的联系方式(电话号码)。 */ private String GLDWLXFS; /** * 录像保存天数。 */ private Integer LXBCTS; /** * 所属部门/行业,1-公安机关;2-环保部门;3-文博部门;4-医疗部门;5-旅游管理;6-新闻广电;7-食品医药监督管理部门;8-教育管理部门;9-检察院;10-法院;11-金融部门;12-交通部门;13-住房和城乡建设部门;14-水利部门;15-林业部门;16-安全生产监督部门;17-市政市容委;18-国土局,可扩展,多选各参数以“/”分隔。 */ private String SSBMHY; public String getJKDWLX() { if (Objects.equals(JKDWLX, "1")) { this.JKDWLX = "一类视频监控点"; } if (Objects.equals(JKDWLX, "2")) { this.JKDWLX = "二类视频监控点"; } if (Objects.equals(JKDWLX, "3")) { this.JKDWLX = "三类视频监控点"; } if (Objects.equals(JKDWLX, "4")) { this.JKDWLX = "公安内部视频监控点"; } if (Objects.equals(JKDWLX, "9")) { this.JKDWLX = "其他点位"; } return JKDWLX; } public String getSXJGNLX() { List sxjgnlx = new ArrayList<>(); if (StringUtils.contains(SXJGNLX, "1")) { sxjgnlx.add("视频监控"); } if (StringUtils.contains(SXJGNLX, "2")) { sxjgnlx.add("车辆识别"); } if (StringUtils.contains(SXJGNLX, "3")) { sxjgnlx.add("人员识别"); } if (!sxjgnlx.isEmpty()) { this.SXJGNLX = String.join("/", sxjgnlx); } return SXJGNLX; } public String getSBZT() { if (Objects.equals(SBZT, "1")) { this.SBZT = "在用"; } if (Objects.equals(SBZT, "2")) { this.SBZT = "维修"; } if (Objects.equals(SBZT, "3")) { this.SBZT = "拆除"; } return SBZT; } public String getSBCS() { if (Objects.equals(SBCS, "1")) { this.SBCS = "海康威视"; } if (Objects.equals(SBCS, "2")) { this.SBCS = "大华"; } if (Objects.equals(SBCS, "3")) { this.SBCS = "天地伟业"; } if (Objects.equals(SBCS, "4")) { this.SBCS = "科达"; } if (Objects.equals(SBCS, "5")) { this.SBCS = "安讯士"; } if (Objects.equals(SBCS, "6")) { this.SBCS = "博世"; } if (Objects.equals(SBCS, "7")) { this.SBCS = "亚安"; } if (Objects.equals(SBCS, "8")) { this.SBCS = "英飞拓"; } if (Objects.equals(SBCS, "9")) { this.SBCS = "宇视"; } if (Objects.equals(SBCS, "10")) { this.SBCS = "海信"; } if (Objects.equals(SBCS, "11")) { this.SBCS = "中星电子"; } if (Objects.equals(SBCS, "12")) { this.SBCS = "明景"; } if (Objects.equals(SBCS, "13")) { this.SBCS = "联想"; } if (Objects.equals(SBCS, "14")) { this.SBCS = "中兴"; } if (Objects.equals(SBCS, "99")) { this.SBCS = "其他"; } return SBCS; } public String getSXJLX() { if (Objects.equals(SXJLX, "1")) { this.SXJLX = "球机"; } if (Objects.equals(SXJLX, "2")) { this.SXJLX = "半球"; } if (Objects.equals(SXJLX, "3")) { this.SXJLX = "固定枪机"; } if (Objects.equals(SXJLX, "4")) { this.SXJLX = "遥控枪机"; } if (Objects.equals(SXJLX, "5")) { this.SXJLX = "卡口枪机"; } if (Objects.equals(SXJLX, "99")) { this.SXJLX = "未知"; } return SXJLX; } public String getBGSX() { if (Objects.equals(BGSX, "1")) { this.BGSX = "无补光"; } if (Objects.equals(BGSX, "2")) { this.BGSX = "红外补光"; } if (Objects.equals(BGSX, "3")) { this.BGSX = "白光补光"; } if (Objects.equals(BGSX, "9")) { this.BGSX = "其他补光"; } return BGSX; } public String getSXJBMGS() { if (Objects.equals(SXJBMGS, "1")) { this.SXJBMGS = "MPEG-4"; } if (Objects.equals(SXJBMGS, "2")) { this.SXJBMGS = "H.264"; } if (Objects.equals(SXJBMGS, "3")) { this.SXJBMGS = "SVAC"; } if (Objects.equals(SXJBMGS, "4")) { this.SXJBMGS = "H.265"; } return SXJBMGS; } public String getSXJWZLX() { List wzlx = new ArrayList<>(); if (StringUtils.isBlank(SXJWZLX)) { return SXJWZLX; } String[] split = SXJWZLX.split("/"); if (ArrayUtils.contains(split, "1")) { wzlx.add("省际检查站"); } if (ArrayUtils.contains(split, "2")) { wzlx.add("党政机关"); } if (ArrayUtils.contains(split, "3")) { wzlx.add("车站码头"); } if (ArrayUtils.contains(split, "4")) { wzlx.add("中心广场"); } if (ArrayUtils.contains(split, "5")) { wzlx.add("体育场馆"); } if (ArrayUtils.contains(split, "6")) { wzlx.add("商业中心"); } if (ArrayUtils.contains(split, "7")) { wzlx.add("宗教场所"); } if (ArrayUtils.contains(split, "8")) { wzlx.add("校园周边"); } if (ArrayUtils.contains(split, "9")) { wzlx.add("治安复杂区域"); } if (ArrayUtils.contains(split, "10")) { wzlx.add("交通干线"); } if (ArrayUtils.contains(split, "11")) { wzlx.add("医院周边"); } if (ArrayUtils.contains(split, "12")) { wzlx.add("金融机构周边"); } if (ArrayUtils.contains(split, "13")) { wzlx.add("危险物品场所周边"); } if (ArrayUtils.contains(split, "14")) { wzlx.add("博物馆展览馆"); } if (ArrayUtils.contains(split, "15")) { wzlx.add("重点水域、航道"); } if (ArrayUtils.contains(split, "96")) { wzlx.add("市际公安检查站"); } if (ArrayUtils.contains(split, "97")) { wzlx.add("涉外场所"); } if (ArrayUtils.contains(split, "98")) { wzlx.add("边境沿线"); } if (ArrayUtils.contains(split, "99")) { wzlx.add("旅游景区"); } this.SXJWZLX = String.join("/", wzlx); return SXJWZLX; } public String getJSFW() { if (Objects.equals(JSFW, "1")) { this.JSFW = "东"; } if (Objects.equals(JSFW, "2")) { this.JSFW = "西"; } if (Objects.equals(JSFW, "3")) { this.JSFW = "南"; } if (Objects.equals(JSFW, "4")) { this.JSFW = "北"; } if (Objects.equals(JSFW, "5")) { this.JSFW = "东南"; } if (Objects.equals(JSFW, "6")) { this.JSFW = "东北"; } if (Objects.equals(JSFW, "7")) { this.JSFW = "西南"; } if (Objects.equals(JSFW, "8")) { this.JSFW = "西北"; } if (Objects.equals(JSFW, "9")) { this.JSFW = "全向"; } return JSFW; } public String getLWSX() { if (Objects.equals(LWSX, "0")) { this.LWSX = "已联网"; } if (Objects.equals(LWSX, "1")) { this.LWSX = "未联网"; } return LWSX; } public String getSSBMHY() { List ssbmhy = new ArrayList<>(); if (StringUtils.isBlank(SSBMHY)) { return SSBMHY; } String[] split = SSBMHY.split("/"); if (ArrayUtils.contains(split, "1")) { ssbmhy.add("公安机关"); } if (ArrayUtils.contains(split, "2")) { ssbmhy.add("环保部门"); } if (ArrayUtils.contains(split, "3")) { ssbmhy.add("文博部门"); } if (ArrayUtils.contains(split, "4")) { ssbmhy.add("医疗部门"); } if (ArrayUtils.contains(split, "5")) { ssbmhy.add("旅游管理"); } if (ArrayUtils.contains(split, "6")) { ssbmhy.add("新闻广电"); } if (ArrayUtils.contains(split, "7")) { ssbmhy.add("食品医药监督管理部门"); } if (ArrayUtils.contains(split, "8")) { ssbmhy.add("教育管理部门"); } if (ArrayUtils.contains(split, "9")) { ssbmhy.add("检察院"); } if (ArrayUtils.contains(split, "10")) { ssbmhy.add("法院"); } if (ArrayUtils.contains(split, "11")) { ssbmhy.add("金融部门"); } if (ArrayUtils.contains(split, "12")) { ssbmhy.add("交通部门"); } if (ArrayUtils.contains(split, "13")) { ssbmhy.add("住房和城乡建设部门"); } if (ArrayUtils.contains(split, "14")) { ssbmhy.add("水利部门"); } if (ArrayUtils.contains(split, "15")) { ssbmhy.add("林业部门"); } if (ArrayUtils.contains(split, "16")) { ssbmhy.add("安全生产监督部门"); } if (ArrayUtils.contains(split, "17")) { ssbmhy.add("市政市容委"); } if (ArrayUtils.contains(split, "18")) { ssbmhy.add("国土局"); } this.SSBMHY = String.join("/", ssbmhy); return SSBMHY; } }