package com.willalp.files.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.willalp.common.annotation.Excel;
import com.willalp.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 员工入流程审批记录对象 personnel_hire_approval
 *
 * @author willalp
 * @date 2023-03-14
 */

@TableName("personnel_hire_approval")
public class PersonnelHireApproval extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId
    private String id;

    /** 审批标题 */
    @Excel(name = "审批标题")
    private String title;

    /** 人员ID */
    @Excel(name = "人员ID")
    private String personnelId;

    /** 申请人user_code */
    @Excel(name = "申请人user_code")
    private String applyUserId;

    /** 申请人 */
    @Excel(name = "申请人")
    private String applyUserName;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date applyTime;

    private String dimissionType;

    private String hireOrDimission;

    @TableField(exist = false)
    private String userName;
    @TableField(exist = false)
    private String jobTitle;
    @TableField(exist = false)
    private String department;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String joTitle) {
        this.jobTitle = joTitle;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    /**
     * 备注
     */
    private String remark;

    /** 是否删除（0.未删除；1.已删除） */
    private Integer isDelete;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public void setPersonnelId(String personnelId) {
        this.personnelId = personnelId;
    }

    public String getPersonnelId() {
        return personnelId;
    }

    public void setApplyUserId(String applyUserId) {
        this.applyUserId = applyUserId;
    }

    public String getApplyUserId() {
        return applyUserId;
    }

    public void setApplyUserName(String applyUserName) {
        this.applyUserName = applyUserName;
    }

    public String getApplyUserName() {
        return applyUserName;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("title", getTitle())
                .append("personnelId", getPersonnelId())
                .append("applyUserId", getApplyUserId())
                .append("applyUserName", getApplyUserName())
                .append("isDelete", getIsDelete())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }

    public Date getApplyTime() {
        return applyTime;
    }

    public void setApplyTime(Date applyTime) {
        this.applyTime = applyTime;
    }

    public String getDimissionType() {
        return dimissionType;
    }

    public void setDimissionType(String dimissionType) {
        this.dimissionType = dimissionType;
    }

    public String getHireOrDimission() {
        return hireOrDimission;
    }

    public void setHireOrDimission(String hireOrDimission) {
        this.hireOrDimission = hireOrDimission;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }
}
