package com.crunii.micro.domain.entity.main;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @author wangchen create 2023/5/31 16:44
 */
@Entity
@Table(name = "ycq_league_leader")
@DynamicInsert
@DynamicUpdate
@Getter
@Setter
@ToString
@EqualsAndHashCode(of= {"leagueId"})
@GenericGenerator(name = "idGenerator", strategy = "com.crunii.micro.core.distributed.DistributedSnowFlakeId")
@ApiModel(description = "团委组织表")
public class YcqLeagueLeader implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(generator = "idGenerator")
    @Column(name = "leader_id")
    @ApiModelProperty(value = "主键")
    private Long leaderId;

    @Column(name = "league_code")
    @ApiModelProperty(value = "组织编码")
    private String leagueCode;

    @Column(name = "current_duty")
    @ApiModelProperty(value = "职务")
    private String currentDuty;

    @Column(name = "name")
    @ApiModelProperty(value = "姓名")
    private String name;

    @Column(name = "mobile")
    @ApiModelProperty(value = "手机号")
    private String mobile;

    @Column(name = "take_current_duty_date")
    @ApiModelProperty(value = "任职时间")
    private String takeCurrentDutyDate;

    @Column(name = "cadre_property")
    @ApiModelProperty(value = "专兼职")
    private String cadreProperty;

    @Column(name = "on_duty_status")
    @ApiModelProperty(value = "在岗状态")
    private String onDutyStatus;

    @Column(name = "check_status")
    @ApiModelProperty(value = "信息核对")
    private Integer checkStatus;

    @Column(name = "gender")
    @ApiModelProperty(value = "性别 1男 0女")
    private Integer gender;

    @Column(name = "identity_card_no")
    @ApiModelProperty(value = "身份证号")
    private String identityCardNo;

    @Column(name = "national_id")
    @ApiModelProperty(value = "民族")
    private String nationalId;

    @Column(name = "place_of_origin")
    @ApiModelProperty(value = "籍贯")
    private String placeOfOrigin;

    @Column(name = "place_of_birth")
    @ApiModelProperty(value = "出生地")
    private String placeOfBirth;

    @Column(name = "birth_day")
    @ApiModelProperty(value = "出生日期")
    private String birthDay;

    @Column(name = "max_full_time_education_degree")
    @ApiModelProperty(value = "最高教育学历")
    private String maxFullTimeEducationDegree;

    @Column(name = "on_the_job_training_ed")
    @ApiModelProperty(value = "全日制教育学历")
    private String onTheJobTrainingEd;

    @Column(name = "academic_degree")
    @ApiModelProperty(value = "学位")
    private String academicDegree;

    @Column(name = "political_id")
    @ApiModelProperty(value = "政治面貌")
    private String politicalId;

    @Column(name = "join_league_time")
    @ApiModelProperty(value = "入团时间")
    private String joinLeagueTime;

    @Column(name = "league_name")
    @ApiModelProperty(value = "团籍所在团支部")
    private String leagueName;

    @Column(name = "date_of_join_ccp")
    @ApiModelProperty(value = "入党时间")
    private String dateOfJoinCcp;

    @Column(name = "user_code")
    @ApiModelProperty(value = "发展团员编号")
    private String userCode;

    @Column(name = "apply_application_of_ccp")
    @ApiModelProperty(value = "是否递交入党申请书 0是 1否")
    private String applyApplicationOfCcp;

    @Column(name = "party_record_time")
    @ApiModelProperty(value = "递交入党申请书时间")
    private String partyRecordTime;

    @Column(name = "join_volunteer_time")
    @ApiModelProperty(value = "成为注册志愿者的时间")
    private String joinVolunteerTime;

    @Column(name = "volunteer")
    @ApiModelProperty(value = "是否志愿者0否 1是")
    private Integer volunteer;

    @Column(name = "seat_province")
    @ApiModelProperty(value = "单位所在地（省市县）")
    private String seatProvince;

    @Column(name = "org_department")
    @ApiModelProperty(value = "所在部门")
    private String orgDepartment;

    @Column(name = "current_duty_level")
    @ApiModelProperty(value = "现职级")
    private String currentDutyLevel;

    @Column(name = "other_org_duty")
    @ApiModelProperty(value = "其他主要职务")
    private String otherOrgDuty;

    @Column(name = "establishment")
    @ApiModelProperty(value = "编制")
    private String establishment;

    @Column(name = "begin_work_date")
    @ApiModelProperty(value = "参加工作时间")
    private String beginWorkDate;

    @Column(name = "generation_type")
    @ApiModelProperty(value = "产生方式")
    private String generationType;

    @Column(name = "join_department_date")
    @ApiModelProperty(value = "初到本单位时间")
    private String joinDepartmentDate;

    @Column(name = "begin_duty")
    @ApiModelProperty(value = "初到本单位职务")
    private String beginDuty;

    @Column(name = "begin_duty_level")
    @ApiModelProperty(value = "初到本单位职级")
    private String beginDutyLevel;

    @Column(name = "samp_ccp_duty")
    @ApiModelProperty(value = "同级党委中职务")
    private String sampCcpDuty;

    @Column(name = "current_league_duty")
    @ApiModelProperty(value = "本级团委中职务")
    private String currentLeagueDuty;

    @Column(name = "superior_league_duty")
    @ApiModelProperty(value = "上级团委中职务")
    private String superiorLeagueDuty;

    @Column(name = "is_npc")
    @ApiModelProperty(value = "是否人大代表")
    private String isNpc;

    @Column(name = "is_cppcc")
    @ApiModelProperty(value = "是否政协委员")
    private String isCppcc;

    @Column(name = "cadre_comment")
    @ApiModelProperty(value = "备注")
    private String cadreComment;

    @Column(name = "user_id")
    @ApiModelProperty(value = "人员id")
    private String userId;

    @Column(name = "email")
    @ApiModelProperty(value = "邮箱")
    private String email;

    @Column(name = "qq")
    @ApiModelProperty(value = "qq")
    private String qq;

    @Column(name = "wechat")
    @ApiModelProperty(value = "wechat")
    private String wechat;

    @Column(name = "weibo")
    @ApiModelProperty(value = "weibo")
    private String weibo;

    @Column(name = "full_league_name")
    @ApiModelProperty(value = "fullLeagueName")
    private String fullLeagueName;

    @Column(name = "identity_card_mark")
    @ApiModelProperty(value = "身份证校验")
    private String identityCardMark;

    @Column(name = "join_position_way")
    @ApiModelProperty(value = "任命方式")
    private String joinPositionWay;

    @Column(name = "job")
    @ApiModelProperty(value = "职业")
    private String job;

    @Column(name = "linshi")
    @ApiModelProperty(value = "临时")
    private Integer linshi;

    @Column(name = "position_id")
    @ApiModelProperty(value = "职务")
    private String positionId;

    @Column(name = "nature_id")
    @ApiModelProperty(value = "团干部性质")
    private String natureId;

    @Column(name = "is_sameLevel_party")
    @ApiModelProperty(value = "是否同级党（工）委（党支部）委员 0否")
    private String isSameLevelParty;

    @Column(name = "degree_id")
    @ApiModelProperty(value = "学历")
    private String degreeId;

    @Column(name = "join_party_time")
    @ApiModelProperty(value = "入党时间")
    private String joinPartyTime;

    @Column(name = "work_study_unit")
    @ApiModelProperty(value = "学习工作单位")
    private String workStudyUnit;

    @Column(name = "weixin")
    @ApiModelProperty(value = "微信")
    private String weixin;

    @Column(name = "join_position_time")
    @ApiModelProperty(value = "现任职年月")
    private String joinPositionTime;

    @Column(name = "become_eolunteer_time")
    @ApiModelProperty(value = "成为志愿者时间")
    private String becomeEolunteerTime;
}

