package com.sifang.modules.customer.entity;


import org.hibernate.annotations.GenericGenerator;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 合同管理
 * </p>
 *
 * @author sx
 * @since 2023-05-17
 */
@Entity
@Table(name = "crm_customer_contract_management")
public class CrmCustomerContractManagement implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;
    // 合同编码
    private String contractNumber;
    // 合同关联的电站id
    private String entryId;
    // 电站编码
    private String powerStationCode;
    // 经销商id
    private String traderId;
    // 项目公司id
    private String projectCompanyId;
    // 项目公司名称
    private String projectCompanyName;
    // 租户联系方式
    private String tenantMobile;

    // 机构id
    private String orgId;

    // 经办人id
    private String psnId;

    // 合同状态(0、删除 1 待农户签约 2 待公司签约 3、已完成 4、已撤销 5、公司拒绝签约 6、农户拒绝签约
    // a 待农户解约 b 待公司解约 c 已完成解约 d 已撤销解约 e 公司拒绝解约 f 农户拒绝解约)
    private String status;
    // 邀请人id
    private String invitationId;
    // 邀请人
    private String invitationName;
    // 邀请时间
    private Date invitationTime;
    // 解约合同编码
    private String cancelContractNumber;
    // 邀请解约人
    private String cancelContractCreator;
    // 邀请解约时间
    private Date cancelContractTime;
    // 租户签约时间
    private Date tenantSignTime;
    // 项目公司签约时间
    private Date companySignTime;
    // 合同id
    private String fileId;
    // 流程id
    private String signFlowId;
    // 创建解约合同后 第三方接口返回的字段
    private String cancelContractCode;
    // 农户的个人签署人流水号
    private String traderSignerCode;
    // 最新更新时间
    private Date updateTime;

    private String reason;

    private String partnersContractNumber;

    private String contractUrl;

    private String ifClickSign;

    private String tenantName;

    private String idCode;

    private String tenantAddress;

    public String getTenantName() {
        return tenantName;
    }

    public void setTenantName(String tenantName) {
        this.tenantName = tenantName;
    }

    public String getIdCode() {
        return idCode;
    }

    public void setIdCode(String idCode) {
        this.idCode = idCode;
    }

    public String getTenantAddress() {
        return tenantAddress;
    }

    public void setTenantAddress(String tenantAddress) {
        this.tenantAddress = tenantAddress;
    }

    public String getIfClickSign() {
        return ifClickSign;
    }

    public void setIfClickSign(String ifClickSign) {
        this.ifClickSign = ifClickSign;
    }

    public String getContractUrl() {
        return contractUrl;
    }

    public void setContractUrl(String contractUrl) {
        this.contractUrl = contractUrl;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getContractNumber() {
        return contractNumber;
    }

    public void setContractNumber(String contractNumber) {
        this.contractNumber = contractNumber;
    }

    public String getEntryId() {
        return entryId;
    }

    public void setEntryId(String entryId) {
        this.entryId = entryId;
    }

    public String getPowerStationCode() {
        return powerStationCode;
    }

    public void setPowerStationCode(String powerStationCode) {
        this.powerStationCode = powerStationCode;
    }

    public String getTraderId() {
        return traderId;
    }

    public void setTraderId(String traderId) {
        this.traderId = traderId;
    }

    public String getTenantMobile() {
        return tenantMobile;
    }

    public void setTenantMobile(String tenantMobile) {
        this.tenantMobile = tenantMobile;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getInvitationId() {
        return invitationId;
    }

    public void setInvitationId(String invitationId) {
        this.invitationId = invitationId;
    }

    public String getInvitationName() {
        return invitationName;
    }

    public void setInvitationName(String invitationName) {
        this.invitationName = invitationName;
    }

    public Date getInvitationTime() {
        return invitationTime;
    }

    public void setInvitationTime(Date invitationTime) {
        this.invitationTime = invitationTime;
    }

    public String getCancelContractNumber() {
        return cancelContractNumber;
    }

    public void setCancelContractNumber(String cancelContractNumber) {
        this.cancelContractNumber = cancelContractNumber;
    }

    public String getCancelContractCreator() {
        return cancelContractCreator;
    }

    public void setCancelContractCreator(String cancelContractCreator) {
        this.cancelContractCreator = cancelContractCreator;
    }

    public Date getCancelContractTime() {
        return cancelContractTime;
    }

    public void setCancelContractTime(Date cancelContractTime) {
        this.cancelContractTime = cancelContractTime;
    }

    public Date getTenantSignTime() {
        return tenantSignTime;
    }

    public void setTenantSignTime(Date tenantSignTime) {
        this.tenantSignTime = tenantSignTime;
    }

    public Date getCompanySignTime() {
        return companySignTime;
    }

    public void setCompanySignTime(Date companySignTime) {
        this.companySignTime = companySignTime;
    }

    public String getCancelContractCode() {
        return cancelContractCode;
    }

    public void setCancelContractCode(String cancelContractCode) {
        this.cancelContractCode = cancelContractCode;
    }

    public String getTraderSignerCode() {
        return traderSignerCode;
    }

    public void setTraderSignerCode(String traderSignerCode) {
        this.traderSignerCode = traderSignerCode;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getPsnId() {
        return psnId;
    }

    public void setPsnId(String psnId) {
        this.psnId = psnId;
    }

    public String getFileId() {
        return fileId;
    }

    public void setFileId(String fileId) {
        this.fileId = fileId;
    }

    public String getSignFlowId() {
        return signFlowId;
    }

    public void setSignFlowId(String signFlowId) {
        this.signFlowId = signFlowId;
    }

    public String getProjectCompanyId() {
        return projectCompanyId;
    }

    public void setProjectCompanyId(String projectCompanyId) {
        this.projectCompanyId = projectCompanyId;
    }

    public String getProjectCompanyName() {
        return projectCompanyName;
    }

    public void setProjectCompanyName(String projectCompanyName) {
        this.projectCompanyName = projectCompanyName;
    }

    public String getPartnersContractNumber() {
        return partnersContractNumber;
    }

    public void setPartnersContractNumber(String partnersContractNumber) {
        this.partnersContractNumber = partnersContractNumber;
    }
}
