package com.ruoyi.oa.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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项目核算对象 cmc_check
 * 
 * @author cmc
 * @date 2025-05-13
 */
public class CmcCheck extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 核算id */
    private String checkId;

    /** 预算id */
    private String budgetId;

    /** 项目id */
    private String projectId;
    @Excel(name = "项目编号")
    private String projectNumber;
    @Excel(name = "项目名称")
    private String projectName;

    /** 核算人 */
    @Excel(name = "核算人")
    private String checkUserName;
    private Long checker;

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

    /** 核算说明 */
    @Excel(name = "核算说明")
    private String checkComment;

    /** 核算总额 */
    @Excel(name = "核算总额")
    private BigDecimal totalAdjust;

    /** 财务审核人 */
    @Excel(name = "财务审核人")
    private String cwUserName;
    private Long cwUserId;

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

    /** 财务审核意见 */
    @Excel(name = "财务审核意见")
    private String cwComment;

    /** 分管审核人 */
    @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 managerComment;

    /** 总经理审核人 */
    @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 zjlComment;

    private CmcProject project;

    private SysUser checkUser;

    private SysUser cwUser;

    private SysUser managerUser;

    private SysUser zjlUser;

    public void setCheckId(String checkId) 
    {
        this.checkId = checkId;
    }

    public String getCheckId() 
    {
        return checkId;
    }
    public void setBudgetId(String budgetId) 
    {
        this.budgetId = budgetId;
    }

    public String getBudgetId() 
    {
        return budgetId;
    }
    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setChecker(Long checker) 
    {
        this.checker = checker;
    }

    public Long getChecker() 
    {
        return checker;
    }
    public void setCheckTime(Date checkTime) 
    {
        this.checkTime = checkTime;
    }

    public Date getCheckTime() 
    {
        return checkTime;
    }
    public void setCheckComment(String checkComment) 
    {
        this.checkComment = checkComment;
    }

    public String getCheckComment() 
    {
        return checkComment;
    }
    public void setTotalAdjust(BigDecimal totalAdjust)
    {
        this.totalAdjust = totalAdjust;
    }

    public BigDecimal getTotalAdjust()
    {
        return totalAdjust;
    }
    public void setCwUserId(Long cwUserId) 
    {
        this.cwUserId = cwUserId;
    }

    public Long getCwUserId() 
    {
        return cwUserId;
    }
    public void setCwTime(Date cwTime) 
    {
        this.cwTime = cwTime;
    }

    public Date getCwTime() 
    {
        return cwTime;
    }
    public void setCwComment(String cwComment) 
    {
        this.cwComment = cwComment;
    }

    public String getCwComment() 
    {
        return cwComment;
    }
    public void setManagerUserId(Long managerUserId) 
    {
        this.managerUserId = managerUserId;
    }

    public Long getManagerUserId() 
    {
        return managerUserId;
    }
    public void setManagerTime(Date managerTime) 
    {
        this.managerTime = managerTime;
    }

    public Date getManagerTime() 
    {
        return managerTime;
    }
    public void setManagerComment(String managerComment) 
    {
        this.managerComment = managerComment;
    }

    public String getManagerComment() 
    {
        return managerComment;
    }
    public void setZjlUserId(Long zjlUserId) 
    {
        this.zjlUserId = zjlUserId;
    }

    public Long getZjlUserId() 
    {
        return zjlUserId;
    }
    public void setZjlTime(Date zjlTime) 
    {
        this.zjlTime = zjlTime;
    }

    public Date getZjlTime() 
    {
        return zjlTime;
    }
    public void setZjlComment(String zjlComment) 
    {
        this.zjlComment = zjlComment;
    }

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

    public SysUser getManagerUser()
    {
        return managerUser;
    }
    public void setCwUser(SysUser cwUser)
    {
        this.cwUser = cwUser;
        this.cwUserName = cwUser == null ? "" : cwUser.getNickName();
    }

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

    public SysUser getZjlUser()
    {
        return zjlUser;
    }
    public void setCheckUser(SysUser checkUser)
    {
        this.checkUser = checkUser;
        this.checkUserName = checkUser == null ? "" : checkUser.getNickName();
    }

    public SysUser getCheckUser()
    {
        return checkUser;
    }
    public void setProject(CmcProject project)
    {
        this.project = project;
        this.projectNumber = project == null ? "" : project.getProjectNumber();
        this.projectName = project == null ? "" : project.getProjectName();
    }

    public CmcProject getProject()
    {
        return project;
    }
    public void setProjectNumber(String projectNumber)
    {
        this.projectNumber = projectNumber;
    }

    public String getProjectNumber()
    {
        return projectNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("checkId", getCheckId())
            .append("budgetId", getBudgetId())
            .append("projectId", getProjectId())
            .append("checker", getChecker())
            .append("checkTime", getCheckTime())
            .append("checkComment", getCheckComment())
            .append("cwUserId", getCwUserId())
            .append("cwTime", getCwTime())
            .append("cwComment", getCwComment())
            .append("managerUserId", getManagerUserId())
            .append("managerTime", getManagerTime())
            .append("managerComment", getManagerComment())
            .append("zjlUserId", getZjlUserId())
            .append("zjlTime", getZjlTime())
            .append("zjlComment", getZjlComment())
            .toString();
    }
}
