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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mosty.base.model.BaseEntity;
import com.mosty.common.base.entity.log.Excel;
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;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zhangzhao
 * @description 指导巡逻方格点位表
 * @modifier zhangzhao
 * @modifiedTime 2025/05/15 21:52
 * @since 2025/05/15 21:52
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_zdxl_fgdw")
@ApiModel(value = "TbZdxlFgdw对象", description = "指导巡逻方格点位表")
public class TbZdxlFgdw extends BaseEntity implements Serializable, Cloneable {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "主键ID", sort = 1)
    private Long id;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @TableField(value = "mc1")
    private String mc1;

    /**
     * 开始日期
     */
    @ApiModelProperty(value = "开始日期")
    @TableField(value = "ksrq")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date ksrq;

    /**
     * 结束日期
     */
    @ApiModelProperty(value = "结束日期")
    @TableField(value = "jsrq")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date jsrq;

    /**
     * 网格坐标X1
     */
    @ApiModelProperty(value = "网格坐标X1")
    @TableField(value = "x11")
    private BigDecimal x11;

    /**
     * 网格坐标Y1
     */
    @ApiModelProperty(value = "网格坐标Y1")
    @TableField(value = "y11")
    private BigDecimal y11;

    /**
     * 网格坐标X2
     */
    @ApiModelProperty(value = "网格坐标X2")
    @TableField(value = "x21")
    private BigDecimal x21;

    /**
     * 网格坐标Y2
     */
    @ApiModelProperty(value = "网格坐标Y2")
    @TableField(value = "y21")
    private BigDecimal y21;

    /**
     * 中心X
     */
    @ApiModelProperty(value = "中心X")
    @TableField(value = "zx_x")
    private BigDecimal zxX;

    /**
     * 中心Y
     */
    @ApiModelProperty(value = "中心Y")
    @TableField(value = "zx_y")
    private BigDecimal zxY;

    /**
     * 地址
     */
    @ApiModelProperty(value = "地址")
    @TableField(value = "dz")
    private String dz;

    /**
     * 下发时段
     */
    @ApiModelProperty(value = "下发时段")
    @TableField(value = "xfsd")
    private String xfsd;

    /**
     * 网格大小
     */
    @ApiModelProperty(value = "网格大小")
    @TableField(value = "grid_type")
    private String gridType;

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

    /**
     * 报备部门
     */
    @ApiModelProperty(value = "报备部门")
    private String ssbm;

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

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

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

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

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

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

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


    /**
     * 主键ID字段名
     */
    public static String ID_FIELD = "id";

    /**
     * 字段名
     */
    public static String MC = "mc1";

    /**
     * 字段名
     */
    public static String KSRQ = "ksrq";

    /**
     * 字段名
     */
    public static String JSRQ = "jsrq";

    /**
     * 字段名
     */
    public static String X1 = "x11";

    /**
     * 字段名
     */
    public static String Y1 = "y11";

    /**
     * 字段名
     */
    public static String X2 = "x21";

    /**
     * 字段名
     */
    public static String Y2 = "y21";

    /**
     * 字段名
     */
    public static String ZX_X = "zx_x";

    /**
     * 字段名
     */
    public static String ZX_Y = "zx_y";

    /**
     * 字段名
     */
    public static String DZ = "dz";

    /**
     * 字段名
     */
    public static String XFSD = "xfsd";

    /**
     * 字段名
     */
    public static String GRID_TYPE = "grid_type";

    /**
     * 所属部门id
     */
    public static String SSBMID_TYPE = "ssbmid";

    /**
     * 所属部门
     */
    public static String SSBM_TYPE = "ssbm";

    /**
     * 所属部门代码
     */
    public static String SSBMDM_TYPE = "ssbmdm";

    /**
     * 所属县公安局
     */
    public static String SSXGAJ_TYPE = "ssxgaj";

    /**
     * 所属县公安局id
     */
    public static String SSXGAJID_TYPE = "ssxgajid";

    /**
     * 所属县公安局代码
     */
    public static String SSXGAJDM_TYPE = "ssxgajdm";

    /**
     * 所属市公安局id
     */
    public static String SSSGAJID_TYPE = "sssgajid";

    /**
     * 所属市公安局
     */
    public static String SSSGAJ_TYPE = "sssgaj";

    /**
     * 所属市公安局代码
     */
    public static String SSSGAJDM_TYPE = "sssgajdm";

}
