package com.jy.business.contract.model.table;

import com.jy.business.contract.model.entity.ContractInfo;
import com.jy.framework.mybatis.join.QueryColumn;
import com.jy.framework.mybatis.join.Table;

public class ContractInfoTable extends Table<ContractInfo> {

    public static ContractInfoTable contract_info = new ContractInfoTable();
    public static ContractInfoTable ci = contract_info.as("ci");

    /**
     * id
     */
    public QueryColumn id = this.field(ContractInfo::getId);

    /**
     * 合同编号
     */
    public QueryColumn contractNo = this.field(ContractInfo::getContractNo);

    /**
     * 是否含税（1是 0否）
     */
    public QueryColumn isTax = this.field(ContractInfo::getIsTax);

    /**
     * 合同状态 10进行中 20已完成
     */
    public QueryColumn status = this.field(ContractInfo::getStatus);

    /**
     * 卖方公司名称
     */
    public QueryColumn sellerCompany = this.field(ContractInfo::getSellerCompany);

    /**
     * 卖方地址
     */
    public QueryColumn sellerAddress = this.field(ContractInfo::getSellerAddress);

    /**
     * 卖方国家
     */
    public QueryColumn sellerCountry = this.field(ContractInfo::getSellerCountry);

    /**
     * 卖方联系方式
     */
    public QueryColumn sellerContact = this.field(ContractInfo::getSellerContact);

    /**
     * 支付类型 1银行卡支付 2支付宝支付
     */
    public QueryColumn paymentType = this.field(ContractInfo::getPaymentType);

    /**
     * 卖家账户名
     */
    public QueryColumn sellAccountName = this.field(ContractInfo::getSellAccountName);

    /**
     * 卖家开户银行
     */
    public QueryColumn sellBankName = this.field(ContractInfo::getSellBankName);

    /**
     * 卖家银行账号
     */
    public QueryColumn sellBankAccount = this.field(ContractInfo::getSellBankAccount);

    /**
     * 卖家联行号
     */
    public QueryColumn sellBankCnapsCode = this.field(ContractInfo::getSellBankCnapsCode);

    /**
     * 卖家账户名称（外汇信息）
     */
    public QueryColumn sellBeneficiaryName = this.field(ContractInfo::getSellBeneficiaryName);

    /**
     * 卖家开户银行（外汇信息）
     */
    public QueryColumn sellBeneficiaryBank = this.field(ContractInfo::getSellBeneficiaryBank);

    /**
     * 卖家账号（外汇信息）
     */
    public QueryColumn sellBeneficiaryBankAccount = this.field(ContractInfo::getSellBeneficiaryBankAccount);

    /**
     * 卖家开户银行地址（外汇信息）
     */
    public QueryColumn sellBeneficiaryBankAddress = this.field(ContractInfo::getSellBeneficiaryBankAddress);

    /**
     * 卖家银行代码（外汇信息）
     */
    public QueryColumn sellSwiftCode = this.field(ContractInfo::getSellSwiftCode);

    /**
     * 卖家收款人地址（外汇信息）
     */
    public QueryColumn sellBeneficiaryAddress = this.field(ContractInfo::getSellBeneficiaryAddress);

    /**
     * 卖家支付宝账号
     */
    public QueryColumn sellAlipayAccount = this.field(ContractInfo::getSellAlipayAccount);

    /**
     * 签订日期
     */
    public QueryColumn signingDate = this.field(ContractInfo::getSigningDate);

    /**
     * 开始日期
     */
    public QueryColumn startDate = this.field(ContractInfo::getStartDate);

    /**
     * 结束日期
     */
    public QueryColumn endDate = this.field(ContractInfo::getEndDate);

    /**
     * 报价有效期(天)
     */
    public QueryColumn validityDate = this.field(ContractInfo::getValidityDate);

    /**
     * 客户名称
     */
    public QueryColumn customerName = this.field(ContractInfo::getCustomerName);

    /**
     * 客户联系电话
     */
    public QueryColumn customerTelNum = this.field(ContractInfo::getCustomerTelNum);

    /**
     * 客户国家
     */
    public QueryColumn customerCountry = this.field(ContractInfo::getCustomerCountry);

    /**
     * 客户地址
     */
    public QueryColumn customerAddress = this.field(ContractInfo::getCustomerAddress);

    /**
     * 目的地
     */
    public QueryColumn destination = this.field(ContractInfo::getDestination);

    /**
     * 货运方式
     */
    public QueryColumn shippingMethod = this.field(ContractInfo::getShippingMethod);

    /**
     * 卸货港
     */
    public QueryColumn placeOfDischarge = this.field(ContractInfo::getPlaceOfDischarge);

    /**
     * 交货条款
     */
    public QueryColumn deliveryTerms = this.field(ContractInfo::getDeliveryTerms);

    /**
     * 交货时间(天)
     */
    public QueryColumn deliveryTime = this.field(ContractInfo::getDeliveryTime);

    /**
     * 付款条件
     */
    public QueryColumn paymentTerms = this.field(ContractInfo::getPaymentTerms);

    /**
     * 保修时间(天)
     */
    public QueryColumn warrantyPeriod = this.field(ContractInfo::getWarrantyPeriod);

    /**
     * 币种
     */
    public QueryColumn currency = this.field(ContractInfo::getCurrency);

    /**
     * 汇率
     */
    public QueryColumn exchangeRate = this.field(ContractInfo::getExchangeRate);

    /**
     * 运费
     */
    public QueryColumn freightPrice = this.field(ContractInfo::getFreightPrice);

    /**
     * 保险费
     */
    public QueryColumn insurance = this.field(ContractInfo::getInsurance);

    /**
     * 金额
     */
    public QueryColumn amount = this.field(ContractInfo::getAmount);

    /**
     * 是否结算
     */
    public QueryColumn hasSettlement = this.field(ContractInfo::getHasSettlement);

    /**
     * 结算利润
     */
    public QueryColumn settlementProfit = this.field(ContractInfo::getSettlementProfit);

    /**
     * 备注
     */
    public QueryColumn remark = this.field(ContractInfo::getRemark);

    /**
     * 创建者
     */
    public QueryColumn createBy = this.field(ContractInfo::getCreateBy);

    /**
     * 创建时间
     */
    public QueryColumn createTime = this.field(ContractInfo::getCreateTime);

    /**
     * 更新者
     */
    public QueryColumn updateBy = this.field(ContractInfo::getUpdateBy);

    /**
     * 最后更新时间
     */
    public QueryColumn updateTime = this.field(ContractInfo::getUpdateTime);

    private ContractInfoTable() {
        super(ContractInfo.class);
    }

    private ContractInfoTable(String alias) {
        super(ContractInfo.class, alias);
    }

    public ContractInfoTable as(String alias) {
        return new ContractInfoTable(alias);
    }

}
