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

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

public class ContractDetailTable extends Table<ContractDetail> {

    public static ContractDetailTable contract_detail = new ContractDetailTable();
    public static ContractDetailTable cd = contract_detail.as("cd");

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

    /**
     * 合同id
     */
    public QueryColumn contractId = this.field(ContractDetail::getContractId);

    /**
     * 商品id
     */
    public QueryColumn spuId = this.field(ContractDetail::getSpuId);

    /**
     * 大宗商品规格Id
     */
    public QueryColumn bulkGoodsSpecId = this.field(ContractDetail::getBulkGoodsSpecId);

    /**
     * 商品编码
     */
    public QueryColumn spuCode = this.field(ContractDetail::getSpuCode);

    /**
     * 商品名
     */
    public QueryColumn spuName = this.field(ContractDetail::getSpuName);

    /**
     * 商品规格
     */
    public QueryColumn spec = this.field(ContractDetail::getSpec);

    /**
     * 颜色
     */
    public QueryColumn colour = this.field(ContractDetail::getColour);

    /**
     * 商品材质
     */
    public QueryColumn material = this.field(ContractDetail::getMaterial);

    /**
     * 数量
     */
    public QueryColumn quantity = this.field(ContractDetail::getQuantity);

    /**
     * 购买单价
     */
    public QueryColumn unitPrice = this.field(ContractDetail::getUnitPrice);

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

    /**
     * 成本价
     */
    public QueryColumn costPrice = this.field(ContractDetail::getCostPrice);

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

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

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

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

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

    private ContractDetailTable() {
        super(ContractDetail.class);
    }

    private ContractDetailTable(String alias) {
        super(ContractDetail.class, alias);
    }

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

}
