package com.ssm.manage.dto;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ssm.manage.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.FieldNameConstants;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Id;
import java.util.Date;
import java.util.List;

/**
 * (BlackList)查询类
 *
 * @author makejava
 * @since 2023-12-20 11:41:45
 */
@Data
@ApiModel(value = "Dto")
@JsonIgnoreProperties(ignoreUnknown = true)
@FieldNameConstants
public class BlackListDto extends BasePage {
    private String deptNum;

//    private Integer isBeisen;
//    private Integer isZhongkong;

    /**
     * 紧急联系人姓名
     */
    @Column(name = "urgent_name")
    @ApiModelProperty(name = "urgentName", value = "紧急联系人姓名")
    private String urgentName;
    private Long zhongkongDeptId;

    private List<Integer> deptIds;
    private List<String> depyNums;

    /**
     * 紧急联系人电话
     */
    @Column(name = "urgent_phone")
    @ApiModelProperty(name = "urgentPhone", value = "紧急联系人电话")
    private String urgentPhone;

    /**
     * 紧急联系人关系
     */
    @Column(name = "urgent_relationship")
    @ApiModelProperty(name = "urgentRelationship", value = "紧急联系人关系")
    private String urgentRelationship;
    @ApiModelProperty(name = "startTime", value = "开始时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;
    @ApiModelProperty(name = "lastTime", value = "结束时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date lastTime;
    @Id
    @Column(name = "id")
    private Long id;
    /**
     * 北森userId
     */
    @Column(name = "beisen_user_id")
    @ApiModelProperty(name = "beisen_user_id", value = "0日结/1月结")
    private Integer beisenUserId;
    /**
     * 员工邮箱
     */
    @Column(name = "email")
    @ApiModelProperty(name = "email", value = "员工邮箱")
    private String email;
    /**
     * 临时工名编码
     */
    @Column(name = "staff_num")
    @ApiModelProperty(name = "staffNum", value = "临时工编码")
    private String staffNum;
    /**
     * 临时工名字
     */
    @Column(name = "staff_name")
    @ApiModelProperty(name = "staffName", value = "临时工名字")
    private String staffName;
    /**
     * 0男/1女
     */
    @Column(name = "sex")
    @ApiModelProperty(name = "sex", value = "0男/1女")
    private Integer sex;
    /**
     * 手机号
     */
    @Column(name = "mobile_phone")
    @ApiModelProperty(name = "mobilePhone", value = "手机号")
    private String mobilePhone;
    /**
     * 身份证
     */
    @Column(name = "identity_card")
    @ApiModelProperty(name = "identityCard", value = "身份证")
    private String identityCard;
    /**
     * 公司id
     */
    @Column(name = "store_id")
    @ApiModelProperty(name = "storeId", value = "公司id")
    private Long storeId;
    /**
     * 操作人id
     */
    @Column(name = "input_id")
    @ApiModelProperty(name = "inputId", value = "操作人id")
    private Long inputId;
    /**
     * 备注
     */
    @Column(name = "remark")
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    /**
     * 操作人名字
     */
    @Column(name = "input_name")
    @ApiModelProperty(name = "inputName", value = "操作人名字")
    private String inputName;
    /**
     * 操作时间
     */
    @Column(name = "input_date")
    @ApiModelProperty(name = "inputDate", value = "操作时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inputDate;
    /**
     * 0移除黑名单/1加入黑名单
     */
    @Column(name = "type")
    @ApiModelProperty(name = "type", value = "0移除黑名单/1加入黑名单")
    private Integer type;

    /**
     * 人脸信息
     */
    @Column(name = "faces_information")
    @ApiModelProperty(name = "facesInformation", value = "人脸信息")
    private String facesInformation;

    /**
     * 0日结/1月结
     */
    @Column(name = "job")
    @ApiModelProperty(name = "job", value = "0日结/1月结")
    private Integer job;

    /**
     * 区域id
     */
    @Column(name = "region_id")
    @ApiModelProperty(name = "regionId", value = "区域id")
    private Integer regionId;
    /**
     * 0系统自动/1人工结束
     */
    @Column(name = "end_type")
    @ApiModelProperty(name = "endType", value = "0系统自动/1人工结束")
    private Integer endType;
    /**
     * 结束人id
     */
    @Column(name = "end_id")
    @ApiModelProperty(name = "endId", value = "结束人id")
    private Long endId;
    /**
     * 结束人名称
     */
    @Column(name = "end_name")
    @ApiModelProperty(name = "endName", value = "结束人名称")
    private String endName;
    /**
     * 结束时间
     */
    @Column(name = "end_time")
    @ApiModelProperty(name = "endTime", value = "结束时间")
    private Date endTime;
    /**
     * 更新时间
     */
    @Column(name = "update_time")
    @ApiModelProperty(name = "updateTime", value = "更新时间")
    private Date updateTime;
    /**
     * 员工信息实体主键GUID
     */
    @Column(name = "employee_information_id")
    @ApiModelProperty(name = "employee_information_id", value = "员工信息实体主键GUID")
    private String employeeInformationId;
    /**
     * 任职记录实体主键GUID
     */
    @Column(name = "employment_record_id")
    @ApiModelProperty(name = "employment_record_id", value = "任职记录实体主键GUID")
    private String employmentRecordId;

    /**
     * 0未推送/1已推送
     */
    @Column(name = "is_eisen")
    @ApiModelProperty(name = "is_beisen", value = "0未推送/1已推送")
    private Integer isBeisen;
    /**
     * 0未推送/1已推送
     */
    @Column(name = "is_hongkong")
    @ApiModelProperty(name = "isZhongkong", value = "0未推送/1已推送")
    private Integer isZhongkong;
}
