package com.scm.contract.model.management;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.set.direwolf.core.mybatis.BaseEntity;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author zuo
 * @date 2024/6/13 12:50
 */
@Data
public class Materiel extends BaseEntity<Materiel, String> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private String id;

    /**
     * 商品编码
     */
    @TableField(value = "`goodsCode`")
    private String goodsCode;

    /**
     * 物料编码
     */
    @TableField(value = "`materielCode`")
    private String materielCode;

    /**
     * 物料名称
     */
    @TableField(value = "`goodsName`")
    private String goodsName;

    /**
     * 大类id
     */
    @TableField(value = "`bigCategoryId`")
    private String bigCategoryId;


    /**
     * 中类id
     */
    @TableField(value = "`middleCategoryId`")
    private String middleCategoryId;

    /**
     * 小类id
     */
    @TableField(value = "`smallCategoryId`")
    private String smallCategoryId;

    /**
     * 物料描述
     */
    @TableField(value = "`materielDescribe`")
    private String materielDescribe;

    /**
     * 品牌
     */
    @TableField(value = "`brand`")
    private String brand;

    /**
     * 生产商
     */
    @TableField(value = "`manufacturer`")
    private String manufacturer;


    /**
     * 供应商ID
     */
    @TableField(value = "`providerId`")
    private String providerId;

    /**
     * 规格
     */
    @TableField(value = "`specifications`")
    private String specifications;

    /**
     * 最小包装数量
     */
    @TableField(value = "`minimumPackingNumber`")
    private Integer minimumPackingNumber;

    /**
     * 最小包装单元
     */
    @TableField(value = "`minimumPackingUnit`")
    private String minimumPackingUnit;


    /**
     * 标签类型ID
     */
    @TableField(value = "`tagTypeId`")
    private String tagTypeId;


    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy/MM/dd HH:mm:ss")
    @TableField(value = "`createTime`")
    private Date cTime;

    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy/MM/dd HH:mm:ss")
    @TableField(value = "`updateTime`")
    private Date updateTime;


    @TableField(exist = false)
    private List<List<String>> order;

    /**
     * 标签类型ID
     */
    @TableField(exist = false)
    private String tagTypeName;

    /**
     * 供应商名称
     */
    @TableField(exist = false)
    private String providerName;

    /**
     * 大类
     */
    @TableField(exist = false)
    private String bigCategoryName;


    /**
     * 中类
     */
    @TableField(exist = false)
    private String middleCategoryName;

    /**
     * 小类
     */
    @TableField(exist = false)
    private String smallCategoryName;

    public Materiel() {
    }

    public String getId() {
        return id;
    }

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

    public String getGoodsCode() {
        return goodsCode;
    }

    public void setGoodsCode(String goodsCode) {
        this.goodsCode = goodsCode;
    }

    public String getMaterielCode() {
        return materielCode;
    }

    public void setMaterielCode(String materielCode) {
        this.materielCode = materielCode;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getBigCategoryId() {
        return bigCategoryId;
    }

    public void setBigCategoryId(String bigCategoryId) {
        this.bigCategoryId = bigCategoryId;
    }

    public String getMiddleCategoryId() {
        return middleCategoryId;
    }

    public void setMiddleCategoryId(String middleCategoryId) {
        this.middleCategoryId = middleCategoryId;
    }

    public String getProviderName() {
        return providerName;
    }

    public void setProviderName(String providerName) {
        this.providerName = providerName;
    }

    public String getSmallCategoryId() {
        return smallCategoryId;
    }

    public void setSmallCategoryId(String smallCategoryId) {
        this.smallCategoryId = smallCategoryId;
    }

    public String getBigCategoryName() {
        return bigCategoryName;
    }

    public void setBigCategoryName(String bigCategoryName) {
        this.bigCategoryName = bigCategoryName;
    }

    public String getMiddleCategoryName() {
        return middleCategoryName;
    }

    public void setMiddleCategoryName(String middleCategoryName) {
        this.middleCategoryName = middleCategoryName;
    }

    public String getSmallCategoryName() {
        return smallCategoryName;
    }

    public void setSmallCategoryName(String smallCategoryName) {
        this.smallCategoryName = smallCategoryName;
    }

    public String getMaterielDescribe() {
        return materielDescribe;
    }

    public void setMaterielDescribe(String materielDescribe) {
        this.materielDescribe = materielDescribe;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getProviderId() {
        return providerId;
    }

    public void setProviderId(String providerId) {
        this.providerId = providerId;
    }

    public String getSpecifications() {
        return specifications;
    }

    public void setSpecifications(String specifications) {
        this.specifications = specifications;
    }

    public Integer getMinimumPackingNumber() {
        return minimumPackingNumber;
    }

    public void setMinimumPackingNumber(Integer minimumPackingNumber) {
        this.minimumPackingNumber = minimumPackingNumber;
    }

    public String getMinimumPackingUnit() {
        return minimumPackingUnit;
    }

    public void setMinimumPackingUnit(String minimumPackingUnit) {
        this.minimumPackingUnit = minimumPackingUnit;
    }

    public String getTagTypeId() {
        return tagTypeId;
    }

    public void setTagTypeId(String tagTypeId) {
        this.tagTypeId = tagTypeId;
    }

    public Date getcTime() {
        return cTime;
    }

    public void setcTime(Date cTime) {
        this.cTime = cTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

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

    public List<List<String>> getOrder() {
        return order;
    }

    public void setOrder(List<List<String>> order) {
        this.order = order;
    }

    public String getTagTypeName() {
        return tagTypeName;
    }

    public void setTagTypeName(String tagTypeName) {
        this.tagTypeName = tagTypeName;
    }
}
