package com.bailuntec.domain.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
public class DcBaseStock {
    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.id
     *
     * @mbg.generated
     */
    private Integer id;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.bailun_sku
     *
     * @mbg.generated
     */
    private String bailunSku;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.warehouse_code
     *
     * @mbg.generated
     */
    private String warehouseCode;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.owner_code
     *
     * @mbg.generated
     */
    private String ownerCode;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_reservation
     *
     * @mbg.generated
     */
    private Integer quantityReservation;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_transport
     *
     * @mbg.generated
     */
    private Integer quantityTransport;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_transfer
     *
     * @mbg.generated
     */
    private Integer quantityTransfer;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_freeze
     *
     * @mbg.generated
     */
    private Integer quantityFreeze;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_supplier
     *
     * @mbg.generated
     */
    private Integer quantitySupplier;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_presell
     *
     * @mbg.generated
     */
    private Integer quantityPresell;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_defective
     *
     * @mbg.generated
     */
    private Integer quantityDefective;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.quantity_transit
     *
     * @mbg.generated
     */
    private Integer quantityTransit;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.wait_check
     *
     * @mbg.generated
     */
    private Integer waitCheck;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.wait_putaway
     *
     * @mbg.generated
     */
    private Integer waitPutaway;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.usable_stock
     *
     * @mbg.generated
     */
    private Integer usableStock;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.usable_sales
     *
     * @mbg.generated
     */
    private Integer usableSales;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.usable_sales_private
     *
     * @mbg.generated
     */
    private Integer usableSalesPrivate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.usable_sales_share
     *
     * @mbg.generated
     */
    private Integer usableSalesShare;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.in_warehouse_share
     *
     * @mbg.generated
     */
    private Integer inWarehouseShare;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.in_warehouse_private
     *
     * @mbg.generated
     */
    private Integer inWarehousePrivate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.in_warehouse
     *
     * @mbg.generated
     */
    private Integer inWarehouse;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_stock_share
     *
     * @mbg.generated
     */
    private Integer occupyStockShare;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_stock_private
     *
     * @mbg.generated
     */
    private Integer occupyStockPrivate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_stock
     *
     * @mbg.generated
     */
    private Integer occupyStock;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_activity
     *
     * @mbg.generated
     */
    private Integer occupyActivity;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_order_private
     *
     * @mbg.generated
     */
    private Integer occupyOrderPrivate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_order_share
     *
     * @mbg.generated
     */
    private Integer occupyOrderShare;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.occupy_order
     *
     * @mbg.generated
     */
    private Integer occupyOrder;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.gmt_create
     *
     * @mbg.generated
     */
    private LocalDateTime gmtCreate;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.gmt_modified
     *
     * @mbg.generated
     */
    private LocalDateTime gmtModified;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.create_time
     *
     * @mbg.generated
     */
    private LocalDateTime createTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.update_time
     *
     * @mbg.generated
     */
    private LocalDateTime updateTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.shipped_stock
     *
     * @mbg.generated
     */
    private Integer shippedStock;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.sku_title_cn
     *
     * @mbg.generated
     */
    private String skuTitleCn;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.product_inner_code
     *
     * @mbg.generated
     */
    private String productInnerCode;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_stock.suppliers_name
     *
     * @mbg.generated
     */
    private String suppliersName;

    private BigDecimal unitPrice;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_stock
     *
     * @mbg.generated
     */
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", bailunSku=").append(bailunSku);
        sb.append(", warehouseCode=").append(warehouseCode);
        sb.append(", ownerCode=").append(ownerCode);
        sb.append(", quantityReservation=").append(quantityReservation);
        sb.append(", quantityTransport=").append(quantityTransport);
        sb.append(", quantityTransfer=").append(quantityTransfer);
        sb.append(", quantityFreeze=").append(quantityFreeze);
        sb.append(", quantitySupplier=").append(quantitySupplier);
        sb.append(", quantityPresell=").append(quantityPresell);
        sb.append(", quantityDefective=").append(quantityDefective);
        sb.append(", quantityTransit=").append(quantityTransit);
        sb.append(", waitCheck=").append(waitCheck);
        sb.append(", waitPutaway=").append(waitPutaway);
        sb.append(", usableStock=").append(usableStock);
        sb.append(", usableSales=").append(usableSales);
        sb.append(", usableSalesPrivate=").append(usableSalesPrivate);
        sb.append(", usableSalesShare=").append(usableSalesShare);
        sb.append(", inWarehouseShare=").append(inWarehouseShare);
        sb.append(", inWarehousePrivate=").append(inWarehousePrivate);
        sb.append(", inWarehouse=").append(inWarehouse);
        sb.append(", occupyStockShare=").append(occupyStockShare);
        sb.append(", occupyStockPrivate=").append(occupyStockPrivate);
        sb.append(", occupyStock=").append(occupyStock);
        sb.append(", occupyActivity=").append(occupyActivity);
        sb.append(", occupyOrderPrivate=").append(occupyOrderPrivate);
        sb.append(", occupyOrderShare=").append(occupyOrderShare);
        sb.append(", occupyOrder=").append(occupyOrder);
        sb.append(", gmtCreate=").append(gmtCreate);
        sb.append(", gmtModified=").append(gmtModified);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", shippedStock=").append(shippedStock);
        sb.append(", skuTitleCn=").append(skuTitleCn);
        sb.append(", productInnerCode=").append(productInnerCode);
        sb.append(", suppliersName=").append(suppliersName);
        sb.append("]");
        return sb.toString();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_stock
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DcBaseStock other = (DcBaseStock) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getBailunSku() == null ? other.getBailunSku() == null : this.getBailunSku().equals(other.getBailunSku()))
            && (this.getWarehouseCode() == null ? other.getWarehouseCode() == null : this.getWarehouseCode().equals(other.getWarehouseCode()))
            && (this.getOwnerCode() == null ? other.getOwnerCode() == null : this.getOwnerCode().equals(other.getOwnerCode()))
            && (this.getQuantityReservation() == null ? other.getQuantityReservation() == null : this.getQuantityReservation().equals(other.getQuantityReservation()))
            && (this.getQuantityTransport() == null ? other.getQuantityTransport() == null : this.getQuantityTransport().equals(other.getQuantityTransport()))
            && (this.getQuantityTransfer() == null ? other.getQuantityTransfer() == null : this.getQuantityTransfer().equals(other.getQuantityTransfer()))
            && (this.getQuantityFreeze() == null ? other.getQuantityFreeze() == null : this.getQuantityFreeze().equals(other.getQuantityFreeze()))
            && (this.getQuantitySupplier() == null ? other.getQuantitySupplier() == null : this.getQuantitySupplier().equals(other.getQuantitySupplier()))
            && (this.getQuantityPresell() == null ? other.getQuantityPresell() == null : this.getQuantityPresell().equals(other.getQuantityPresell()))
            && (this.getQuantityDefective() == null ? other.getQuantityDefective() == null : this.getQuantityDefective().equals(other.getQuantityDefective()))
            && (this.getQuantityTransit() == null ? other.getQuantityTransit() == null : this.getQuantityTransit().equals(other.getQuantityTransit()))
            && (this.getWaitCheck() == null ? other.getWaitCheck() == null : this.getWaitCheck().equals(other.getWaitCheck()))
            && (this.getWaitPutaway() == null ? other.getWaitPutaway() == null : this.getWaitPutaway().equals(other.getWaitPutaway()))
            && (this.getUsableStock() == null ? other.getUsableStock() == null : this.getUsableStock().equals(other.getUsableStock()))
            && (this.getUsableSales() == null ? other.getUsableSales() == null : this.getUsableSales().equals(other.getUsableSales()))
            && (this.getUsableSalesPrivate() == null ? other.getUsableSalesPrivate() == null : this.getUsableSalesPrivate().equals(other.getUsableSalesPrivate()))
            && (this.getUsableSalesShare() == null ? other.getUsableSalesShare() == null : this.getUsableSalesShare().equals(other.getUsableSalesShare()))
            && (this.getInWarehouseShare() == null ? other.getInWarehouseShare() == null : this.getInWarehouseShare().equals(other.getInWarehouseShare()))
            && (this.getInWarehousePrivate() == null ? other.getInWarehousePrivate() == null : this.getInWarehousePrivate().equals(other.getInWarehousePrivate()))
            && (this.getInWarehouse() == null ? other.getInWarehouse() == null : this.getInWarehouse().equals(other.getInWarehouse()))
            && (this.getOccupyStockShare() == null ? other.getOccupyStockShare() == null : this.getOccupyStockShare().equals(other.getOccupyStockShare()))
            && (this.getOccupyStockPrivate() == null ? other.getOccupyStockPrivate() == null : this.getOccupyStockPrivate().equals(other.getOccupyStockPrivate()))
            && (this.getOccupyStock() == null ? other.getOccupyStock() == null : this.getOccupyStock().equals(other.getOccupyStock()))
            && (this.getOccupyActivity() == null ? other.getOccupyActivity() == null : this.getOccupyActivity().equals(other.getOccupyActivity()))
            && (this.getOccupyOrderPrivate() == null ? other.getOccupyOrderPrivate() == null : this.getOccupyOrderPrivate().equals(other.getOccupyOrderPrivate()))
            && (this.getOccupyOrderShare() == null ? other.getOccupyOrderShare() == null : this.getOccupyOrderShare().equals(other.getOccupyOrderShare()))
            && (this.getOccupyOrder() == null ? other.getOccupyOrder() == null : this.getOccupyOrder().equals(other.getOccupyOrder()))
            && (this.getGmtCreate() == null ? other.getGmtCreate() == null : this.getGmtCreate().equals(other.getGmtCreate()))
            && (this.getGmtModified() == null ? other.getGmtModified() == null : this.getGmtModified().equals(other.getGmtModified()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getShippedStock() == null ? other.getShippedStock() == null : this.getShippedStock().equals(other.getShippedStock()))
            && (this.getSkuTitleCn() == null ? other.getSkuTitleCn() == null : this.getSkuTitleCn().equals(other.getSkuTitleCn()))
            && (this.getProductInnerCode() == null ? other.getProductInnerCode() == null : this.getProductInnerCode().equals(other.getProductInnerCode()))
            && (this.getSuppliersName() == null ? other.getSuppliersName() == null : this.getSuppliersName().equals(other.getSuppliersName()));
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_stock
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getBailunSku() == null) ? 0 : getBailunSku().hashCode());
        result = prime * result + ((getWarehouseCode() == null) ? 0 : getWarehouseCode().hashCode());
        result = prime * result + ((getOwnerCode() == null) ? 0 : getOwnerCode().hashCode());
        result = prime * result + ((getQuantityReservation() == null) ? 0 : getQuantityReservation().hashCode());
        result = prime * result + ((getQuantityTransport() == null) ? 0 : getQuantityTransport().hashCode());
        result = prime * result + ((getQuantityTransfer() == null) ? 0 : getQuantityTransfer().hashCode());
        result = prime * result + ((getQuantityFreeze() == null) ? 0 : getQuantityFreeze().hashCode());
        result = prime * result + ((getQuantitySupplier() == null) ? 0 : getQuantitySupplier().hashCode());
        result = prime * result + ((getQuantityPresell() == null) ? 0 : getQuantityPresell().hashCode());
        result = prime * result + ((getQuantityDefective() == null) ? 0 : getQuantityDefective().hashCode());
        result = prime * result + ((getQuantityTransit() == null) ? 0 : getQuantityTransit().hashCode());
        result = prime * result + ((getWaitCheck() == null) ? 0 : getWaitCheck().hashCode());
        result = prime * result + ((getWaitPutaway() == null) ? 0 : getWaitPutaway().hashCode());
        result = prime * result + ((getUsableStock() == null) ? 0 : getUsableStock().hashCode());
        result = prime * result + ((getUsableSales() == null) ? 0 : getUsableSales().hashCode());
        result = prime * result + ((getUsableSalesPrivate() == null) ? 0 : getUsableSalesPrivate().hashCode());
        result = prime * result + ((getUsableSalesShare() == null) ? 0 : getUsableSalesShare().hashCode());
        result = prime * result + ((getInWarehouseShare() == null) ? 0 : getInWarehouseShare().hashCode());
        result = prime * result + ((getInWarehousePrivate() == null) ? 0 : getInWarehousePrivate().hashCode());
        result = prime * result + ((getInWarehouse() == null) ? 0 : getInWarehouse().hashCode());
        result = prime * result + ((getOccupyStockShare() == null) ? 0 : getOccupyStockShare().hashCode());
        result = prime * result + ((getOccupyStockPrivate() == null) ? 0 : getOccupyStockPrivate().hashCode());
        result = prime * result + ((getOccupyStock() == null) ? 0 : getOccupyStock().hashCode());
        result = prime * result + ((getOccupyActivity() == null) ? 0 : getOccupyActivity().hashCode());
        result = prime * result + ((getOccupyOrderPrivate() == null) ? 0 : getOccupyOrderPrivate().hashCode());
        result = prime * result + ((getOccupyOrderShare() == null) ? 0 : getOccupyOrderShare().hashCode());
        result = prime * result + ((getOccupyOrder() == null) ? 0 : getOccupyOrder().hashCode());
        result = prime * result + ((getGmtCreate() == null) ? 0 : getGmtCreate().hashCode());
        result = prime * result + ((getGmtModified() == null) ? 0 : getGmtModified().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getShippedStock() == null) ? 0 : getShippedStock().hashCode());
        result = prime * result + ((getSkuTitleCn() == null) ? 0 : getSkuTitleCn().hashCode());
        result = prime * result + ((getProductInnerCode() == null) ? 0 : getProductInnerCode().hashCode());
        result = prime * result + ((getSuppliersName() == null) ? 0 : getSuppliersName().hashCode());
        return result;
    }
}