package com.sifang.modules.supply.stock.entity;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.validator.constraints.NotBlank;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = "crm_supply_material")
public class SupplyMaterial implements Serializable {


    private String id;
    @NotBlank(message = "物料代码不能为空")
    private String code;

    private String materialName;

    private String materialTypeId;
    private String materialSpecs;

    private String materialBrand;

    private String materialBrandId;

    private String remarks;

    private String materialAttribute;


    private String status;
    private Date createTime;
    private String createBy;

    private Date newUpdateTime;

    private String unitCode;
    private String kingDeeId;

    private String customerPrice;

    private String unitName;

    //2023-08-09 加入物料属性
    private String materialProperties;

    //2024-03-14 加入外部编码 对应企企的库存编码
    private String qqCode;

    //2024-03-19 加入排序编码
    private Integer sort;

    //最小少申请数量
    private Integer minApplyAmount;

    //2024-07-01 加入物料型号、组件玻型、电池参数
    private String materialModel;

    private String componentShape;

    private String batteryParam;

    public String getMaterialModel() {
        return materialModel;
    }

    public void setMaterialModel(String materialModel) {
        this.materialModel = materialModel;
    }

    public String getComponentShape() {
        return componentShape;
    }

    public void setComponentShape(String componentShape) {
        this.componentShape = componentShape;
    }

    public String getBatteryParam() {
        return batteryParam;
    }

    public void setBatteryParam(String batteryParam) {
        this.batteryParam = batteryParam;
    }

    public Integer getMinApplyAmount() {
        return minApplyAmount;
    }

    public void setMinApplyAmount(Integer minApplyAmount) {
        this.minApplyAmount = minApplyAmount;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getQqCode() {
        return qqCode;
    }

    public void setQqCode(String qqCode) {
        this.qqCode = qqCode;
    }


    public String getMaterialProperties() {
        return materialProperties;
    }

    public void setMaterialProperties(String materialProperties) {
        this.materialProperties = materialProperties;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getUnitCode() {
        return unitCode;
    }

    public void setUnitCode(String unitCode) {
        this.unitCode = unitCode;
    }

    public SupplyMaterial() {
        super();
        this.createTime=new Date();
        this.status="1";
    }

    @Id
    @GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    public String getId() {
        return id;
    }

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

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getMaterialTypeId() {
        return materialTypeId;
    }

    public void setMaterialTypeId(String materialTypeId) {
        this.materialTypeId = materialTypeId;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public Date getNewUpdateTime() {
        return newUpdateTime;
    }

    public void setNewUpdateTime(Date newUpdateTime) {
        this.newUpdateTime = newUpdateTime;
    }

    public String getMaterialSpecs() {
        return materialSpecs;
    }

    public void setMaterialSpecs(String materialSpecs) {
        this.materialSpecs = materialSpecs;
    }

    public String getMaterialBrand() {
        return materialBrand;
    }

    public void setMaterialBrand(String materialBrand) {
        this.materialBrand = materialBrand;
    }

    public String getMaterialAttribute() {
        return materialAttribute;
    }

    public void setMaterialAttribute(String materialAttribute) {
        this.materialAttribute = materialAttribute;
    }

    public String getMaterialName() {
        return materialName;
    }

    public void setMaterialName(String materialName) {
        this.materialName = materialName;
    }

    public String getKingDeeId() {
        return kingDeeId;
    }

    public void setKingDeeId(String kingDeeId) {
        this.kingDeeId = kingDeeId;
    }

    public String getMaterialBrandId() {
        return materialBrandId;
    }

    public void setMaterialBrandId(String materialBrandId) {
        this.materialBrandId = materialBrandId;
    }

    public String getCustomerPrice() {
        return customerPrice;
    }

    public void setCustomerPrice(String customerPrice) {
        this.customerPrice = customerPrice;
    }
}
