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 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_procure_approval
 * 
 * @author cmc
 * @date 2024-09-18
 */
public class CmcProcureApproval extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 采购申请id */
    private String procureApplyId;

    /** 购置说明 */
    @Excel(name = "购置说明")
    private String applyReason;

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

    /** 申请部门 */
    @Excel(name = "申请部门")
    private String deptName;
    private Long applyDept;

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

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

    /** 分管审核人 */
    @Excel(name = "分管审核人")
    private String managerUserName;
    private Long managerUserId;

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

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

    /** 总经理审批人 */
    @Excel(name = "总经理审批人")
    private String zjlUserName;
    private Long zjlUserId;

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

    /** 计划编制意见 */
    @Excel(name = "计划编制意见")
    private String planComment;

    /** 计划编制人 */
    @Excel(name = "计划编制人")
    private String planUserName;
    private Long planUserId;

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

    private SysUser applierUser;

    private SysUser managerUser;

    private SysUser zjlUser;

    private SysUser planUser;

    private SysDept dept;

    public void setProcureApplyId(String procureApplyId) 
    {
        this.procureApplyId = procureApplyId;
    }

    public String getProcureApplyId() 
    {
        return procureApplyId;
    }
    public void setApplyReason(String applyReason) 
    {
        this.applyReason = applyReason;
    }

    public String getApplyReason() 
    {
        return applyReason;
    }
    public void setApplier(Long applier) 
    {
        this.applier = applier;
    }

    public Long getApplier() 
    {
        return applier;
    }
    public void setApplierUser(SysUser applierUser)
    {
        this.applierUser = applierUser;
        this.applierUserName = applierUser == null ? "" : applierUser.getNickName();
    }

    public SysUser getApplierUser()
    {
        return applierUser;
    }
    public void setApplyDept(Long applyDept) 
    {
        this.applyDept = applyDept;
    }

    public Long getApplyDept() 
    {
        return applyDept;
    }
    public void setDept(SysDept dept)
    {
        this.dept = dept;
        this.deptName = dept == null ? "" : dept.getDeptName();
    }

    public SysDept getDept()
    {
        return dept;
    }
    public void setApplyTime(Date applyTime)
    {
        this.applyTime = applyTime;
    }

    public Date getApplyTime()
    {
        return applyTime;
    }
    public void setManagerUserId(Long managerUserId) 
    {
        this.managerUserId = managerUserId;
    }

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

    public SysUser getManagerUser()
    {
        return managerUser;
    }
    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 setZjlUserId(Long zjlUserId) 
    {
        this.zjlUserId = zjlUserId;
    }

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

    public SysUser getZjlUser()
    {
        return zjlUser;
    }
    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 setPlanUserId(Long planUserId) 
    {
        this.planUserId = planUserId;
    }

    public Long getPlanUserId() 
    {
        return planUserId;
    }
    public void setPlanUser(SysUser planUser)
    {
        this.planUser = planUser;
        this.planUserName = planUser == null ? "" : planUser.getNickName();
    }

    public SysUser getPlanUser()
    {
        return planUser;
    }
    public void setPlanTime(Date planTime) 
    {
        this.planTime = planTime;
    }

    public Date getPlanTime() 
    {
        return planTime;
    }
    public void setPlanComment(String planComment) 
    {
        this.planComment = planComment;
    }

    public String getPlanComment() 
    {
        return planComment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("procureApplyId", getProcureApplyId())
            .append("applyReason", getApplyReason())
            .append("applier", getApplier())
            .append("applyDept", getApplyDept())
            .append("applyTime", getApplyTime())
            .append("managerUserId", getManagerUserId())
            .append("managerComment", getManagerComment())
            .append("managerTime", getManagerTime())
            .append("zjlUserId", getZjlUserId())
            .append("zjlComment", getZjlComment())
            .append("zjlTime", getZjlTime())
            .append("planUserId", getPlanUserId())
            .append("planTime", getPlanTime())
            .append("planComment", getPlanComment())
            .toString();
    }
}
