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

    /**
     * 资金流水id
     */
    public QueryColumn capitalTransactionsId = this.field(ContractInfo::getCapitalTransactionsId);

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

    /**
     * 客户单位名称
     */
    public QueryColumn customerCorporationName = this.field(ContractInfo::getCustomerCorporationName);

    /**
     * 客户单位地址
     */
    public QueryColumn customerCorporationAddress = this.field(ContractInfo::getCustomerCorporationAddress);

    /**
     * 客户法定代表人
     */
    public QueryColumn customerLegalRepresentative = this.field(ContractInfo::getCustomerLegalRepresentative);

    /**
     * 客户业务联系人
     */
    public QueryColumn customerContactPerson = this.field(ContractInfo::getCustomerContactPerson);

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

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

    /**
     * 合同总金额
     */
    public QueryColumn totalAmount = this.field(ContractInfo::getTotalAmount);

    /**
     * 税率
     */
    public QueryColumn taxRate = this.field(ContractInfo::getTaxRate);

    /**
     * 运费
     */
    public QueryColumn freight = this.field(ContractInfo::getFreight);

    /**
     * 收货地址
     */
    public QueryColumn deliveryAddress = this.field(ContractInfo::getDeliveryAddress);

    /**
     * 创建人
     */
    public QueryColumn createUser = this.field(ContractInfo::getCreateUser);

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

    /**
     * 更新人
     */
    public QueryColumn updateUser = this.field(ContractInfo::getUpdateUser);

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

    /**
     * 逻辑删除标记
     */
    public QueryColumn delFlag = this.field(ContractInfo::getDelFlag);

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

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

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

}
