package com.sunxung.factoring.entity.acceptance;

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;

/**
 * 验收单管理-业务审核表
 * @author liutao
 * @date 2021.09.15
 */
@TableName("acceptance_business_approval")
public class AcceptanceBusinessApproval extends BaseEntity {

    /**
     * 验收单基础信息表id
     */
    @TableField("c_acceptance_basic_info_id")
    private Long acceptanceBasicInfoId;

    /**
     * 验收单历史新息表id
     */
    @TableField("c_acceptance_basic_his_id")
    private Long acceptanceBasicHisId;

    /**
     * 审批意见
     */
    @TableField("approval_comment")
    private String approvalComment;
    /**
     * 审批结论 0:通过 2：否决 3：退回
     */
    @NotNull(message = "请选择审核结论")
    @TableField("approval_conclusion")
    private String approvalConclusion;
    /**
     * 审核人Id
     */
    @TableField("auditor_id")
    private Long auditorId;
    /**
     * 审核结论 前端用
     */
    @TableField(exist = false)
    private String result;
    /**
     * 流程id
     */
    @TableField(exist = false)
    private String taskId;

    /**
     * 验收单附件
     */
    @TableField(exist = false)
    private List<FileStorage> file;
    /**
     *验收单补充附件
     */
    @TableField(exist = false)
    private List<FileStorage> additional;
    /**
     *验收单上游验收单
     */
    @TableField(exist = false)
    private List<FileStorageDO> acceptanceUpstreamFile;

    /**
     *采购合同
     */
    @TableField(exist = false)
    private List<FileStorage> salesContract;
    /**
     *销售合同
     */
    @TableField(exist = false)
    private List<FileStorage> purchContract;

//    /**
//     * 验收单已签署文件
//     */
//    @TableField(exist = false)
//    private FileStorage acceptanceSignedFile;

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

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

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

    @TableField(exist = false)
    private AcceptancePersonInfo acceptancePersonInfo;

//    @TableField(exist = false)
//    private AcceptancePersonInfoHistoryRef acceptancePersonInfoHistoryRef;

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

    @TableField(exist = false)
    private List<FileStorageDO> fileStorageDOList;
    /**
     * 补充说明附件
     */
    @TableField(exist = false)
    private List<FileStorageDO> supplementFiles;

    /**
     * 验收单附件/上游验收单   (自动签署后的)
     */
    @TableField(exist = false)
    private List<FileStorage>  acceptanceUpstreamFileSign;


//    public AcceptancePersonInfoHistoryRef getAcceptancePersonInfoHistoryRef() {
//        return acceptancePersonInfoHistoryRef;
//    }
//
//    public void setAcceptancePersonInfoHistoryRef(AcceptancePersonInfoHistoryRef acceptancePersonInfoHistoryRef) {
//        this.acceptancePersonInfoHistoryRef = acceptancePersonInfoHistoryRef;
//    }

    public List<FileStorage> getSignConfirmFiles() {
        return signConfirmFiles;
    }

    public void setSignConfirmFiles(List<FileStorage> signConfirmFiles) {
        this.signConfirmFiles = signConfirmFiles;
    }

    public Integer getSignConfirm() {
        return signConfirm;
    }

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

    public AcceptancePersonInfo getAcceptancePersonInfo() {
        return acceptancePersonInfo;
    }

    public void setAcceptancePersonInfo(AcceptancePersonInfo acceptancePersonInfo) {
        this.acceptancePersonInfo = acceptancePersonInfo;
    }

    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 AcceptanceBusinessApproval() {
    }

    public Long getAcceptanceBasicInfoId() {
        return acceptanceBasicInfoId;
    }

    public void setAcceptanceBasicInfoId(Long acceptanceBasicInfoId) {
        this.acceptanceBasicInfoId = acceptanceBasicInfoId;
    }

    public String getApprovalComment() {
        return approvalComment;
    }

    public void setApprovalComment(String approvalComment) {
        this.approvalComment = approvalComment;
    }

    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 String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public String getTaskId() {
        return taskId;
    }

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

    public List<FileStorage> getFile() {
        return file;
    }

    public void setFile(List<FileStorage> file) {
        this.file = file;
    }

    public List<FileStorage> getAdditional() {
        return additional;
    }

    public void setAdditional(List<FileStorage> additional) {
        this.additional = additional;
    }


    public List<FileStorage> getSalesContract() {
        return salesContract;
    }

    public void setSalesContract(List<FileStorage> salesContract) {
        this.salesContract = salesContract;
    }

    public List<FileStorage> getPurchContract() {
        return purchContract;
    }

    public void setPurchContract(List<FileStorage> purchContract) {
        this.purchContract = purchContract;
    }

//    public FileStorage getAcceptanceSignedFile() {
//        return acceptanceSignedFile;
//    }
//
//    public void setAcceptanceSignedFile(FileStorage acceptanceSignedFile) {
//        this.acceptanceSignedFile = acceptanceSignedFile;
//    }

    public List<FileStorageDO> getAcceptanceUpstreamFile() {
        return acceptanceUpstreamFile;
    }

    public void setAcceptanceUpstreamFile(
        List<FileStorageDO> acceptanceUpstreamFile) {
        this.acceptanceUpstreamFile = acceptanceUpstreamFile;
    }

    public List<FileStorageDO> getFileStorageDOList() {
        return fileStorageDOList;
    }

    public void setFileStorageDOList(
        List<FileStorageDO> fileStorageDOList) {
        this.fileStorageDOList = fileStorageDOList;
    }

    public List<FileStorageDO> getSupplementFiles() {
        return supplementFiles;
    }

    public void setSupplementFiles(
        List<FileStorageDO> supplementFiles) {
        this.supplementFiles = supplementFiles;
    }

    public List<FileStorage> getAcceptanceUpstreamFileSign() {
        return acceptanceUpstreamFileSign;
    }

    public void setAcceptanceUpstreamFileSign(
        List<FileStorage> acceptanceUpstreamFileSign) {
        this.acceptanceUpstreamFileSign = acceptanceUpstreamFileSign;
    }

    public Long getAcceptanceBasicHisId() {
        return acceptanceBasicHisId;
    }

    public void setAcceptanceBasicHisId(Long acceptanceBasicHisId) {
        this.acceptanceBasicHisId = acceptanceBasicHisId;
    }
}
