package com.ruoyi.system.domain.review;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.conference.SysUserConference;
import com.ruoyi.system.domain.loan.LoanApplicationFj;
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;

/**
 * 业务审核意见对象 review_comments
 * 
 * @author boman
 * @date 2024-04-24
 */
public class ReviewComments extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 业务审核意见id */
    private Long reviewCommentsId;

    /** 贷款申请id */
    @Excel(name = "贷款申请id")
    private Long loanApplicationId;

    /** 贷款申请编号 */
    @Excel(name = "贷款申请编号")
    private String loanApplicationNumber;

    /** 审核进度1：业务审核/分配 2：A角色审核 3：B角色审核 4：风险审核 5：尽职调查 6：上会评审 */
    @Excel(name = "审核进度1：业务审核/分配 2：A角色审核 3：B角色审核 4：风险审核 5：尽职调查 6：上会评审")
    private String auditSchedule;

    /** 审核状态 1：待审核 2：已通过 3：未通过  4:申诉 5:撤销*/
    @Excel(name = "审核状态 1：待审核 2：已通过 3：未通过 4:申诉")
    private String auditType;

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

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditTime;
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "评审会日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewTime;

    /** 审核意见附件List */
    private  List<LoanApplicationFj> fjUrl;

    /** 审核意见图片多张使用逗号分隔 */
    @Excel(name = "审核意见图片多张使用逗号分隔")
    private String imageUrl;
    /**
     * 参会人员集合
     */
    private List<SysUserConference> sysUserConferenceList;

    /** A角色用户ID */
    @Excel(name = "A角色用户ID")
    private Long aUserId;

    /** A角色用户名称 */
    @Excel(name = "A角色用户名称")
    private String aUserName;

    /** B角色用户ID */
    @Excel(name = "B角色用户ID")
    private Long bUserId;

    /** B角色用户名称 */
    @Excel(name = "B角色用户名称")
    private String bUserName;

    /** 风险用户id */
    @Excel(name = "风险用户id")
    private Long fUserId;

    /** 风险用户名称 */
    @Excel(name = "风险用户名称")
    private String fUserName;

    public Long getfUserId() {
        return fUserId;
    }

    public void setfUserId(Long fUserId) {
        this.fUserId = fUserId;
    }

    public String getfUserName() {
        return fUserName;
    }

    public void setfUserName(String fUserName) {
        this.fUserName = fUserName;
    }

    public Date getReviewTime() {
        return reviewTime;
    }

    public void setReviewTime(Date reviewTime) {
        this.reviewTime = reviewTime;
    }

    public Long getaUserId() {
        return aUserId;
    }

    public void setaUserId(Long aUserId) {
        this.aUserId = aUserId;
    }

    public String getaUserName() {
        return aUserName;
    }

    public void setaUserName(String aUserName) {
        this.aUserName = aUserName;
    }

    public Long getbUserId() {
        return bUserId;
    }

    public void setbUserId(Long bUserId) {
        this.bUserId = bUserId;
    }

    public String getbUserName() {
        return bUserName;
    }

    public void setbUserName(String bUserName) {
        this.bUserName = bUserName;
    }

    public List<SysUserConference> getSysUserConferenceList() {
        return sysUserConferenceList;
    }

    public void setSysUserConferenceList(List<SysUserConference> sysUserConferenceList) {
        this.sysUserConferenceList = sysUserConferenceList;
    }

    public void setReviewCommentsId(Long reviewCommentsId)
    {
        this.reviewCommentsId = reviewCommentsId;
    }

    public Long getReviewCommentsId() 
    {
        return reviewCommentsId;
    }
    public void setLoanApplicationId(Long loanApplicationId) 
    {
        this.loanApplicationId = loanApplicationId;
    }

    public Long getLoanApplicationId() 
    {
        return loanApplicationId;
    }
    public void setLoanApplicationNumber(String loanApplicationNumber) 
    {
        this.loanApplicationNumber = loanApplicationNumber;
    }

    public String getLoanApplicationNumber() 
    {
        return loanApplicationNumber;
    }
    public void setAuditSchedule(String auditSchedule) 
    {
        this.auditSchedule = auditSchedule;
    }

    public String getAuditSchedule() 
    {
        return auditSchedule;
    }
    public void setAuditType(String auditType) 
    {
        this.auditType = auditType;
    }

    public String getAuditType() 
    {
        return auditType;
    }
    public void setAuditView(String auditView) 
    {
        this.auditView = auditView;
    }

    public String getAuditView() 
    {
        return auditView;
    }
    public void setAuditTime(Date auditTime) 
    {
        this.auditTime = auditTime;
    }

    public Date getAuditTime() 
    {
        return auditTime;
    }

    public List<LoanApplicationFj> getFjUrl() {
        return fjUrl;
    }

    public void setFjUrl(List<LoanApplicationFj> fjUrl) {
        this.fjUrl = fjUrl;
    }

    public void setImageUrl(String imageUrl)
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() 
    {
        return imageUrl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("reviewCommentsId", getReviewCommentsId())
            .append("loanApplicationId", getLoanApplicationId())
            .append("loanApplicationNumber", getLoanApplicationNumber())
            .append("auditSchedule", getAuditSchedule())
            .append("auditType", getAuditType())
            .append("auditView", getAuditView())
            .append("auditTime", getAuditTime())
            .append("imageUrl", getImageUrl())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
