package com.zzsmart.qomo.kn.cost.manage.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 物料采购单价
 * </p>
 *
 * @author  
 * @since 2024-06-19
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("cost_purchase_price")
public class CostPurchasePrice implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    /**
     * 物料编码
     */
    @TableField("material_code")
    private String materialCode;

    /**
     * 物料名称
     */
    @TableField("material_name")
    private String materialName;

    /**
     * 规格型号
     */
    @TableField("specification")
    private String specification;

    /**
     * 采购类型
     */
    @TableField("purchase_type")
    private String purchaseType;

    /**
     * 供应商代码
     */
    @TableField("supplier_code")
    private String supplierCode;

    /**
     * 供应商名称
     */
    @TableField("supplier_name")
    private String supplierName;

    /**
     * 采购价时间
     */
    @TableField("purchase_price_time")
    private LocalDateTime purchasePriceTime;

    /**
     * 采购价合计
     */
    @TableField("purchase_price_sum")
    private BigDecimal purchasePriceSum;

    /**
     * 最低采购单价
     */
    @TableField("min_purchase_price")
    private BigDecimal minPurchasePrice;

    /**
     * 最新采购单价
     */
    @TableField("last_purchase_price")
    private BigDecimal lastPurchasePrice;

    /**
     * 平均采购价
     */
    @TableField("purchase_price_avg")
    private BigDecimal purchasePriceAvg;

    /**
     * 直接材料费
     */
    @TableField("direct_material_cost")
    private BigDecimal directMaterialCost;

    /**
     * 工艺加工费用
     */
    @TableField("process_cost")
    private BigDecimal processCost;

    /**
     * 运输费用
     */
    @TableField("transport_cost")
    private BigDecimal transportCost;

    /**
     * 模具费用
     */
    @TableField("mould_cost")
    private BigDecimal mouldCost;

    /**
     * 其他费用
     */
    @TableField("orther_cost")
    private BigDecimal ortherCost;

    /**
     * 税率
     */
    @TableField("tax_tate")
    private BigDecimal taxTate;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 修改人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;


    public static final String ID = "id";

    public static final String MATERIAL_CODE = "material_code";

    public static final String MATERIAL_NAME = "material_name";

    public static final String SPECIFICATION = "specification";

    public static final String PURCHASE_TYPE = "purchase_type";

    public static final String SUPPLIER_CODE = "supplier_code";

    public static final String SUPPLIER_NAME = "supplier_name";

    public static final String PURCHASE_PRICE_TIME = "purchase_price_time";

    public static final String PURCHASE_PRICE_SUM = "purchase_price_sum";

    public static final String MIN_PURCHASE_PRICE = "min_purchase_price";

    public static final String LAST_PURCHASE_PRICE = "last_purchase_price";

    public static final String PURCHASE_PRICE_AVG = "purchase_price_avg";

    public static final String DIRECT_MATERIAL_COST = "direct_material_cost";

    public static final String PROCESS_COST = "process_cost";

    public static final String TRANSPORT_COST = "transport_cost";

    public static final String MOULD_COST = "mould_cost";

    public static final String ORTHER_COST = "orther_cost";

    public static final String TAX_TATE = "tax_tate";

    public static final String CREATE_BY = "create_by";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_BY = "update_by";

    public static final String UPDATE_TIME = "update_time";

    public static final String REMARK = "remark";

}
