package com.mosty.base.model.entity.yjzl;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mosty.base.model.BaseEntity;
import com.vividsolutions.jts.geom.Point;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 指令-巡逻指令-必巡点表
 * </p>
 *
 * @author
 * @since 2022-10-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("tb_zl_xl_bxd")
@Accessors(chain = true)
@ApiModel(value = "TbZlXlBxd对象", description = "指令-巡逻指令-必巡点表")
public class TbZlXlBxd  extends BaseEntity implements Serializable, Cloneable {

    private static final long serialVersionUID = 1L;

    /**
     * 必巡点表标识ID
     */
    @ApiModelProperty(value = "必巡点表标识ID")
    private String id;

    /**
     * 指令id
     */
    @ApiModelProperty(value = "指令id")
    private String zlId;

    /**
     * 巡逻指令id
     */
    @ApiModelProperty(value = "巡逻指令id")
    private String zlXlId;

    /**
     * 必巡点id
     */
    @ApiModelProperty(value = "必巡点id")
    private String bxdId;

    /**
     * 所属巡防区域ID
     */
    @ApiModelProperty(value = "所属巡防区域ID")
    private String ssXfqyId;

    /**
     * 必巡点名称
     */
    @ApiModelProperty(value = "必巡点名称")
    private String bxdMc;

    /**
     * 必巡点类型;1、一般区域，2、重点区域，3、核心区域，4、人员密集区域，5、综合分析重点巡防点--D_BZ_BXDLX
     */
    @ApiModelProperty(value = "必巡点类型;1、一般区域，2、重点区域，3、核心区域，4、人员密集区域，5、综合分析重点巡防点--D_BZ_BXDLX")
    private String bxdLx;

    /**
     * 必巡点来源-01 经验必巡点 02 登记必巡点 --D_BZ_BXDLYDM
     */
    @ApiModelProperty(value = "必巡点来源-01 经验必巡点 02 登记必巡点 --D_BZ_BXDLYDM")
    private String bxdlydm;

    /**
     * 必巡原因
     */
    @ApiModelProperty(value = "必巡原因")
    private String bxyy;

    /**
     * 要求巡逻开始时间
     */
    @ApiModelProperty(value = "要求巡逻开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date yqkssj;

    /**
     * 要求巡逻结束时间
     */
    @ApiModelProperty(value = "要求巡逻结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date yqjssj;

    /**
     * 经度
     */
    @ApiModelProperty(value = "经度")
    private BigDecimal jd;

    /**
     * 纬度
     */
    @ApiModelProperty(value = "纬度")
    private BigDecimal wd;

    /**
     * 坐标
     */
    @ApiModelProperty(value = "坐标")
    private Point zb;

    /**
     * 坐标hash值
     */
    @ApiModelProperty(value = "坐标hash值")
    private String zbhash;

    /**
     * 必巡点行政区划代码--D_BZ_XZQHDM
     */
    @ApiModelProperty(value = "必巡点行政区划代码--D_BZ_XZQHDM")
    private String xzqhdm;

    /**
     * 必巡点详细地址
     */
    @ApiModelProperty(value = "必巡点详细地址")
    private String yqKssj;

    /**
     * 必巡点图片;逗号分隔
     */
    @ApiModelProperty(value = "必巡点图片;逗号分隔")
    private String yqJssj;

    /**
     * 要求停留时长
     */
    @ApiModelProperty(value = "要求停留时长")
    private Integer yqTlsc;

    /**
     * 要求是否盘查
     */
    @ApiModelProperty(value = "要求是否盘查")
    private String yqSfpc;

    /**
     * 要求盘查人员数量
     */
    @ApiModelProperty(value = "要求盘查人员数量")
    private Integer yqPcrysl;

    /**
     * 要求盘查车辆数量
     */
    @ApiModelProperty(value = "要求盘查车辆数量")
    private Integer yqPcclsl;

    /**
     * 有效期
     */
    @ApiModelProperty(value = "有效期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date yxq;

    /**
     * 是否巡逻（是否字典）
     */
    @ApiModelProperty(value = "是否巡逻（是否字典）")
    private String sfxl;

    /**
     * 巡逻次数
     */
    @ApiModelProperty(value = "巡逻次数")
    private Integer sjXlcs;

    /**
     * 实际巡逻开始时间
     */
    @ApiModelProperty(value = "实际巡逻开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sjKssj;

    /**
     * 实际巡逻离开时间
     */
    @ApiModelProperty(value = "实际巡逻离开时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sjLksj;

    /**
     * 实际巡逻停留时长
     */
    @ApiModelProperty(value = "实际巡逻停留时长")
    private Integer sjTlsc;

    /**
     * 实际盘查人员数量
     */
    @ApiModelProperty(value = "实际盘查人员数量")
    private Integer sjPcrysl;

    /**
     * 实际盘查车辆数量
     */
    @ApiModelProperty(value = "实际盘查车辆数量")
    private Integer sjPcclsl;

    /**
     * 指令完结状态（91-未完成，92-已完成，93-超时完成，94-已结束未完成）采用指令执行状态字典
     */
    @ApiModelProperty(value = "指令完结状态（91-未完成，92-已完成，93-超时完成，94-已结束未完成）采用指令执行状态字典")
    private String zlwjzt;

    /**
     * 指令完结时间
     */
    @ApiModelProperty(value = "指令完结时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zlwjsj;

    /**
     * 指令完结说明
     */
    @ApiModelProperty(value = "指令完结说明")
    private String zlwjsm;

    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    private String ssbm;

    /**
     * 所属部门代码
     */
    @ApiModelProperty(value = "所属部门代码")
    private String ssbmdm;

    /**
     * 所属部门ID
     */
    @ApiModelProperty(value = "所属部门ID")
    private String ssbmid;

    /**
     * 所属县公安局
     */
    @ApiModelProperty(value = "所属县公安局")
    private String ssxgaj;

    /**
     * 所属县公安局代码
     */
    @ApiModelProperty(value = "所属县公安局代码")
    private String ssxgajdm;

    /**
     * 所属县公安局ID
     */
    @ApiModelProperty(value = "所属县公安局ID")
    private String ssxgajid;

    /**
     * 所属市公安局
     */
    @ApiModelProperty(value = "所属市公安局")
    private String sssgaj;

    /**
     * 所属市公安局代码
     */
    @ApiModelProperty(value = "所属市公安局代码")
    private String sssgajdm;

    /**
     * 所属市公安局id
     */
    @ApiModelProperty(value = "所属市公安局id")
    private String sssgajid;
}
