package com.hw.jindie.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;

/**
 * 物料信息对象 mes_base_material_info
 *
 * @author xins
 * @date 2024-01-09
 */
public class MesBaseMaterialInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键标识 */
    private Long materialId;

    /** ERP的主键;对应FMATERIALID */
    @Excel(name = "ERP的主键;对应FMATERIALID")
    private Long erpId;

    /** 物料编码;对应ERP的FNumber */
    @Excel(name = "物料编码;对应ERP的FNumber")
    private String materialCode;

    /** 旧物料编码 */
    @Excel(name = "旧物料编码")
    private String oldMaterialCode;

    /** 物料名称;对应ERP的FName */
    @Excel(name = "物料名称;对应ERP的FName")
    private String materialName;

    /** 物料大类(1,原材料 2,半成品 3,成品) */
    @Excel(name = "物料大类(1,原材料 2,半成品 3,成品)")
    private String materialCategories;

    /** 物料小类;暂时不使用，预留 */
    @Excel(name = "物料小类;暂时不使用，预留")
    private String materialSubclass;

    /** 物料类型，关联mes_base_material_type的material_type_id */
    @Excel(name = "物料类型，关联mes_base_material_type的material_type_id")
    private Long materialTypeId;

    /** 批次标识，(0否，1是) */
    @Excel(name = "批次标识，(0否，1是)")
    private String batchFlag;

    /** 计量单位ID;对应FBaseUnitId */
    @Excel(name = "计量单位ID;对应FBaseUnitId")
    private Long materialUnitId;

    /** 计量单位名称 */
    @Excel(name = "计量单位名称")
    private String materialUnit;

    /** 物料组 */
    @Excel(name = "物料组")
    private String materialMatkl;

    /** 物料规格;对应FSpecification */
    @Excel(name = "物料规格;对应FSpecification")
    private String materialSpec;

    /** 净重;FNETWEIGHT */
    @Excel(name = "净重;FNETWEIGHT")
    private BigDecimal netWeight;

    /** 毛重;FGROSSWEIGHT */
    @Excel(name = "毛重;FGROSSWEIGHT")
    private BigDecimal grossWeight;

    /** 所属工厂，关联mes_base_factory_info的factory_id */
    @Excel(name = "所属工厂，关联mes_base_factory_info的factory_id")
    private Long factoryId;

    /** 创建组织;对应FCreateOrgId */
    @Excel(name = "创建组织;对应FCreateOrgId")
    private Long createOrgId;

    /** 使用组织;对应FUseOrgId */
    @Excel(name = "使用组织;对应FUseOrgId")
    private Long useOrgId;

    /** 所属产线;多个用,隔开 */
    @Excel(name = "所属产线;多个用,隔开")
    private String prodlineId;

    /** 激活标识：1-是；0-否 */
    @Excel(name = "激活标识：1-是；0-否")
    private String activeFlag;

    /** 删除标识(0否，1是) */
    @Excel(name = "删除标识(0否，1是)")
    private String deletedFlag;

    /** 审核日期;对应FApproveDate */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期;对应FApproveDate", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approveDate;

    /** erp最后更新日期;对应FModifyDate */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "erp最后更新日期;对应FModifyDate", width = 30, dateFormat = "yyyy-MM-dd")
    private Date erpModifyDate;

    public void setMaterialId(Long materialId)
    {
        this.materialId = materialId;
    }

    public Long getMaterialId()
    {
        return materialId;
    }
    public void setErpId(Long erpId)
    {
        this.erpId = erpId;
    }

    public Long getErpId()
    {
        return erpId;
    }
    public void setMaterialCode(String materialCode)
    {
        this.materialCode = materialCode;
    }

    public String getMaterialCode()
    {
        return materialCode;
    }
    public void setOldMaterialCode(String oldMaterialCode)
    {
        this.oldMaterialCode = oldMaterialCode;
    }

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

    public String getMaterialName()
    {
        return materialName;
    }
    public void setMaterialCategories(String materialCategories)
    {
        this.materialCategories = materialCategories;
    }

    public String getMaterialCategories()
    {
        return materialCategories;
    }
    public void setMaterialSubclass(String materialSubclass)
    {
        this.materialSubclass = materialSubclass;
    }

    public String getMaterialSubclass()
    {
        return materialSubclass;
    }
    public void setMaterialTypeId(Long materialTypeId)
    {
        this.materialTypeId = materialTypeId;
    }

    public Long getMaterialTypeId()
    {
        return materialTypeId;
    }
    public void setBatchFlag(String batchFlag)
    {
        this.batchFlag = batchFlag;
    }

    public String getBatchFlag()
    {
        return batchFlag;
    }
    public void setMaterialUnitId(Long materialUnitId)
    {
        this.materialUnitId = materialUnitId;
    }

    public Long getMaterialUnitId()
    {
        return materialUnitId;
    }
    public void setMaterialUnit(String materialUnit)
    {
        this.materialUnit = materialUnit;
    }

    public String getMaterialUnit()
    {
        return materialUnit;
    }
    public void setMaterialMatkl(String materialMatkl)
    {
        this.materialMatkl = materialMatkl;
    }

    public String getMaterialMatkl()
    {
        return materialMatkl;
    }
    public void setMaterialSpec(String materialSpec)
    {
        this.materialSpec = materialSpec;
    }

    public String getMaterialSpec()
    {
        return materialSpec;
    }
    public void setNetWeight(BigDecimal netWeight)
    {
        this.netWeight = netWeight;
    }

    public BigDecimal getNetWeight()
    {
        return netWeight;
    }
    public void setGrossWeight(BigDecimal grossWeight)
    {
        this.grossWeight = grossWeight;
    }

    public BigDecimal getGrossWeight()
    {
        return grossWeight;
    }
    public void setFactoryId(Long factoryId)
    {
        this.factoryId = factoryId;
    }

    public Long getFactoryId()
    {
        return factoryId;
    }
    public void setCreateOrgId(Long createOrgId)
    {
        this.createOrgId = createOrgId;
    }

    public Long getCreateOrgId()
    {
        return createOrgId;
    }
    public void setUseOrgId(Long useOrgId)
    {
        this.useOrgId = useOrgId;
    }

    public Long getUseOrgId()
    {
        return useOrgId;
    }
    public void setProdlineId(String prodlineId)
    {
        this.prodlineId = prodlineId;
    }

    public String getProdlineId()
    {
        return prodlineId;
    }
    public void setActiveFlag(String activeFlag)
    {
        this.activeFlag = activeFlag;
    }

    public String getActiveFlag()
    {
        return activeFlag;
    }
    public void setDeletedFlag(String deletedFlag)
    {
        this.deletedFlag = deletedFlag;
    }

    public String getDeletedFlag()
    {
        return deletedFlag;
    }
    public void setApproveDate(Date approveDate)
    {
        this.approveDate = approveDate;
    }

    public Date getApproveDate()
    {
        return approveDate;
    }
    public void setErpModifyDate(Date erpModifyDate)
    {
        this.erpModifyDate = erpModifyDate;
    }

    public Date getErpModifyDate()
    {
        return erpModifyDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("materialId", getMaterialId())
            .append("erpId", getErpId())
            .append("materialCode", getMaterialCode())
            .append("oldMaterialCode", getOldMaterialCode())
            .append("materialName", getMaterialName())
            .append("materialCategories", getMaterialCategories())
            .append("materialSubclass", getMaterialSubclass())
            .append("materialTypeId", getMaterialTypeId())
            .append("batchFlag", getBatchFlag())
            .append("materialUnitId", getMaterialUnitId())
            .append("materialUnit", getMaterialUnit())
            .append("materialMatkl", getMaterialMatkl())
            .append("materialSpec", getMaterialSpec())
            .append("netWeight", getNetWeight())
            .append("grossWeight", getGrossWeight())
            .append("factoryId", getFactoryId())
            .append("createOrgId", getCreateOrgId())
            .append("useOrgId", getUseOrgId())
            .append("prodlineId", getProdlineId())
            .append("activeFlag", getActiveFlag())
            .append("deletedFlag", getDeletedFlag())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("approveDate", getApproveDate())
            .append("erpModifyDate", getErpModifyDate())
            .toString();
    }
}
