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 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/09/07 19:06
 * @since 2025/09/07 19:06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_zdxl_fgdw_bddxlrw_jl")
@ApiModel(value = "TbZdxlFgdwBddxlrwJl对象", description = "指导巡逻方格点位必到点巡逻任务记录表")
public class TbZdxlFgdwBddxlrwJl extends BaseEntity implements Serializable, Cloneable {

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

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 必到点巡逻任务ID
     */
    @ApiModelProperty(value = "必到点巡逻任务ID")
    @TableField(value = "bddxlrw_id")
    private String bddxlrwId;

    /**
     * 开始打卡时间
     */
    @ApiModelProperty(value = "开始打卡时间")
    @TableField(value = "dk_ks_sj")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dkKsSj;

    /**
     * 开始打卡附件
     */
    @ApiModelProperty(value = "开始打卡附件")
    @TableField(value = "dk_ks_fj")
    private String dkKsFj;

    /**
     * 开始打卡经度
     */
    @ApiModelProperty(value = "开始打卡经度")
    @TableField(value = "dk_ks_jd")
    private BigDecimal dkKsJd;

    /**
     * 开始打卡纬度
     */
    @ApiModelProperty(value = "开始打卡纬度")
    @TableField(value = "dk_ks_wd")
    private BigDecimal dkKsWd;

    /**
     * 结束打卡时间
     */
    @ApiModelProperty(value = "结束打卡时间")
    @TableField(value = "dk_js_sj")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dkJsSj;

    /**
     * 结束打卡附件
     */
    @ApiModelProperty(value = "结束打卡附件")
    @TableField(value = "dk_js_fj")
    private String dkJsFj;

    /**
     * 结束打卡经度
     */
    @ApiModelProperty(value = "结束打卡经度")
    @TableField(value = "dk_js_jd")
    private BigDecimal dkJsJd;

    /**
     * 结束打卡纬度
     */
    @ApiModelProperty(value = "结束打卡纬度")
    @TableField(value = "dk_js_wd")
    private BigDecimal dkJsWd;

    /**
     * 打卡顺序
     */
    @ApiModelProperty(value = "打卡顺序")
    @TableField(value = "dk_sx")
    private Integer dkSx;

    /**
     * 打卡人姓名
     */
    @ApiModelProperty(value = "打卡人姓名")
    @TableField(value = "dkr_xm")
    private String dkrXm;

    /**
     * 打卡人ID
     */
    @ApiModelProperty(value = "打卡人ID")
    @TableField(value = "dkr_id")
    private Long dkrId;

    @ApiModelProperty(value = "打卡人ID")
    @TableField(value = "sfzh")
    private String sfzh;

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

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

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

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

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

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

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

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

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


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

    /**
     * 必到点巡逻任务ID字段名
     */
    public static String BDDXLRW_ID_FIELD = "bddxlrw_id";

    /**
     * 开始打卡时间字段名
     */
    public static String DK_KS_SJ_FIELD = "dk_ks_sj";

    /**
     * 开始打卡附件字段名
     */
    public static String DK_KS_FJ_FIELD = "dk_ks_fj";

    /**
     * 开始打卡经度字段名
     */
    public static String DK_KS_JD_FIELD = "dk_ks_jd";

    /**
     * 开始打卡纬度字段名
     */
    public static String DK_KS_WD_FIELD = "dk_ks_wd";

    /**
     * 结束打卡时间字段名
     */
    public static String DK_JS_SJ_FIELD = "dk_js_sj";

    /**
     * 结束打卡附件字段名
     */
    public static String DK_JS_FJ_FIELD = "dk_js_fj";

    /**
     * 结束打卡经度字段名
     */
    public static String DK_JS_JD_FIELD = "dk_js_jd";

    /**
     * 结束打卡纬度字段名
     */
    public static String DK_JS_WD_FIELD = "dk_js_wd";

    /**
     * 打卡顺序字段名
     */
    public static String DK_SX_FIELD = "dk_sx";

    /**
     * 打卡人姓名字段名
     */
    public static String DKR_XM_FIELD = "dkr_xm";

    /**
     * 打卡人ID字段名
     */
    public static String DKR_ID_FIELD = "dkr_id";

    /**
     * 所属部门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";

}
