package com.inkasso.factoring.acceptanceManagement.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.inkasso.factoring.common.entity.BaseEntity;
import com.inkasso.factoring.electronicSignature.entity.ElectronicSignaturePersonal;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 验收单签署确认表
 * </p>
 *
 * @author yafan
 * @since 2023-11-30
 */
@TableName("c_acceptance_sign_confirmation")
public class CAcceptanceSignConfirmation extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 验收单-基础信息表ID
     */
    @TableField("c_acceptance_basic_info_id")
    private Long cAcceptanceBasicInfoId;

    /**
     * 合同链接
     */
    @TableField("contract_link")
    private String contractLink;

    /**
     * 客户合同链接短连接
     */
    @TableField("short_contract_link")
    private String shortContractLink;

    /**
     * 短链接创建时间
     */
    @TableField("short_contract_link_create")
    private Date shortContractLinkCreate;

    /**
     * 签署结论 1完成
     */
    @TableField("sign_conclusion")
    private Integer signConclusion;

    /**
     * 说明
     */
    @TableField("remark")
    private String remark;

    @TableField(exist = false)
    private Long businessKey;

    @TableField(exist = false)
    private String taskId;

    @TableField(exist = false)
    private List<CAcceptanceSignConfirmationElectronicInfo> signConfirmationElectronicInfos;

    @TableField(exist = false)
    private ElectronicSignaturePersonal electronicSignaturePersonal;

    @TableField(exist = false)
    private List<CAcceptanceSignConfirmationGoodsInfo> acceptanceSignConfirmationGoodsInfos;

    @TableField(exist = false)
    private List<CAcceptanceGoodsInfo> acceptanceGoodInfos;

    /**
     * 前置节点是否为签署确认（前置节点为签署确认时，此处只支持否决和通过）
     */
    @TableField(exist = false)
    private Integer signConfirm;

    public Long getcAcceptanceBasicInfoId() {
        return cAcceptanceBasicInfoId;
    }

    public void setcAcceptanceBasicInfoId(Long cAcceptanceBasicInfoId) {
        this.cAcceptanceBasicInfoId = cAcceptanceBasicInfoId;
    }
    public String getContractLink() {
        return contractLink;
    }

    public void setContractLink(String contractLink) {
        this.contractLink = contractLink;
    }
    public String getShortContractLink() {
        return shortContractLink;
    }

    public void setShortContractLink(String shortContractLink) {
        this.shortContractLink = shortContractLink;
    }

    public Date getShortContractLinkCreate() {
        return shortContractLinkCreate;
    }

    public void setShortContractLinkCreate(Date shortContractLinkCreate) {
        this.shortContractLinkCreate = shortContractLinkCreate;
    }

    public Integer getSignConclusion() {
        return signConclusion;
    }

    public void setSignConclusion(Integer signConclusion) {
        this.signConclusion = signConclusion;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    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;
    }

    public List<CAcceptanceSignConfirmationElectronicInfo> getSignConfirmationElectronicInfos() {
        return signConfirmationElectronicInfos;
    }

    public void setSignConfirmationElectronicInfos(List<CAcceptanceSignConfirmationElectronicInfo> signConfirmationElectronicInfos) {
        this.signConfirmationElectronicInfos = signConfirmationElectronicInfos;
    }

    public ElectronicSignaturePersonal getElectronicSignaturePersonal() {
        return electronicSignaturePersonal;
    }

    public void setElectronicSignaturePersonal(ElectronicSignaturePersonal electronicSignaturePersonal) {
        this.electronicSignaturePersonal = electronicSignaturePersonal;
    }

    public List<CAcceptanceSignConfirmationGoodsInfo> getAcceptanceSignConfirmationGoodsInfos() {
        return acceptanceSignConfirmationGoodsInfos;
    }

    public void setAcceptanceSignConfirmationGoodsInfos(List<CAcceptanceSignConfirmationGoodsInfo> acceptanceSignConfirmationGoodsInfos) {
        this.acceptanceSignConfirmationGoodsInfos = acceptanceSignConfirmationGoodsInfos;
    }

    public List<CAcceptanceGoodsInfo> getAcceptanceGoodInfos() {
        return acceptanceGoodInfos;
    }

    public void setAcceptanceGoodInfos(List<CAcceptanceGoodsInfo> acceptanceGoodInfos) {
        this.acceptanceGoodInfos = acceptanceGoodInfos;
    }

    public Integer getSignConfirm() {
        return signConfirm;
    }

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

    @Override
    public String toString() {
        return "CAcceptanceSignConfirmation{" +
            ", cAcceptanceBasicInfoId=" + cAcceptanceBasicInfoId +
            ", contractLink=" + contractLink +
            ", shortContractLink=" + shortContractLink +
            ", shortContractLinkCreate=" + shortContractLinkCreate +
            ", signConclusion=" + signConclusion +
            ", remark=" + remark +
        "}";
    }
}
