silentbalanceyh/vertx-zero

View on GitHub
vertx-pin/zero-psi/src/main/java/cn/vertxup/psi/domain/tables/pojos/PCommodity.java

Summary

Maintainability
F
1 wk
Test Coverage
/*
 * This file is generated by jOOQ.
 */
package cn.vertxup.psi.domain.tables.pojos;


import cn.vertxup.psi.domain.tables.interfaces.IPCommodity;
import io.github.jklingsporn.vertx.jooq.shared.internal.VertxPojo;

import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * This class is generated by jOOQ.
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PCommodity implements VertxPojo, IPCommodity {

    private static final long serialVersionUID = 1L;

    private String key;
    private String name;
    private String code;
    private String type;
    private String status;
    private String tags;
    private String origin;
    private String barCode;
    private String helpCode;
    private String brandId;
    private String modelNumber;
    private String unit;
    private Integer expiredDay;
    private String kWayCost;
    private Boolean kByBatch;
    private String kTaxType;
    private BigDecimal kTaxRate;
    private String dfCustomer;
    private String dfWh;
    private String logo;
    private BigDecimal price;
    private Integer quantity;
    private BigDecimal amount;
    private String comment;
    private Boolean active;
    private String sigma;
    private String metadata;
    private String language;
    private LocalDateTime createdAt;
    private String createdBy;
    private LocalDateTime updatedAt;
    private String updatedBy;

    public PCommodity() {}

    public PCommodity(IPCommodity value) {
        this.key = value.getKey();
        this.name = value.getName();
        this.code = value.getCode();
        this.type = value.getType();
        this.status = value.getStatus();
        this.tags = value.getTags();
        this.origin = value.getOrigin();
        this.barCode = value.getBarCode();
        this.helpCode = value.getHelpCode();
        this.brandId = value.getBrandId();
        this.modelNumber = value.getModelNumber();
        this.unit = value.getUnit();
        this.expiredDay = value.getExpiredDay();
        this.kWayCost = value.getKWayCost();
        this.kByBatch = value.getKByBatch();
        this.kTaxType = value.getKTaxType();
        this.kTaxRate = value.getKTaxRate();
        this.dfCustomer = value.getDfCustomer();
        this.dfWh = value.getDfWh();
        this.logo = value.getLogo();
        this.price = value.getPrice();
        this.quantity = value.getQuantity();
        this.amount = value.getAmount();
        this.comment = value.getComment();
        this.active = value.getActive();
        this.sigma = value.getSigma();
        this.metadata = value.getMetadata();
        this.language = value.getLanguage();
        this.createdAt = value.getCreatedAt();
        this.createdBy = value.getCreatedBy();
        this.updatedAt = value.getUpdatedAt();
        this.updatedBy = value.getUpdatedBy();
    }

    public PCommodity(
        String key,
        String name,
        String code,
        String type,
        String status,
        String tags,
        String origin,
        String barCode,
        String helpCode,
        String brandId,
        String modelNumber,
        String unit,
        Integer expiredDay,
        String kWayCost,
        Boolean kByBatch,
        String kTaxType,
        BigDecimal kTaxRate,
        String dfCustomer,
        String dfWh,
        String logo,
        BigDecimal price,
        Integer quantity,
        BigDecimal amount,
        String comment,
        Boolean active,
        String sigma,
        String metadata,
        String language,
        LocalDateTime createdAt,
        String createdBy,
        LocalDateTime updatedAt,
        String updatedBy
    ) {
        this.key = key;
        this.name = name;
        this.code = code;
        this.type = type;
        this.status = status;
        this.tags = tags;
        this.origin = origin;
        this.barCode = barCode;
        this.helpCode = helpCode;
        this.brandId = brandId;
        this.modelNumber = modelNumber;
        this.unit = unit;
        this.expiredDay = expiredDay;
        this.kWayCost = kWayCost;
        this.kByBatch = kByBatch;
        this.kTaxType = kTaxType;
        this.kTaxRate = kTaxRate;
        this.dfCustomer = dfCustomer;
        this.dfWh = dfWh;
        this.logo = logo;
        this.price = price;
        this.quantity = quantity;
        this.amount = amount;
        this.comment = comment;
        this.active = active;
        this.sigma = sigma;
        this.metadata = metadata;
        this.language = language;
        this.createdAt = createdAt;
        this.createdBy = createdBy;
        this.updatedAt = updatedAt;
        this.updatedBy = updatedBy;
    }

        public PCommodity(io.vertx.core.json.JsonObject json) {
                this();
                fromJson(json);
        }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.KEY</code>. 「key」- 产品主键
     */
    @Override
    public String getKey() {
        return this.key;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.KEY</code>. 「key」- 产品主键
     */
    @Override
    public PCommodity setKey(String key) {
        this.key = key;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.NAME</code>. 「name」- 产品名称
     */
    @Override
    public String getName() {
        return this.name;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.NAME</code>. 「name」- 产品名称
     */
    @Override
    public PCommodity setName(String name) {
        this.name = name;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.CODE</code>. 「code」- 产品编号(系统可用)
     */
    @Override
    public String getCode() {
        return this.code;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.CODE</code>. 「code」- 产品编号(系统可用)
     */
    @Override
    public PCommodity setCode(String code) {
        this.code = code;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.TYPE</code>. 「type」- 产品类型
     */
    @Override
    public String getType() {
        return this.type;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.TYPE</code>. 「type」- 产品类型
     */
    @Override
    public PCommodity setType(String type) {
        this.type = type;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.STATUS</code>. 「status」- 产品状态
     */
    @Override
    public String getStatus() {
        return this.status;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.STATUS</code>. 「status」- 产品状态
     */
    @Override
    public PCommodity setStatus(String status) {
        this.status = status;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.TAGS</code>. 「tags」- 商品标签
     */
    @Override
    public String getTags() {
        return this.tags;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.TAGS</code>. 「tags」- 商品标签
     */
    @Override
    public PCommodity setTags(String tags) {
        this.tags = tags;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.ORIGIN</code>. 「origin」- 商品产地
     */
    @Override
    public String getOrigin() {
        return this.origin;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.ORIGIN</code>. 「origin」- 商品产地
     */
    @Override
    public PCommodity setOrigin(String origin) {
        this.origin = origin;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.BAR_CODE</code>. 「barCode」- 条形码
     */
    @Override
    public String getBarCode() {
        return this.barCode;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.BAR_CODE</code>. 「barCode」- 条形码
     */
    @Override
    public PCommodity setBarCode(String barCode) {
        this.barCode = barCode;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.HELP_CODE</code>. 「helpCode」- 助记码
     */
    @Override
    public String getHelpCode() {
        return this.helpCode;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.HELP_CODE</code>. 「helpCode」- 助记码
     */
    @Override
    public PCommodity setHelpCode(String helpCode) {
        this.helpCode = helpCode;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.BRAND_ID</code>. 「brandId」- 品牌
     */
    @Override
    public String getBrandId() {
        return this.brandId;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.BRAND_ID</code>. 「brandId」- 品牌
     */
    @Override
    public PCommodity setBrandId(String brandId) {
        this.brandId = brandId;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.MODEL_NUMBER</code>.
     * 「modelNumber」- 规格型号
     */
    @Override
    public String getModelNumber() {
        return this.modelNumber;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.MODEL_NUMBER</code>.
     * 「modelNumber」- 规格型号
     */
    @Override
    public PCommodity setModelNumber(String modelNumber) {
        this.modelNumber = modelNumber;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.UNIT</code>. 「unit」- 计量单位
     */
    @Override
    public String getUnit() {
        return this.unit;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.UNIT</code>. 「unit」- 计量单位
     */
    @Override
    public PCommodity setUnit(String unit) {
        this.unit = unit;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.EXPIRED_DAY</code>. 「expiredDay」-
     * 保质天数
     */
    @Override
    public Integer getExpiredDay() {
        return this.expiredDay;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.EXPIRED_DAY</code>. 「expiredDay」-
     * 保质天数
     */
    @Override
    public PCommodity setExpiredDay(Integer expiredDay) {
        this.expiredDay = expiredDay;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.K_WAY_COST</code>. 「kWayCost」-
     * 成本计算方法
     */
    @Override
    public String getKWayCost() {
        return this.kWayCost;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.K_WAY_COST</code>. 「kWayCost」-
     * 成本计算方法
     */
    @Override
    public PCommodity setKWayCost(String kWayCost) {
        this.kWayCost = kWayCost;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.K_BY_BATCH</code>. 「kByBatch」-
     * 按批核算成本
     */
    @Override
    public Boolean getKByBatch() {
        return this.kByBatch;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.K_BY_BATCH</code>. 「kByBatch」-
     * 按批核算成本
     */
    @Override
    public PCommodity setKByBatch(Boolean kByBatch) {
        this.kByBatch = kByBatch;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.K_TAX_TYPE</code>. 「kTaxType」-
     * 税收分类编码
     */
    @Override
    public String getKTaxType() {
        return this.kTaxType;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.K_TAX_TYPE</code>. 「kTaxType」-
     * 税收分类编码
     */
    @Override
    public PCommodity setKTaxType(String kTaxType) {
        this.kTaxType = kTaxType;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.K_TAX_RATE</code>. 「kTaxRate」- 税率
     */
    @Override
    public BigDecimal getKTaxRate() {
        return this.kTaxRate;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.K_TAX_RATE</code>. 「kTaxRate」- 税率
     */
    @Override
    public PCommodity setKTaxRate(BigDecimal kTaxRate) {
        this.kTaxRate = kTaxRate;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.DF_CUSTOMER</code>. 「dfCustomer」-
     * 默认供应商
     */
    @Override
    public String getDfCustomer() {
        return this.dfCustomer;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.DF_CUSTOMER</code>. 「dfCustomer」-
     * 默认供应商
     */
    @Override
    public PCommodity setDfCustomer(String dfCustomer) {
        this.dfCustomer = dfCustomer;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.DF_WH</code>. 「dfWh」- 默认仓库
     */
    @Override
    public String getDfWh() {
        return this.dfWh;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.DF_WH</code>. 「dfWh」- 默认仓库
     */
    @Override
    public PCommodity setDfWh(String dfWh) {
        this.dfWh = dfWh;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.LOGO</code>. 「logo」- 产品图片
     */
    @Override
    public String getLogo() {
        return this.logo;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.LOGO</code>. 「logo」- 产品图片
     */
    @Override
    public PCommodity setLogo(String logo) {
        this.logo = logo;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.PRICE</code>. 「price」- 商品单价
     */
    @Override
    public BigDecimal getPrice() {
        return this.price;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.PRICE</code>. 「price」- 商品单价
     */
    @Override
    public PCommodity setPrice(BigDecimal price) {
        this.price = price;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.QUANTITY</code>. 「quantity」- 商品数量
     */
    @Override
    public Integer getQuantity() {
        return this.quantity;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.QUANTITY</code>. 「quantity」- 商品数量
     */
    @Override
    public PCommodity setQuantity(Integer quantity) {
        this.quantity = quantity;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.AMOUNT</code>.
     * 「amount」——总价,理论计算结果
     */
    @Override
    public BigDecimal getAmount() {
        return this.amount;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.AMOUNT</code>.
     * 「amount」——总价,理论计算结果
     */
    @Override
    public PCommodity setAmount(BigDecimal amount) {
        this.amount = amount;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.COMMENT</code>. 「comment」- 产品备注
     */
    @Override
    public String getComment() {
        return this.comment;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.COMMENT</code>. 「comment」- 产品备注
     */
    @Override
    public PCommodity setComment(String comment) {
        this.comment = comment;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.ACTIVE</code>. 「active」- 是否启用
     */
    @Override
    public Boolean getActive() {
        return this.active;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.ACTIVE</code>. 「active」- 是否启用
     */
    @Override
    public PCommodity setActive(Boolean active) {
        this.active = active;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.SIGMA</code>. 「sigma」- 统一标识
     */
    @Override
    public String getSigma() {
        return this.sigma;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.SIGMA</code>. 「sigma」- 统一标识
     */
    @Override
    public PCommodity setSigma(String sigma) {
        this.sigma = sigma;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.METADATA</code>. 「metadata」- 附加配置
     */
    @Override
    public String getMetadata() {
        return this.metadata;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.METADATA</code>. 「metadata」- 附加配置
     */
    @Override
    public PCommodity setMetadata(String metadata) {
        this.metadata = metadata;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.LANGUAGE</code>. 「language」-
     * 使用的语言
     */
    @Override
    public String getLanguage() {
        return this.language;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.LANGUAGE</code>. 「language」-
     * 使用的语言
     */
    @Override
    public PCommodity setLanguage(String language) {
        this.language = language;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.CREATED_AT</code>. 「createdAt」-
     * 创建时间
     */
    @Override
    public LocalDateTime getCreatedAt() {
        return this.createdAt;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.CREATED_AT</code>. 「createdAt」-
     * 创建时间
     */
    @Override
    public PCommodity setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.CREATED_BY</code>. 「createdBy」-
     * 创建人
     */
    @Override
    public String getCreatedBy() {
        return this.createdBy;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.CREATED_BY</code>. 「createdBy」-
     * 创建人
     */
    @Override
    public PCommodity setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.UPDATED_AT</code>. 「updatedAt」-
     * 更新时间
     */
    @Override
    public LocalDateTime getUpdatedAt() {
        return this.updatedAt;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.UPDATED_AT</code>. 「updatedAt」-
     * 更新时间
     */
    @Override
    public PCommodity setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
        return this;
    }

    /**
     * Getter for <code>DB_ETERNAL.P_COMMODITY.UPDATED_BY</code>. 「updatedBy」-
     * 更新人
     */
    @Override
    public String getUpdatedBy() {
        return this.updatedBy;
    }

    /**
     * Setter for <code>DB_ETERNAL.P_COMMODITY.UPDATED_BY</code>. 「updatedBy」-
     * 更新人
     */
    @Override
    public PCommodity setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
        return this;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        final PCommodity other = (PCommodity) obj;
        if (this.key == null) {
            if (other.key != null)
                return false;
        }
        else if (!this.key.equals(other.key))
            return false;
        if (this.name == null) {
            if (other.name != null)
                return false;
        }
        else if (!this.name.equals(other.name))
            return false;
        if (this.code == null) {
            if (other.code != null)
                return false;
        }
        else if (!this.code.equals(other.code))
            return false;
        if (this.type == null) {
            if (other.type != null)
                return false;
        }
        else if (!this.type.equals(other.type))
            return false;
        if (this.status == null) {
            if (other.status != null)
                return false;
        }
        else if (!this.status.equals(other.status))
            return false;
        if (this.tags == null) {
            if (other.tags != null)
                return false;
        }
        else if (!this.tags.equals(other.tags))
            return false;
        if (this.origin == null) {
            if (other.origin != null)
                return false;
        }
        else if (!this.origin.equals(other.origin))
            return false;
        if (this.barCode == null) {
            if (other.barCode != null)
                return false;
        }
        else if (!this.barCode.equals(other.barCode))
            return false;
        if (this.helpCode == null) {
            if (other.helpCode != null)
                return false;
        }
        else if (!this.helpCode.equals(other.helpCode))
            return false;
        if (this.brandId == null) {
            if (other.brandId != null)
                return false;
        }
        else if (!this.brandId.equals(other.brandId))
            return false;
        if (this.modelNumber == null) {
            if (other.modelNumber != null)
                return false;
        }
        else if (!this.modelNumber.equals(other.modelNumber))
            return false;
        if (this.unit == null) {
            if (other.unit != null)
                return false;
        }
        else if (!this.unit.equals(other.unit))
            return false;
        if (this.expiredDay == null) {
            if (other.expiredDay != null)
                return false;
        }
        else if (!this.expiredDay.equals(other.expiredDay))
            return false;
        if (this.kWayCost == null) {
            if (other.kWayCost != null)
                return false;
        }
        else if (!this.kWayCost.equals(other.kWayCost))
            return false;
        if (this.kByBatch == null) {
            if (other.kByBatch != null)
                return false;
        }
        else if (!this.kByBatch.equals(other.kByBatch))
            return false;
        if (this.kTaxType == null) {
            if (other.kTaxType != null)
                return false;
        }
        else if (!this.kTaxType.equals(other.kTaxType))
            return false;
        if (this.kTaxRate == null) {
            if (other.kTaxRate != null)
                return false;
        }
        else if (!this.kTaxRate.equals(other.kTaxRate))
            return false;
        if (this.dfCustomer == null) {
            if (other.dfCustomer != null)
                return false;
        }
        else if (!this.dfCustomer.equals(other.dfCustomer))
            return false;
        if (this.dfWh == null) {
            if (other.dfWh != null)
                return false;
        }
        else if (!this.dfWh.equals(other.dfWh))
            return false;
        if (this.logo == null) {
            if (other.logo != null)
                return false;
        }
        else if (!this.logo.equals(other.logo))
            return false;
        if (this.price == null) {
            if (other.price != null)
                return false;
        }
        else if (!this.price.equals(other.price))
            return false;
        if (this.quantity == null) {
            if (other.quantity != null)
                return false;
        }
        else if (!this.quantity.equals(other.quantity))
            return false;
        if (this.amount == null) {
            if (other.amount != null)
                return false;
        }
        else if (!this.amount.equals(other.amount))
            return false;
        if (this.comment == null) {
            if (other.comment != null)
                return false;
        }
        else if (!this.comment.equals(other.comment))
            return false;
        if (this.active == null) {
            if (other.active != null)
                return false;
        }
        else if (!this.active.equals(other.active))
            return false;
        if (this.sigma == null) {
            if (other.sigma != null)
                return false;
        }
        else if (!this.sigma.equals(other.sigma))
            return false;
        if (this.metadata == null) {
            if (other.metadata != null)
                return false;
        }
        else if (!this.metadata.equals(other.metadata))
            return false;
        if (this.language == null) {
            if (other.language != null)
                return false;
        }
        else if (!this.language.equals(other.language))
            return false;
        if (this.createdAt == null) {
            if (other.createdAt != null)
                return false;
        }
        else if (!this.createdAt.equals(other.createdAt))
            return false;
        if (this.createdBy == null) {
            if (other.createdBy != null)
                return false;
        }
        else if (!this.createdBy.equals(other.createdBy))
            return false;
        if (this.updatedAt == null) {
            if (other.updatedAt != null)
                return false;
        }
        else if (!this.updatedAt.equals(other.updatedAt))
            return false;
        if (this.updatedBy == null) {
            if (other.updatedBy != null)
                return false;
        }
        else if (!this.updatedBy.equals(other.updatedBy))
            return false;
        return true;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((this.key == null) ? 0 : this.key.hashCode());
        result = prime * result + ((this.name == null) ? 0 : this.name.hashCode());
        result = prime * result + ((this.code == null) ? 0 : this.code.hashCode());
        result = prime * result + ((this.type == null) ? 0 : this.type.hashCode());
        result = prime * result + ((this.status == null) ? 0 : this.status.hashCode());
        result = prime * result + ((this.tags == null) ? 0 : this.tags.hashCode());
        result = prime * result + ((this.origin == null) ? 0 : this.origin.hashCode());
        result = prime * result + ((this.barCode == null) ? 0 : this.barCode.hashCode());
        result = prime * result + ((this.helpCode == null) ? 0 : this.helpCode.hashCode());
        result = prime * result + ((this.brandId == null) ? 0 : this.brandId.hashCode());
        result = prime * result + ((this.modelNumber == null) ? 0 : this.modelNumber.hashCode());
        result = prime * result + ((this.unit == null) ? 0 : this.unit.hashCode());
        result = prime * result + ((this.expiredDay == null) ? 0 : this.expiredDay.hashCode());
        result = prime * result + ((this.kWayCost == null) ? 0 : this.kWayCost.hashCode());
        result = prime * result + ((this.kByBatch == null) ? 0 : this.kByBatch.hashCode());
        result = prime * result + ((this.kTaxType == null) ? 0 : this.kTaxType.hashCode());
        result = prime * result + ((this.kTaxRate == null) ? 0 : this.kTaxRate.hashCode());
        result = prime * result + ((this.dfCustomer == null) ? 0 : this.dfCustomer.hashCode());
        result = prime * result + ((this.dfWh == null) ? 0 : this.dfWh.hashCode());
        result = prime * result + ((this.logo == null) ? 0 : this.logo.hashCode());
        result = prime * result + ((this.price == null) ? 0 : this.price.hashCode());
        result = prime * result + ((this.quantity == null) ? 0 : this.quantity.hashCode());
        result = prime * result + ((this.amount == null) ? 0 : this.amount.hashCode());
        result = prime * result + ((this.comment == null) ? 0 : this.comment.hashCode());
        result = prime * result + ((this.active == null) ? 0 : this.active.hashCode());
        result = prime * result + ((this.sigma == null) ? 0 : this.sigma.hashCode());
        result = prime * result + ((this.metadata == null) ? 0 : this.metadata.hashCode());
        result = prime * result + ((this.language == null) ? 0 : this.language.hashCode());
        result = prime * result + ((this.createdAt == null) ? 0 : this.createdAt.hashCode());
        result = prime * result + ((this.createdBy == null) ? 0 : this.createdBy.hashCode());
        result = prime * result + ((this.updatedAt == null) ? 0 : this.updatedAt.hashCode());
        result = prime * result + ((this.updatedBy == null) ? 0 : this.updatedBy.hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder("PCommodity (");

        sb.append(key);
        sb.append(", ").append(name);
        sb.append(", ").append(code);
        sb.append(", ").append(type);
        sb.append(", ").append(status);
        sb.append(", ").append(tags);
        sb.append(", ").append(origin);
        sb.append(", ").append(barCode);
        sb.append(", ").append(helpCode);
        sb.append(", ").append(brandId);
        sb.append(", ").append(modelNumber);
        sb.append(", ").append(unit);
        sb.append(", ").append(expiredDay);
        sb.append(", ").append(kWayCost);
        sb.append(", ").append(kByBatch);
        sb.append(", ").append(kTaxType);
        sb.append(", ").append(kTaxRate);
        sb.append(", ").append(dfCustomer);
        sb.append(", ").append(dfWh);
        sb.append(", ").append(logo);
        sb.append(", ").append(price);
        sb.append(", ").append(quantity);
        sb.append(", ").append(amount);
        sb.append(", ").append(comment);
        sb.append(", ").append(active);
        sb.append(", ").append(sigma);
        sb.append(", ").append(metadata);
        sb.append(", ").append(language);
        sb.append(", ").append(createdAt);
        sb.append(", ").append(createdBy);
        sb.append(", ").append(updatedAt);
        sb.append(", ").append(updatedBy);

        sb.append(")");
        return sb.toString();
    }

    // -------------------------------------------------------------------------
    // FROM and INTO
    // -------------------------------------------------------------------------

    @Override
    public void from(IPCommodity from) {
        setKey(from.getKey());
        setName(from.getName());
        setCode(from.getCode());
        setType(from.getType());
        setStatus(from.getStatus());
        setTags(from.getTags());
        setOrigin(from.getOrigin());
        setBarCode(from.getBarCode());
        setHelpCode(from.getHelpCode());
        setBrandId(from.getBrandId());
        setModelNumber(from.getModelNumber());
        setUnit(from.getUnit());
        setExpiredDay(from.getExpiredDay());
        setKWayCost(from.getKWayCost());
        setKByBatch(from.getKByBatch());
        setKTaxType(from.getKTaxType());
        setKTaxRate(from.getKTaxRate());
        setDfCustomer(from.getDfCustomer());
        setDfWh(from.getDfWh());
        setLogo(from.getLogo());
        setPrice(from.getPrice());
        setQuantity(from.getQuantity());
        setAmount(from.getAmount());
        setComment(from.getComment());
        setActive(from.getActive());
        setSigma(from.getSigma());
        setMetadata(from.getMetadata());
        setLanguage(from.getLanguage());
        setCreatedAt(from.getCreatedAt());
        setCreatedBy(from.getCreatedBy());
        setUpdatedAt(from.getUpdatedAt());
        setUpdatedBy(from.getUpdatedBy());
    }

    @Override
    public <E extends IPCommodity> E into(E into) {
        into.from(this);
        return into;
    }
}