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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mosty.base.model.BaseEntity;
import com.mosty.common.base.entity.log.Excel;
import com.mosty.common.base.entity.log.ExcelHandlerAdapter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.springframework.validation.annotation.Validated;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;

/**
 * 巡防力量表;
 *
 * @author : Lhh
 * @date : 2022-6-4
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ApiModel(value = "巡防力量表", description = "")
@TableName("tb_jcgl_xfll")
@Validated
public class TbJcglXfll extends BaseEntity implements Serializable, Cloneable {

    private static final long serialVersionUID = 6556387960466677177L;

    @ApiModelProperty(name = "警员管理表标识ID", notes = "", hidden = true)
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "人员ID（民警对应sys_user表中的ID，辅警为null）", notes = "")
    private String ryid;

    @ApiModelProperty(name = "警员分类", notes = "01、民警，02、辅警")
    private String fl;

    @ApiModelProperty(name = "警员类型", notes = "01、社区民警，02、治安民警，03、刑侦民警，04、内勤民警，05、巡逻民警")
    private String lx;

    @ApiModelProperty(name = "姓名", notes = "")
    @Excel(name = "姓名",sort = 3,headerColor= IndexedColors.RED1 )
    @NotBlank(message = "用户账号不能为空")
    private String xm;

    @ApiModelProperty(name = "性别代码", notes = "")
    @Excel(name = "性别代码",dictType="D_BZ_XB",type= Excel.Type.EXPORT)
    private String xbdm;

    @ApiModelProperty(name = "身份证号", notes = "")
    @Excel(name = "身份证号",width = 20,sort = 4,headerColor= IndexedColors.RED1 )
    @NotBlank(message = "用户账号不能为空")
    private String sfzh;

    @ApiModelProperty(name = "警号", notes = "")
    @Excel(name = "警号",sort = 5,headerColor= IndexedColors.RED1 )
    @NotBlank(message = "用户账号不能为空")
    private String jh;

    @ApiModelProperty(name = "警衔", notes = "")
    private String jx;

    @ApiModelProperty(name = "政治面貌", notes = "")
    @Excel(name = "政治面貌", dictType = "D_BZ_ZZMM")
    private String zzmm;

    @ApiModelProperty(name = "婚姻状况", notes = "0、未婚，1、已婚，2、离异")
    @Excel(name = "婚姻状况",dictType = "D_BZ_HYZK")
    private String hyzk;

    @ApiModelProperty(name = "入职时间", notes = "")
//    @Excel(name = "入职时间(yyyy-MM-dd)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rzsj;

    @ApiModelProperty(name = "出生日期", notes = "")
    private Date csrq;

    @ApiModelProperty(name = "民族编码", notes = "")
    @Excel(name = "民族编码",dictType = "D_BZ_MZ")
    private String mzdm;

    @ApiModelProperty(name = "文化程度", notes = "")
    @Excel(name = "文化程度",dictType = "D_BZ_WHCD")
    private String whcddm;

    @ApiModelProperty(name = "籍贯", notes = "")
//    @Excel(name = "籍贯",dictType = "D_BZ_XZQHDM")
    private String jgdm;

    @ApiModelProperty(name = "家庭住址", notes = "")
    private String jtzz;

    @ApiModelProperty(name = "联系电话", notes = "")
    @Excel(name = "联系电话",sort = 6,headerColor= IndexedColors.RED1 )
    @NotBlank(message = "联系电话不能为空")
    private String lxdh;

    @ApiModelProperty(name = "电子邮箱", notes = "")
    @Excel(name = "电子邮箱")
    private String dzyx;

    @ApiModelProperty(name = "巡防力量图片")
    private String tp;

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

    @ApiModelProperty(value = "所属部门")
    @Excel(name = "所属部门",width = 35,sort = 2)
    private String ssbm;

    @ApiModelProperty(value = "所属部门代码")
    @Excel(name = "所属部门代码",sort = 1,headerColor= IndexedColors.RED1 )
    @NotBlank(message = "所属部门代码不能为空")
    private String ssbmdm;

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

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

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

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

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

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

    @ApiModelProperty(value = "图片id")
    private String tpid;
}