package com.ruoyi.oa.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
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;

/**
 * cmc员工调岗对象 cmc_transfer
 * 
 * @author cmc
 * @date 2025-10-16
 */
public class CmcTransfer extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 调岗id */
    private String transferId;

    /** 申请人id */
    private Long applier;
    @Excel(name = "申请人")
    private String applierUserName;
    private SysUser applierUser;


    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate;

    /** 调整前所在部门id */
    private Long beforeDeptId;
    @Excel(name = "调整前所在部门")
    private String beforeDeptName;
    private SysDept beforeDept;

    /** 调整前岗位id */
    private String beforePostId;
    @Excel(name = "调整前岗位")
    private String beforePostName;
    private SysPost beforePost;

    /** 调整后所在部门id */
    private Long afterDeptId;
    @Excel(name = "调整后所在部门")
    private String afterDeptName;
    private SysDept afterDept;

    /** 调整后岗位id */
    private String afterPostId;
    @Excel(name = "调整后岗位")
    private String afterPostName;
    private SysPost afterPost;

    /** 调整前所在部门意见 */
    @Excel(name = "调整前所在部门意见")
    private String beforeDeptComment;

    /** 调整前所在部门负责人 */
    private Long beforeDeptLeader;
    @Excel(name = "调整前所在部门负责人")
    private String beforeDeptUserName;
    private SysUser beforeDeptUser;

    /** 调整前所在部门审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调整前所在部门审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beforeDeptTime;

    /** 调整后所在部门意见 */
    @Excel(name = "调整后所在部门意见")
    private String afterDeptComment;

    /** 调整后所在部门审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调整后所在部门审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date afterDeptTime;

    /** 调整后所在部门负责人 */
    private Long afterDeptLeader;
    @Excel(name = "调整后所在部门负责人")
    private String afterDeptUserName;
    private SysUser afterDeptUser;

    /** 综合事务部意见 */
    @Excel(name = "综合事务部意见")
    private String zhComment;

    /** 综合事务部审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "综合事务部审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date zhTime;

    /** 综合事务部负责人 */
    private Long zhUserId;
    @Excel(name = "综合事务部负责人")
    private String zhUserName;
    private SysUser zhUser;

    /** 分管领导意见 */
    @Excel(name = "分管领导意见")
    private String managerComment;

    /** 分管领导审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "分管领导审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date managerTime;

    /** 分管领导 */
    private Long managerUserId;
    @Excel(name = "分管领导")
    private String managerUserName;
    private SysUser managerUser;

    /** 总经理意见 */
    @Excel(name = "总经理意见")
    private String zjlComment;

    /** 总经理审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "总经理审批时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date zjlTime;

    /** 总经理 */
    private Long zjlUserId;
    @Excel(name = "总经理")
    private String zjlUserName;
    private SysUser zjlUser;

    public void setTransferId(String transferId) 
    {
        this.transferId = transferId;
    }

    public String getTransferId() 
    {
        return transferId;
    }
    public void setApplier(Long applier) 
    {
        this.applier = applier;
    }

    public Long getApplier() 
    {
        return applier;
    }
    public void setApplyDate(Date applyDate) 
    {
        this.applyDate = applyDate;
    }

    public Date getApplyDate() 
    {
        return applyDate;
    }
    public void setBeforeDeptId(Long beforeDeptId) 
    {
        this.beforeDeptId = beforeDeptId;
    }

    public Long getBeforeDeptId() 
    {
        return beforeDeptId;
    }
    public void setBeforePostId(String beforePostId) 
    {
        this.beforePostId = beforePostId;
    }

    public String getBeforePostId() 
    {
        return beforePostId;
    }
    public void setAfterDeptId(Long afterDeptId) 
    {
        this.afterDeptId = afterDeptId;
    }

    public Long getAfterDeptId() 
    {
        return afterDeptId;
    }
    public void setAfterPostId(String afterPostId) 
    {
        this.afterPostId = afterPostId;
    }

    public String getAfterPostId() 
    {
        return afterPostId;
    }
    public void setBeforeDeptComment(String beforeDeptComment) 
    {
        this.beforeDeptComment = beforeDeptComment;
    }

    public String getBeforeDeptComment() 
    {
        return beforeDeptComment;
    }
    public void setBeforeDeptLeader(Long beforeDeptLeader) 
    {
        this.beforeDeptLeader = beforeDeptLeader;
    }

    public Long getBeforeDeptLeader() 
    {
        return beforeDeptLeader;
    }
    public void setBeforeDeptTime(Date beforeDeptTime) 
    {
        this.beforeDeptTime = beforeDeptTime;
    }

    public Date getBeforeDeptTime() 
    {
        return beforeDeptTime;
    }
    public void setAfterDeptComment(String afterDeptComment) 
    {
        this.afterDeptComment = afterDeptComment;
    }

    public String getAfterDeptComment() 
    {
        return afterDeptComment;
    }
    public void setAfterDeptTime(Date afterDeptTime) 
    {
        this.afterDeptTime = afterDeptTime;
    }

    public Date getAfterDeptTime() 
    {
        return afterDeptTime;
    }
    public void setAfterDeptLeader(Long afterDeptLeader) 
    {
        this.afterDeptLeader = afterDeptLeader;
    }

    public Long getAfterDeptLeader() 
    {
        return afterDeptLeader;
    }
    public void setZhComment(String zhComment) 
    {
        this.zhComment = zhComment;
    }

    public String getZhComment() 
    {
        return zhComment;
    }
    public void setZhTime(Date zhTime) 
    {
        this.zhTime = zhTime;
    }

    public Date getZhTime() 
    {
        return zhTime;
    }
    public void setZhUserId(Long zhUserId) 
    {
        this.zhUserId = zhUserId;
    }

    public Long getZhUserId() 
    {
        return zhUserId;
    }
    public void setManagerComment(String managerComment) 
    {
        this.managerComment = managerComment;
    }

    public String getManagerComment() 
    {
        return managerComment;
    }
    public void setManagerTime(Date managerTime) 
    {
        this.managerTime = managerTime;
    }

    public Date getManagerTime() 
    {
        return managerTime;
    }
    public void setManagerUserId(Long managerUserId) 
    {
        this.managerUserId = managerUserId;
    }

    public Long getManagerUserId() 
    {
        return managerUserId;
    }
    public void setZjlComment(String zjlComment) 
    {
        this.zjlComment = zjlComment;
    }

    public String getZjlComment() 
    {
        return zjlComment;
    }
    public void setZjlTime(Date zjlTime) 
    {
        this.zjlTime = zjlTime;
    }

    public Date getZjlTime() 
    {
        return zjlTime;
    }
    public void setZjlUserId(Long zjlUserId) 
    {
        this.zjlUserId = zjlUserId;
    }

    public Long getZjlUserId() 
    {
        return zjlUserId;
    }
    public void setBeforePost(SysPost beforePost)
    {
        this.beforePost = beforePost;
        this.beforePostName = beforePost == null ? "" : beforePost.getPostName();
    }

    public SysPost getBeforePost()
    {
        return beforePost;
    }
    public void setAfterPost(SysPost afterPost)
    {
        this.afterPost = afterPost;
        this.afterPostName = afterPost == null ? "" : afterPost.getPostName();
    }

    public SysPost getAfterPost()
    {
        return afterPost;
    }
    public void setBeforeDept(SysDept beforeDept)
    {
        this.beforeDept = beforeDept;
        this.beforeDeptName = beforeDept == null ? "" : beforeDept.getDeptName();
    }

    public SysDept getBeforeDept()
    {
        return beforeDept;
    }
    public void setAfterDept(SysDept afterDept)
    {
        this.afterDept = afterDept;
        this.afterDeptName = afterDept == null ? "" : afterDept.getDeptName();
    }

    public SysDept getAfterDept()
    {
        return afterDept;
    }
    public void setApplierUser(SysUser applierUser)
    {
        this.applierUser = applierUser;
        this.applierUserName = applierUser == null ? "" : applierUser.getNickName();
    }

    public SysUser getApplierUser()
    {
        return applierUser;
    }
    public void setBeforeDeptUser(SysUser beforeDeptUser)
    {
        this.beforeDeptUser = beforeDeptUser;
        this.beforeDeptUserName = beforeDeptUser == null ? "" : beforeDeptUser.getNickName();
    }

    public SysUser getBeforeDeptUser()
    {
        return beforeDeptUser;
    }
    public void setAfterDeptUser(SysUser afterDeptUser)
    {
        this.afterDeptUser = afterDeptUser;
        this.afterDeptUserName = afterDeptUser == null ? "" : afterDeptUser.getNickName();
    }

    public SysUser getAfterDeptUser()
    {
        return afterDeptUser;
    }
    public void setZhUser(SysUser zhUser)
    {
        this.zhUser = zhUser;
        this.zhUserName = zhUser == null ? "" : zhUser.getNickName();
    }

    public SysUser getZhUser()
    {
        return zhUser;
    }
    public void setManagerUser(SysUser managerUser)
    {
        this.managerUser = managerUser;
        this.managerUserName = managerUser == null ? "" : managerUser.getNickName();
    }

    public SysUser getManagerUser()
    {
        return managerUser;
    }
    public void setZjlUser(SysUser zjlUser)
    {
        this.zjlUser = zjlUser;
        this.zjlUserName = zjlUser == null ? "" : zjlUser.getNickName();
    }

    public SysUser getZjlUser()
    {
        return zjlUser;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("transferId", getTransferId())
            .append("applier", getApplier())
            .append("applyDate", getApplyDate())
            .append("beforeDeptId", getBeforeDeptId())
            .append("beforePostId", getBeforePostId())
            .append("afterDeptId", getAfterDeptId())
            .append("afterPostId", getAfterPostId())
            .append("beforeDeptComment", getBeforeDeptComment())
            .append("beforeDeptLeader", getBeforeDeptLeader())
            .append("beforeDeptTime", getBeforeDeptTime())
            .append("afterDeptComment", getAfterDeptComment())
            .append("afterDeptTime", getAfterDeptTime())
            .append("afterDeptLeader", getAfterDeptLeader())
            .append("zhComment", getZhComment())
            .append("zhTime", getZhTime())
            .append("zhUserId", getZhUserId())
            .append("managerComment", getManagerComment())
            .append("managerTime", getManagerTime())
            .append("managerUserId", getManagerUserId())
            .append("zjlComment", getZjlComment())
            .append("zjlTime", getZjlTime())
            .append("zjlUserId", getZjlUserId())
            .toString();
    }
}
