package com.ruoyi.branch.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.system.domain.SysPost;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 支部成员管理对象 t_branch_member
 * 
 * @author ruoyi
 * @date 2023-06-15
 */
public class TBranchMember extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @Excel(name = "主键id")
    private Long memberId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 成员类型 */
    @Excel(name = "成员类型")
    private String memberType;

    /** 出生年月 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生年月", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 学历 */
    @Excel(name = "学历")
    private String educationLevel;

    /** 参加工作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workJoinTime;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workEntryTime;

    /** 入党时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入党时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date partyEntryTime;

    /** 任职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "任职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date labourEntryTime;

    /** 离任时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离任时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date labourLeaveTime;

    /** 调进时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调进时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryTime;

    /** 调出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveTime;

    /** 是否团员 */
    @Excel(name = "是否团员")
    private String isLeague;

    /** 申请入党时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请入党时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyTime;

    /** 建表考察时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "建表考察时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date formCreateTime;

    /** 现培养人 */
    @Excel(name = "现培养人")
    private String currentMentor;

    /** 计划发展时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划发展时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planDevelopDuration;

    /** 是否参加过入党前培训（2年有效） */
    @Excel(name = "是否参加过入党前培训", readConverterExp = "2=年有效")
    private String isTrained;

    /** 备注（增减原因） */
    @Excel(name = "备注", readConverterExp = "增=减原因")
    private String remarks;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 原支部id */
    private Long oldDeptId;

    /** 转入支部id */
    private Long newDeptId;

    /** 用户昵称 */
    @Excel(name = "用户名称")
    private String nickName;

    /** 用户性别 */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phonenumber;

    /** 角色对象 */
    private List<SysRole> roles;

    /** 岗位对象 */
    private List<SysPost> posts;

    /** 民族 */
    @Excel(name = "民族")
    private String ethnic;

    /** 工号 */
    @Excel(name = "工号")
    private String staffId;

    /** 申请编号 */
    private String apNo;

    /** 流程编号 */
    private String processId;

    /** 申请状态（1已审核 0未审核） */
    private String apStatus;

    public String getApStatus() {
        return apStatus;
    }

    public void setApStatus(String apStatus) {
        this.apStatus = apStatus;
    }

    public String getApNo() {
        return apNo;
    }

    public void setApNo(String apNo) {
        this.apNo = apNo;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public Long getOldDeptId() {
        return oldDeptId;
    }

    public void setOldDeptId(Long oldDeptId) {
        this.oldDeptId = oldDeptId;
    }

    public Long getNewDeptId() {
        return newDeptId;
    }

    public void setNewDeptId(Long newDeptId) {
        this.newDeptId = newDeptId;
    }

    public String getStaffId() {
        return staffId;
    }

    public void setStaffId(String staffId) {
        this.staffId = staffId;
    }

    public String getEthnic() {
        return ethnic;
    }

    public void setEthnic(String ethnic) {
        this.ethnic = ethnic;
    }

    public List<SysPost> getPosts() {
        return posts;
    }

    public void setPosts(List<SysPost> posts) {
        this.posts = posts;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public List<SysRole> getRoles()
    {
        return roles;
    }

    public void setRoles(List<SysRole> roles)
    {
        this.roles = roles;
    }

    public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setMemberType(String memberType) 
    {
        this.memberType = memberType;
    }

    public String getMemberType() 
    {
        return memberType;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setEducationLevel(String educationLevel) 
    {
        this.educationLevel = educationLevel;
    }

    public String getEducationLevel() 
    {
        return educationLevel;
    }
    public void setWorkJoinTime(Date workJoinTime) 
    {
        this.workJoinTime = workJoinTime;
    }

    public Date getWorkJoinTime() 
    {
        return workJoinTime;
    }
    public void setWorkEntryTime(Date workEntryTime) 
    {
        this.workEntryTime = workEntryTime;
    }

    public Date getWorkEntryTime() 
    {
        return workEntryTime;
    }
    public void setPartyEntryTime(Date partyEntryTime) 
    {
        this.partyEntryTime = partyEntryTime;
    }

    public Date getPartyEntryTime() 
    {
        return partyEntryTime;
    }

    public void setLabourEntryTime(Date labourEntryTime) 
    {
        this.labourEntryTime = labourEntryTime;
    }

    public Date getLabourEntryTime() 
    {
        return labourEntryTime;
    }
    public void setLabourLeaveTime(Date labourLeaveTime) 
    {
        this.labourLeaveTime = labourLeaveTime;
    }

    public Date getLabourLeaveTime() 
    {
        return labourLeaveTime;
    }
    public void setEntryTime(Date entryTime) 
    {
        this.entryTime = entryTime;
    }

    public Date getEntryTime() 
    {
        return entryTime;
    }
    public void setLeaveTime(Date leaveTime) 
    {
        this.leaveTime = leaveTime;
    }

    public Date getLeaveTime() 
    {
        return leaveTime;
    }
    public void setIsLeague(String isLeague)
    {
        this.isLeague = isLeague;
    }

    public String getIsLeague()
    {
        return isLeague;
    }
    public void setApplyTime(Date applyTime) 
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime() 
    {
        return applyTime;
    }
    public void setFormCreateTime(Date formCreateTime) 
    {
        this.formCreateTime = formCreateTime;
    }

    public Date getFormCreateTime() 
    {
        return formCreateTime;
    }
    public void setCurrentMentor(String currentMentor)
    {
        this.currentMentor = currentMentor;
    }

    public String getCurrentMentor()
    {
        return currentMentor;
    }
    public void setPlanDevelopDuration(Date planDevelopDuration)
    {
        this.planDevelopDuration = planDevelopDuration;
    }

    public Date getPlanDevelopDuration()
    {
        return planDevelopDuration;
    }
    public void setIsTrained(String isTrained)
    {
        this.isTrained = isTrained;
    }

    public String getIsTrained()
    {
        return isTrained;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("memberId", getMemberId())
            .append("userId", getUserId())
            .append("memberType", getMemberType())
            .append("birthday", getBirthday())
            .append("educationLevel", getEducationLevel())
            .append("workJoinTime", getWorkJoinTime())
            .append("workEntryTime", getWorkEntryTime())
            .append("partyEntryTime", getPartyEntryTime())
            .append("labourEntryTime", getLabourEntryTime())
            .append("labourLeaveTime", getLabourLeaveTime())
            .append("entryTime", getEntryTime())
            .append("leaveTime", getLeaveTime())
            .append("isLeague", getIsLeague())
            .append("applyTime", getApplyTime())
            .append("formCreateTime", getFormCreateTime())
            .append("currentMentor", getCurrentMentor())
            .append("planDevelopDuration", getPlanDevelopDuration())
            .append("isTrained", getIsTrained())
            .append("remarks", getRemarks())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deptId", getDeptId())
            .toString();
    }
}
