/**
* 文件：MateriaBomItemEntity.java
* 版本：1.0.0
* 日期：
* Copyright &reg; 
* All right reserved.
*/

package com.mortals.xhx.module.materia.model;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;

/**
 * <p>Title: 物料BOM单项表</p>
 * <p>Description: MateriaBomItemEntity  </p>
 * <p>Copyright: Copyright &reg;  </p>
 * <p>Company: </p>
 * @author 
 * @version 1.0.0
 */
public class MateriaBomItemEntity extends BaseEntityLong{
	private static final long serialVersionUID = 1614063230560L;
	
	/** bom表ID */
	private Long bomId;

	/** 物料ID */
	private Long materiaId;

	/** 物料编码 */
	private String materiaCode;

	/** 物料名称 */
	private String materiaName;

	/** 物料bom ID，如是再组件，需要填写 */
	private Long materiaBomId;

	/** 排序号，默认0 */
	private Long orderNo;

	/** 分组名称，显示时相同分组名称的按排序号显示在一起，默认null */
	private String groupName;

	/** 用量，默认1 */
	private Long useNum;

	/** 损耗率，0-100，百分比，默认0 */
	private Integer lossRate;

	/** 必选料，0否，1是，默认1 */
	private Integer required;

	/** 补给方式，参数配置-MateriaSupplyType10外购，20自产，30外协默认10 */
	private Integer supplyType;

	/** 供应商 */
	private Long supplierId;

	/** 变更时间 */
	private Date updateTime;

	/** 变更用户loginName */
	private String updateUser;

	/** 创建时间 */
	private Date createTime;

	/** 创建用户loginName */
	private String createUser;

	/** 扩展字段，数据意义参看扩展字段定义表 */
	private Long field01;

	/** 扩展字段 */
	private Long field02;

	/** 扩展字段 */
	private Long field03;

	/** 扩展字段 */
	private Long field04;

	/** 扩展字段 */
	private Long field05;

	/** 扩展字段 */
	private Long field06;

	/** 扩展字段 */
	private Long field07;

	/** 扩展字段 */
	private Long field08;

	/** 扩展字段 */
	private Long field09;

	/** 扩展字段 */
	private Long field10;

	/** 扩展字段 */
	private String field11;

	/** 扩展字段 */
	private String field12;

	/** 扩展字段 */
	private String field13;

	/** 扩展字段 */
	private String field14;

	/** 扩展字段 */
	private String field15;

	/** 扩展字段 */
	private String field16;

	/** 扩展字段 */
	private String field17;

	/** 扩展字段 */
	private String field18;

	/** 扩展字段 */
	private String field19;

	/** 扩展字段 */
	private String field20;


	public MateriaBomItemEntity(){
		
	}
	/**
	 * 获取 bom表ID
	 * @return bomId
	 */
	public Long getBomId(){
		return this.bomId;
	}

	/**
	 * 设置 bom表ID
	 * @param bomId
	 */
	public void setBomId(Long bomId){
		this.bomId = bomId;
	}

	/**
	 * 获取 物料ID
	 * @return materiaId
	 */
	public Long getMateriaId(){
		return this.materiaId;
	}

	/**
	 * 设置 物料ID
	 * @param materiaId
	 */
	public void setMateriaId(Long materiaId){
		this.materiaId = materiaId;
	}

	/**
	 * 获取 物料编码
	 * @return materiaCode
	 */
	public String getMateriaCode(){
		return this.materiaCode;
	}

	/**
	 * 设置 物料编码
	 * @param materiaCode
	 */
	public void setMateriaCode(String materiaCode){
		this.materiaCode = materiaCode;
	}

	/**
	 * 获取 物料名称
	 * @return materiaName
	 */
	public String getMateriaName(){
		return this.materiaName;
	}

	/**
	 * 设置 物料名称
	 * @param materiaName
	 */
	public void setMateriaName(String materiaName){
		this.materiaName = materiaName;
	}

	/**
	 * 获取 物料bom ID，如是再组件，需要填写
	 * @return materiaBomId
	 */
	public Long getMateriaBomId(){
		return this.materiaBomId;
	}

	/**
	 * 设置 物料bom ID，如是再组件，需要填写
	 * @param materiaBomId
	 */
	public void setMateriaBomId(Long materiaBomId){
		this.materiaBomId = materiaBomId;
	}

	/**
	 * 获取 排序号，默认0
	 * @return orderNo
	 */
	public Long getOrderNo(){
		return this.orderNo;
	}

	/**
	 * 设置 排序号，默认0
	 * @param orderNo
	 */
	public void setOrderNo(Long orderNo){
		this.orderNo = orderNo;
	}

	/**
	 * 获取 分组名称，显示时相同分组名称的按排序号显示在一起，默认null
	 * @return groupName
	 */
	public String getGroupName(){
		return this.groupName;
	}

	/**
	 * 设置 分组名称，显示时相同分组名称的按排序号显示在一起，默认null
	 * @param groupName
	 */
	public void setGroupName(String groupName){
		this.groupName = groupName;
	}

	/**
	 * 获取 用量，默认1
	 * @return useNum
	 */
	public Long getUseNum(){
		return this.useNum;
	}

	/**
	 * 设置 用量，默认1
	 * @param useNum
	 */
	public void setUseNum(Long useNum){
		this.useNum = useNum;
	}

	/**
	 * 获取 损耗率，0-100，百分比，默认0
	 * @return lossRate
	 */
	public Integer getLossRate(){
		return this.lossRate;
	}

	/**
	 * 设置 损耗率，0-100，百分比，默认0
	 * @param lossRate
	 */
	public void setLossRate(Integer lossRate){
		this.lossRate = lossRate;
	}

	/**
	 * 获取 必选料，0否，1是，默认1
	 * @return required
	 */
	public Integer getRequired(){
		return this.required;
	}

	/**
	 * 设置 必选料，0否，1是，默认1
	 * @param required
	 */
	public void setRequired(Integer required){
		this.required = required;
	}

	/**
	 * 获取 补给方式，参数配置-MateriaSupplyType10外购，20自产，30外协默认10
	 * @return supplyType
	 */
	public Integer getSupplyType(){
		return this.supplyType;
	}

	/**
	 * 设置 补给方式，参数配置-MateriaSupplyType10外购，20自产，30外协默认10
	 * @param supplyType
	 */
	public void setSupplyType(Integer supplyType){
		this.supplyType = supplyType;
	}

	/**
	 * 获取 供应商
	 * @return supplierId
	 */
	public Long getSupplierId(){
		return this.supplierId;
	}

	/**
	 * 设置 供应商
	 * @param supplierId
	 */
	public void setSupplierId(Long supplierId){
		this.supplierId = supplierId;
	}

	/**
	 * 获取 变更时间
	 * @return updateTime
	 */
	public Date getUpdateTime(){
		return this.updateTime;
	}

	/**
	 * 设置 变更时间
	 * @param updateTime
	 */
	public void setUpdateTime(Date updateTime){
		this.updateTime = updateTime;
	}

	/**
	 * 获取 变更用户loginName
	 * @return updateUser
	 */
	public String getUpdateUser(){
		return this.updateUser;
	}

	/**
	 * 设置 变更用户loginName
	 * @param updateUser
	 */
	public void setUpdateUser(String updateUser){
		this.updateUser = updateUser;
	}

	/**
	 * 获取 创建时间
	 * @return createTime
	 */
	public Date getCreateTime(){
		return this.createTime;
	}

	/**
	 * 设置 创建时间
	 * @param createTime
	 */
	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	/**
	 * 获取 创建用户loginName
	 * @return createUser
	 */
	public String getCreateUser(){
		return this.createUser;
	}

	/**
	 * 设置 创建用户loginName
	 * @param createUser
	 */
	public void setCreateUser(String createUser){
		this.createUser = createUser;
	}

	/**
	 * 获取 扩展字段，数据意义参看扩展字段定义表
	 * @return field01
	 */
	public Long getField01(){
		return this.field01;
	}

	/**
	 * 设置 扩展字段，数据意义参看扩展字段定义表
	 * @param field01
	 */
	public void setField01(Long field01){
		this.field01 = field01;
	}

	/**
	 * 获取 扩展字段
	 * @return field02
	 */
	public Long getField02(){
		return this.field02;
	}

	/**
	 * 设置 扩展字段
	 * @param field02
	 */
	public void setField02(Long field02){
		this.field02 = field02;
	}

	/**
	 * 获取 扩展字段
	 * @return field03
	 */
	public Long getField03(){
		return this.field03;
	}

	/**
	 * 设置 扩展字段
	 * @param field03
	 */
	public void setField03(Long field03){
		this.field03 = field03;
	}

	/**
	 * 获取 扩展字段
	 * @return field04
	 */
	public Long getField04(){
		return this.field04;
	}

	/**
	 * 设置 扩展字段
	 * @param field04
	 */
	public void setField04(Long field04){
		this.field04 = field04;
	}

	/**
	 * 获取 扩展字段
	 * @return field05
	 */
	public Long getField05(){
		return this.field05;
	}

	/**
	 * 设置 扩展字段
	 * @param field05
	 */
	public void setField05(Long field05){
		this.field05 = field05;
	}

	/**
	 * 获取 扩展字段
	 * @return field06
	 */
	public Long getField06(){
		return this.field06;
	}

	/**
	 * 设置 扩展字段
	 * @param field06
	 */
	public void setField06(Long field06){
		this.field06 = field06;
	}

	/**
	 * 获取 扩展字段
	 * @return field07
	 */
	public Long getField07(){
		return this.field07;
	}

	/**
	 * 设置 扩展字段
	 * @param field07
	 */
	public void setField07(Long field07){
		this.field07 = field07;
	}

	/**
	 * 获取 扩展字段
	 * @return field08
	 */
	public Long getField08(){
		return this.field08;
	}

	/**
	 * 设置 扩展字段
	 * @param field08
	 */
	public void setField08(Long field08){
		this.field08 = field08;
	}

	/**
	 * 获取 扩展字段
	 * @return field09
	 */
	public Long getField09(){
		return this.field09;
	}

	/**
	 * 设置 扩展字段
	 * @param field09
	 */
	public void setField09(Long field09){
		this.field09 = field09;
	}

	/**
	 * 获取 扩展字段
	 * @return field10
	 */
	public Long getField10(){
		return this.field10;
	}

	/**
	 * 设置 扩展字段
	 * @param field10
	 */
	public void setField10(Long field10){
		this.field10 = field10;
	}

	/**
	 * 获取 扩展字段
	 * @return field11
	 */
	public String getField11(){
		return this.field11;
	}

	/**
	 * 设置 扩展字段
	 * @param field11
	 */
	public void setField11(String field11){
		this.field11 = field11;
	}

	/**
	 * 获取 扩展字段
	 * @return field12
	 */
	public String getField12(){
		return this.field12;
	}

	/**
	 * 设置 扩展字段
	 * @param field12
	 */
	public void setField12(String field12){
		this.field12 = field12;
	}

	/**
	 * 获取 扩展字段
	 * @return field13
	 */
	public String getField13(){
		return this.field13;
	}

	/**
	 * 设置 扩展字段
	 * @param field13
	 */
	public void setField13(String field13){
		this.field13 = field13;
	}

	/**
	 * 获取 扩展字段
	 * @return field14
	 */
	public String getField14(){
		return this.field14;
	}

	/**
	 * 设置 扩展字段
	 * @param field14
	 */
	public void setField14(String field14){
		this.field14 = field14;
	}

	/**
	 * 获取 扩展字段
	 * @return field15
	 */
	public String getField15(){
		return this.field15;
	}

	/**
	 * 设置 扩展字段
	 * @param field15
	 */
	public void setField15(String field15){
		this.field15 = field15;
	}

	/**
	 * 获取 扩展字段
	 * @return field16
	 */
	public String getField16(){
		return this.field16;
	}

	/**
	 * 设置 扩展字段
	 * @param field16
	 */
	public void setField16(String field16){
		this.field16 = field16;
	}

	/**
	 * 获取 扩展字段
	 * @return field17
	 */
	public String getField17(){
		return this.field17;
	}

	/**
	 * 设置 扩展字段
	 * @param field17
	 */
	public void setField17(String field17){
		this.field17 = field17;
	}

	/**
	 * 获取 扩展字段
	 * @return field18
	 */
	public String getField18(){
		return this.field18;
	}

	/**
	 * 设置 扩展字段
	 * @param field18
	 */
	public void setField18(String field18){
		this.field18 = field18;
	}

	/**
	 * 获取 扩展字段
	 * @return field19
	 */
	public String getField19(){
		return this.field19;
	}

	/**
	 * 设置 扩展字段
	 * @param field19
	 */
	public void setField19(String field19){
		this.field19 = field19;
	}

	/**
	 * 获取 扩展字段
	 * @return field20
	 */
	public String getField20(){
		return this.field20;
	}

	/**
	 * 设置 扩展字段
	 * @param field20
	 */
	public void setField20(String field20){
		this.field20 = field20;
	}


	@Override
	public int hashCode() {
		return this.getId().hashCode();
	}
	@Override
	public boolean equals(Object obj) {
		if (obj == null)
			return false;
		if (obj instanceof MateriaBomItemEntity) {
			MateriaBomItemEntity tmp = (MateriaBomItemEntity) obj;
			if (this.getId().longValue() == tmp.getId().longValue()) {
				return true;
			}
		}
		return false;
	}
	public String toString(){
		StringBuilder sb = new StringBuilder("");
		sb.append("id:").append(getId())
		  .append(",bomId:").append(getBomId())
		  .append(",materiaId:").append(getMateriaId())
		  .append(",materiaCode:").append(getMateriaCode())
		  .append(",materiaName:").append(getMateriaName())
		  .append(",materiaBomId:").append(getMateriaBomId())
		  .append(",orderNo:").append(getOrderNo())
		  .append(",groupName:").append(getGroupName())
		  .append(",useNum:").append(getUseNum())
		  .append(",lossRate:").append(getLossRate())
		  .append(",required:").append(getRequired())
		  .append(",supplyType:").append(getSupplyType())
		  .append(",supplierId:").append(getSupplierId())
		  .append(",updateTime:").append(getUpdateTime())
		  .append(",updateUser:").append(getUpdateUser())
		  .append(",createTime:").append(getCreateTime())
		  .append(",createUser:").append(getCreateUser())
		  .append(",field01:").append(getField01())
		  .append(",field02:").append(getField02())
		  .append(",field03:").append(getField03())
		  .append(",field04:").append(getField04())
		  .append(",field05:").append(getField05())
		  .append(",field06:").append(getField06())
		  .append(",field07:").append(getField07())
		  .append(",field08:").append(getField08())
		  .append(",field09:").append(getField09())
		  .append(",field10:").append(getField10())
		  .append(",field11:").append(getField11())
		  .append(",field12:").append(getField12())
		  .append(",field13:").append(getField13())
		  .append(",field14:").append(getField14())
		  .append(",field15:").append(getField15())
		  .append(",field16:").append(getField16())
		  .append(",field17:").append(getField17())
		  .append(",field18:").append(getField18())
		  .append(",field19:").append(getField19())
		  .append(",field20:").append(getField20());
		return sb.toString();
	}
	public void initAttrValue(){
		this.bomId = null;
		this.materiaId = null;
		this.materiaCode = null;
		this.materiaName = null;
		this.materiaBomId = null;
		this.orderNo = 0L;
		this.groupName = null;
		this.useNum = 1L;
		this.lossRate = 0;
		this.required = 1;
		this.supplyType = 10;
		this.supplierId = null;
		this.updateTime = null;
		this.updateUser = null;
		this.createTime = null;
		this.createUser = null;
		this.field01 = null;
		this.field02 = null;
		this.field03 = null;
		this.field04 = null;
		this.field05 = null;
		this.field06 = null;
		this.field07 = null;
		this.field08 = null;
		this.field09 = null;
		this.field10 = null;
		this.field11 = null;
		this.field12 = null;
		this.field13 = null;
		this.field14 = null;
		this.field15 = null;
		this.field16 = null;
		this.field17 = null;
		this.field18 = null;
		this.field19 = null;
		this.field20 = null;
	}
}