package com.sunxung.factoring.entity.salescontractmanagement;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;
import com.sunxung.factoring.entity.sys.FileStorage;
import com.sunxung.factoring.entity.sys.FileStorageDO;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * <p>
 * 销售合同-变更审核表
 * </p>
 *
 * @author daxian
 * @since 2022-03-03
 */
@TableName("sales_contract_supplement_approval")
public class SalesContractSupplementApproval extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 销售补充合同信息表Id
     */
    @TableField("c_sales_contract_supplement_info_id")
    private Long salesContractSupplementInfoId;

    /**
     * 审批意见
     */
    @TableField("approval_comment")
    private String approvalComments;

    /**
     * 审批结论
     */
    @TableField("approval_conclusion")
    @NotNull(message = "审批结论不能为空！")
    private String approvalConclusion;

    /**
     * 审核人Id
     */
    @TableField("auditor_id")
    private Long auditorId;

    /**
     * 签署确认
     */
    @TableField("sign_confirm")
    private Integer signConfirm;

    @TableField(exist = false)
    private List<Long> fileIds;

    @TableField(exist = false)
    private List<MultipartFile> multipartFileList;

    @TableField(exist = false)
    private List<FileStorage> files;

    @TableField(exist = false)
    private CSalesContractSupplementPersonInfo supplementPersonInfo;

    @TableField(exist = false)
    private List<SalesContractSupplementApprovalPersonInfoHistoryRef> personInfoHistoryRef;

    @TableField(exist = false)
    private Long businessKey;

    @TableField(exist = false)
    private String taskId;

    public List<FileStorage> getFiles() {
        return files;
    }

    public void setFiles(List<FileStorage> files) {
        this.files = files;
    }

    public List<SalesContractSupplementApprovalPersonInfoHistoryRef> getPersonInfoHistoryRef() {
        return personInfoHistoryRef;
    }

    public void setPersonInfoHistoryRef(List<SalesContractSupplementApprovalPersonInfoHistoryRef> personInfoHistoryRef) {
        this.personInfoHistoryRef = personInfoHistoryRef;
    }

    public List<Long> getFileIds() {
        return fileIds;
    }

    public void setFileIds(List<Long> fileIds) {
        this.fileIds = fileIds;
    }

    public List<MultipartFile> getMultipartFileList() {
        return multipartFileList;
    }

    public void setMultipartFileList(List<MultipartFile> multipartFileList) {
        this.multipartFileList = multipartFileList;
    }

    public CSalesContractSupplementPersonInfo getSupplementPersonInfo() {
        return supplementPersonInfo;
    }

    public void setSupplementPersonInfo(CSalesContractSupplementPersonInfo supplementPersonInfo) {
        this.supplementPersonInfo = supplementPersonInfo;
    }

    public Integer getSignConfirm() {
        return signConfirm;
    }

    public void setSignConfirm(Integer signConfirm) {
        this.signConfirm = signConfirm;
    }

    public SalesContractSupplementApproval() {
    }

    public Long getSalesContractSupplementInfoId() {
        return salesContractSupplementInfoId;
    }

    public void setSalesContractSupplementInfoId(Long salesContractSupplementInfoId) {
        this.salesContractSupplementInfoId = salesContractSupplementInfoId;
    }

    public String getApprovalComments() {
        return approvalComments;
    }

    public void setApprovalComments(String approvalComments) {
        this.approvalComments = approvalComments;
    }

    public String getApprovalConclusion() {
        return approvalConclusion;
    }

    public void setApprovalConclusion(String approvalConclusion) {
        this.approvalConclusion = approvalConclusion;
    }
    public Long getAuditorId() {
        return auditorId;
    }

    public void setAuditorId(Long auditorId) {
        this.auditorId = auditorId;
    }

    public Long getBusinessKey() {
        return businessKey;
    }

    public void setBusinessKey(Long businessKey) {
        this.businessKey = businessKey;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Override
    public String toString() {
        return "SalesContractSupplementApproval{" +
            "salesContractSupplementInfoId=" + salesContractSupplementInfoId +
            ", approvalConclusion=" + approvalConclusion +
            ", auditorId=" + auditorId +
        "}";
    }


}
