package com.bailuntec.domain.entity;

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

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

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

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.warehouse_type
     *
     * @mbg.generated
     */
    private String warehouseType;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.warehouse_name
     *
     * @mbg.generated
     */
    private String warehouseName;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.transport_type
     *
     * @mbg.generated
     */
    private String transportType;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.sales_avg_180
     *
     * @mbg.generated
     */
    private BigDecimal salesAvg180;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.sales_avg_90
     *
     * @mbg.generated
     */
    private BigDecimal salesAvg90;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.sales_avg_30
     *
     * @mbg.generated
     */
    private BigDecimal salesAvg30;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.sales_avg_7
     *
     * @mbg.generated
     */
    private BigDecimal salesAvg7;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.unit_price
     *
     * @mbg.generated
     */
    private BigDecimal unitPrice;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_advise
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAdvise;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_advise_amount
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAdviseAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.turnover
     *
     * @mbg.generated
     */
    private BigDecimal turnover;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.turnover_amount
     *
     * @mbg.generated
     */
    private BigDecimal turnoverAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price
     *
     * @mbg.generated
     */
    private BigDecimal freightPrice;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_unit_price
     *
     * @mbg.generated
     */
    private BigDecimal freightUnitPrice;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_advise_ocean
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAdviseOcean;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_advise_ocean_amount
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAdviseOceanAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_ocean
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceOcean;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_advise_air
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAdviseAir;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_advise_air_amount
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAdviseAirAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_air
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceAir;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_ocean_difference_amount
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceOceanDifferenceAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_ocean_difference_amount
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalOceanDifferenceAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_air_difference_amount
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceAirDifferenceAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final_air_difference_amount
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalAirDifferenceAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_ocean_air_difference
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceOceanAirDifference;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_final__ocean_air_difference_amount
     *
     * @mbg.generated
     */
    private BigDecimal quantityFinalOceanAirDifferenceAmount;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.quantity_safe_inventory
     *
     * @mbg.generated
     */
    private BigDecimal quantitySafeInventory;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.turnover_days_air
     *
     * @mbg.generated
     */
    private BigDecimal turnoverDaysAir;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.turnover_days
     *
     * @mbg.generated
     */
    private BigDecimal turnoverDays;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.turnover_days_ocean
     *
     * @mbg.generated
     */
    private BigDecimal turnoverDaysOcean;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_ocean_30_difference
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceOcean30Difference;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_air_30_difference
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceAir30Difference;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_air_ocean_30_difference
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceAirOcean30Difference;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_ocean_difference_amount_radio
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceOceanDifferenceAmountRadio;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_air_difference_amount_radio
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceAirDifferenceAmountRadio;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_price_ocean_air_difference_radio
     *
     * @mbg.generated
     */
    private BigDecimal freightPriceOceanAirDifferenceRadio;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_stock_amount_ocean
     *
     * @mbg.generated
     */
    private BigDecimal freightStockAmountOcean;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_stock_amount_air
     *
     * @mbg.generated
     */
    private BigDecimal freightStockAmountAir;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_stock_amount_ocean_30
     *
     * @mbg.generated
     */
    private BigDecimal freightStockAmountOcean30;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.freight_stock_amount_air_30
     *
     * @mbg.generated
     */
    private BigDecimal freightStockAmountAir30;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.ocean_purchase
     *
     * @mbg.generated
     */
    private Integer oceanPurchase;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.ocean_purchase_amount
     *
     * @mbg.generated
     */
    private BigDecimal oceanPurchaseAmount;

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_report_profit_analysis.formula_json
     *
     * @mbg.generated
     */
    private String formulaJson;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_report_profit_analysis
     *
     * @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(", country=").append(country);
        sb.append(", warehouseType=").append(warehouseType);
        sb.append(", warehouseName=").append(warehouseName);
        sb.append(", transportType=").append(transportType);
        sb.append(", salesAvg180=").append(salesAvg180);
        sb.append(", salesAvg90=").append(salesAvg90);
        sb.append(", salesAvg30=").append(salesAvg30);
        sb.append(", salesAvg7=").append(salesAvg7);
        sb.append(", unitPrice=").append(unitPrice);
        sb.append(", quantityFinalAdvise=").append(quantityFinalAdvise);
        sb.append(", quantityFinalAdviseAmount=").append(quantityFinalAdviseAmount);
        sb.append(", turnover=").append(turnover);
        sb.append(", turnoverAmount=").append(turnoverAmount);
        sb.append(", freightPrice=").append(freightPrice);
        sb.append(", freightUnitPrice=").append(freightUnitPrice);
        sb.append(", quantityFinalAdviseOcean=").append(quantityFinalAdviseOcean);
        sb.append(", quantityFinalAdviseOceanAmount=").append(quantityFinalAdviseOceanAmount);
        sb.append(", freightPriceOcean=").append(freightPriceOcean);
        sb.append(", quantityFinalAdviseAir=").append(quantityFinalAdviseAir);
        sb.append(", quantityFinalAdviseAirAmount=").append(quantityFinalAdviseAirAmount);
        sb.append(", freightPriceAir=").append(freightPriceAir);
        sb.append(", freightPriceOceanDifferenceAmount=").append(freightPriceOceanDifferenceAmount);
        sb.append(", quantityFinalOceanDifferenceAmount=").append(quantityFinalOceanDifferenceAmount);
        sb.append(", freightPriceAirDifferenceAmount=").append(freightPriceAirDifferenceAmount);
        sb.append(", quantityFinalAirDifferenceAmount=").append(quantityFinalAirDifferenceAmount);
        sb.append(", freightPriceOceanAirDifference=").append(freightPriceOceanAirDifference);
        sb.append(", quantityFinalOceanAirDifferenceAmount=").append(quantityFinalOceanAirDifferenceAmount);
        sb.append(", quantitySafeInventory=").append(quantitySafeInventory);
        sb.append(", turnoverDaysAir=").append(turnoverDaysAir);
        sb.append(", turnoverDays=").append(turnoverDays);
        sb.append(", turnoverDaysOcean=").append(turnoverDaysOcean);
        sb.append(", freightPriceOcean30Difference=").append(freightPriceOcean30Difference);
        sb.append(", freightPriceAir30Difference=").append(freightPriceAir30Difference);
        sb.append(", freightPriceAirOcean30Difference=").append(freightPriceAirOcean30Difference);
        sb.append(", freightPriceOceanDifferenceAmountRadio=").append(freightPriceOceanDifferenceAmountRadio);
        sb.append(", freightPriceAirDifferenceAmountRadio=").append(freightPriceAirDifferenceAmountRadio);
        sb.append(", freightPriceOceanAirDifferenceRadio=").append(freightPriceOceanAirDifferenceRadio);
        sb.append(", freightStockAmountOcean=").append(freightStockAmountOcean);
        sb.append(", freightStockAmountAir=").append(freightStockAmountAir);
        sb.append(", freightStockAmountOcean30=").append(freightStockAmountOcean30);
        sb.append(", freightStockAmountAir30=").append(freightStockAmountAir30);
        sb.append(", oceanPurchase=").append(oceanPurchase);
        sb.append(", oceanPurchaseAmount=").append(oceanPurchaseAmount);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", formulaJson=").append(formulaJson);
        sb.append("]");
        return sb.toString();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_report_profit_analysis
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DcReportProfitAnalysis other = (DcReportProfitAnalysis) 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.getCountry() == null ? other.getCountry() == null : this.getCountry().equals(other.getCountry()))
            && (this.getWarehouseType() == null ? other.getWarehouseType() == null : this.getWarehouseType().equals(other.getWarehouseType()))
            && (this.getWarehouseName() == null ? other.getWarehouseName() == null : this.getWarehouseName().equals(other.getWarehouseName()))
            && (this.getTransportType() == null ? other.getTransportType() == null : this.getTransportType().equals(other.getTransportType()))
            && (this.getSalesAvg180() == null ? other.getSalesAvg180() == null : this.getSalesAvg180().equals(other.getSalesAvg180()))
            && (this.getSalesAvg90() == null ? other.getSalesAvg90() == null : this.getSalesAvg90().equals(other.getSalesAvg90()))
            && (this.getSalesAvg30() == null ? other.getSalesAvg30() == null : this.getSalesAvg30().equals(other.getSalesAvg30()))
            && (this.getSalesAvg7() == null ? other.getSalesAvg7() == null : this.getSalesAvg7().equals(other.getSalesAvg7()))
            && (this.getUnitPrice() == null ? other.getUnitPrice() == null : this.getUnitPrice().equals(other.getUnitPrice()))
            && (this.getQuantityFinalAdvise() == null ? other.getQuantityFinalAdvise() == null : this.getQuantityFinalAdvise().equals(other.getQuantityFinalAdvise()))
            && (this.getQuantityFinalAdviseAmount() == null ? other.getQuantityFinalAdviseAmount() == null : this.getQuantityFinalAdviseAmount().equals(other.getQuantityFinalAdviseAmount()))
            && (this.getTurnover() == null ? other.getTurnover() == null : this.getTurnover().equals(other.getTurnover()))
            && (this.getTurnoverAmount() == null ? other.getTurnoverAmount() == null : this.getTurnoverAmount().equals(other.getTurnoverAmount()))
            && (this.getFreightPrice() == null ? other.getFreightPrice() == null : this.getFreightPrice().equals(other.getFreightPrice()))
            && (this.getFreightUnitPrice() == null ? other.getFreightUnitPrice() == null : this.getFreightUnitPrice().equals(other.getFreightUnitPrice()))
            && (this.getQuantityFinalAdviseOcean() == null ? other.getQuantityFinalAdviseOcean() == null : this.getQuantityFinalAdviseOcean().equals(other.getQuantityFinalAdviseOcean()))
            && (this.getQuantityFinalAdviseOceanAmount() == null ? other.getQuantityFinalAdviseOceanAmount() == null : this.getQuantityFinalAdviseOceanAmount().equals(other.getQuantityFinalAdviseOceanAmount()))
            && (this.getFreightPriceOcean() == null ? other.getFreightPriceOcean() == null : this.getFreightPriceOcean().equals(other.getFreightPriceOcean()))
            && (this.getQuantityFinalAdviseAir() == null ? other.getQuantityFinalAdviseAir() == null : this.getQuantityFinalAdviseAir().equals(other.getQuantityFinalAdviseAir()))
            && (this.getQuantityFinalAdviseAirAmount() == null ? other.getQuantityFinalAdviseAirAmount() == null : this.getQuantityFinalAdviseAirAmount().equals(other.getQuantityFinalAdviseAirAmount()))
            && (this.getFreightPriceAir() == null ? other.getFreightPriceAir() == null : this.getFreightPriceAir().equals(other.getFreightPriceAir()))
            && (this.getFreightPriceOceanDifferenceAmount() == null ? other.getFreightPriceOceanDifferenceAmount() == null : this.getFreightPriceOceanDifferenceAmount().equals(other.getFreightPriceOceanDifferenceAmount()))
            && (this.getQuantityFinalOceanDifferenceAmount() == null ? other.getQuantityFinalOceanDifferenceAmount() == null : this.getQuantityFinalOceanDifferenceAmount().equals(other.getQuantityFinalOceanDifferenceAmount()))
            && (this.getFreightPriceAirDifferenceAmount() == null ? other.getFreightPriceAirDifferenceAmount() == null : this.getFreightPriceAirDifferenceAmount().equals(other.getFreightPriceAirDifferenceAmount()))
            && (this.getQuantityFinalAirDifferenceAmount() == null ? other.getQuantityFinalAirDifferenceAmount() == null : this.getQuantityFinalAirDifferenceAmount().equals(other.getQuantityFinalAirDifferenceAmount()))
            && (this.getFreightPriceOceanAirDifference() == null ? other.getFreightPriceOceanAirDifference() == null : this.getFreightPriceOceanAirDifference().equals(other.getFreightPriceOceanAirDifference()))
            && (this.getQuantityFinalOceanAirDifferenceAmount() == null ? other.getQuantityFinalOceanAirDifferenceAmount() == null : this.getQuantityFinalOceanAirDifferenceAmount().equals(other.getQuantityFinalOceanAirDifferenceAmount()))
            && (this.getQuantitySafeInventory() == null ? other.getQuantitySafeInventory() == null : this.getQuantitySafeInventory().equals(other.getQuantitySafeInventory()))
            && (this.getTurnoverDaysAir() == null ? other.getTurnoverDaysAir() == null : this.getTurnoverDaysAir().equals(other.getTurnoverDaysAir()))
            && (this.getTurnoverDays() == null ? other.getTurnoverDays() == null : this.getTurnoverDays().equals(other.getTurnoverDays()))
            && (this.getTurnoverDaysOcean() == null ? other.getTurnoverDaysOcean() == null : this.getTurnoverDaysOcean().equals(other.getTurnoverDaysOcean()))
            && (this.getFreightPriceOcean30Difference() == null ? other.getFreightPriceOcean30Difference() == null : this.getFreightPriceOcean30Difference().equals(other.getFreightPriceOcean30Difference()))
            && (this.getFreightPriceAir30Difference() == null ? other.getFreightPriceAir30Difference() == null : this.getFreightPriceAir30Difference().equals(other.getFreightPriceAir30Difference()))
            && (this.getFreightPriceAirOcean30Difference() == null ? other.getFreightPriceAirOcean30Difference() == null : this.getFreightPriceAirOcean30Difference().equals(other.getFreightPriceAirOcean30Difference()))
            && (this.getFreightPriceOceanDifferenceAmountRadio() == null ? other.getFreightPriceOceanDifferenceAmountRadio() == null : this.getFreightPriceOceanDifferenceAmountRadio().equals(other.getFreightPriceOceanDifferenceAmountRadio()))
            && (this.getFreightPriceAirDifferenceAmountRadio() == null ? other.getFreightPriceAirDifferenceAmountRadio() == null : this.getFreightPriceAirDifferenceAmountRadio().equals(other.getFreightPriceAirDifferenceAmountRadio()))
            && (this.getFreightPriceOceanAirDifferenceRadio() == null ? other.getFreightPriceOceanAirDifferenceRadio() == null : this.getFreightPriceOceanAirDifferenceRadio().equals(other.getFreightPriceOceanAirDifferenceRadio()))
            && (this.getFreightStockAmountOcean() == null ? other.getFreightStockAmountOcean() == null : this.getFreightStockAmountOcean().equals(other.getFreightStockAmountOcean()))
            && (this.getFreightStockAmountAir() == null ? other.getFreightStockAmountAir() == null : this.getFreightStockAmountAir().equals(other.getFreightStockAmountAir()))
            && (this.getFreightStockAmountOcean30() == null ? other.getFreightStockAmountOcean30() == null : this.getFreightStockAmountOcean30().equals(other.getFreightStockAmountOcean30()))
            && (this.getFreightStockAmountAir30() == null ? other.getFreightStockAmountAir30() == null : this.getFreightStockAmountAir30().equals(other.getFreightStockAmountAir30()))
            && (this.getOceanPurchase() == null ? other.getOceanPurchase() == null : this.getOceanPurchase().equals(other.getOceanPurchase()))
            && (this.getOceanPurchaseAmount() == null ? other.getOceanPurchaseAmount() == null : this.getOceanPurchaseAmount().equals(other.getOceanPurchaseAmount()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getFormulaJson() == null ? other.getFormulaJson() == null : this.getFormulaJson().equals(other.getFormulaJson()));
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_report_profit_analysis
     *
     * @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 + ((getCountry() == null) ? 0 : getCountry().hashCode());
        result = prime * result + ((getWarehouseType() == null) ? 0 : getWarehouseType().hashCode());
        result = prime * result + ((getWarehouseName() == null) ? 0 : getWarehouseName().hashCode());
        result = prime * result + ((getTransportType() == null) ? 0 : getTransportType().hashCode());
        result = prime * result + ((getSalesAvg180() == null) ? 0 : getSalesAvg180().hashCode());
        result = prime * result + ((getSalesAvg90() == null) ? 0 : getSalesAvg90().hashCode());
        result = prime * result + ((getSalesAvg30() == null) ? 0 : getSalesAvg30().hashCode());
        result = prime * result + ((getSalesAvg7() == null) ? 0 : getSalesAvg7().hashCode());
        result = prime * result + ((getUnitPrice() == null) ? 0 : getUnitPrice().hashCode());
        result = prime * result + ((getQuantityFinalAdvise() == null) ? 0 : getQuantityFinalAdvise().hashCode());
        result = prime * result + ((getQuantityFinalAdviseAmount() == null) ? 0 : getQuantityFinalAdviseAmount().hashCode());
        result = prime * result + ((getTurnover() == null) ? 0 : getTurnover().hashCode());
        result = prime * result + ((getTurnoverAmount() == null) ? 0 : getTurnoverAmount().hashCode());
        result = prime * result + ((getFreightPrice() == null) ? 0 : getFreightPrice().hashCode());
        result = prime * result + ((getFreightUnitPrice() == null) ? 0 : getFreightUnitPrice().hashCode());
        result = prime * result + ((getQuantityFinalAdviseOcean() == null) ? 0 : getQuantityFinalAdviseOcean().hashCode());
        result = prime * result + ((getQuantityFinalAdviseOceanAmount() == null) ? 0 : getQuantityFinalAdviseOceanAmount().hashCode());
        result = prime * result + ((getFreightPriceOcean() == null) ? 0 : getFreightPriceOcean().hashCode());
        result = prime * result + ((getQuantityFinalAdviseAir() == null) ? 0 : getQuantityFinalAdviseAir().hashCode());
        result = prime * result + ((getQuantityFinalAdviseAirAmount() == null) ? 0 : getQuantityFinalAdviseAirAmount().hashCode());
        result = prime * result + ((getFreightPriceAir() == null) ? 0 : getFreightPriceAir().hashCode());
        result = prime * result + ((getFreightPriceOceanDifferenceAmount() == null) ? 0 : getFreightPriceOceanDifferenceAmount().hashCode());
        result = prime * result + ((getQuantityFinalOceanDifferenceAmount() == null) ? 0 : getQuantityFinalOceanDifferenceAmount().hashCode());
        result = prime * result + ((getFreightPriceAirDifferenceAmount() == null) ? 0 : getFreightPriceAirDifferenceAmount().hashCode());
        result = prime * result + ((getQuantityFinalAirDifferenceAmount() == null) ? 0 : getQuantityFinalAirDifferenceAmount().hashCode());
        result = prime * result + ((getFreightPriceOceanAirDifference() == null) ? 0 : getFreightPriceOceanAirDifference().hashCode());
        result = prime * result + ((getQuantityFinalOceanAirDifferenceAmount() == null) ? 0 : getQuantityFinalOceanAirDifferenceAmount().hashCode());
        result = prime * result + ((getQuantitySafeInventory() == null) ? 0 : getQuantitySafeInventory().hashCode());
        result = prime * result + ((getTurnoverDaysAir() == null) ? 0 : getTurnoverDaysAir().hashCode());
        result = prime * result + ((getTurnoverDays() == null) ? 0 : getTurnoverDays().hashCode());
        result = prime * result + ((getTurnoverDaysOcean() == null) ? 0 : getTurnoverDaysOcean().hashCode());
        result = prime * result + ((getFreightPriceOcean30Difference() == null) ? 0 : getFreightPriceOcean30Difference().hashCode());
        result = prime * result + ((getFreightPriceAir30Difference() == null) ? 0 : getFreightPriceAir30Difference().hashCode());
        result = prime * result + ((getFreightPriceAirOcean30Difference() == null) ? 0 : getFreightPriceAirOcean30Difference().hashCode());
        result = prime * result + ((getFreightPriceOceanDifferenceAmountRadio() == null) ? 0 : getFreightPriceOceanDifferenceAmountRadio().hashCode());
        result = prime * result + ((getFreightPriceAirDifferenceAmountRadio() == null) ? 0 : getFreightPriceAirDifferenceAmountRadio().hashCode());
        result = prime * result + ((getFreightPriceOceanAirDifferenceRadio() == null) ? 0 : getFreightPriceOceanAirDifferenceRadio().hashCode());
        result = prime * result + ((getFreightStockAmountOcean() == null) ? 0 : getFreightStockAmountOcean().hashCode());
        result = prime * result + ((getFreightStockAmountAir() == null) ? 0 : getFreightStockAmountAir().hashCode());
        result = prime * result + ((getFreightStockAmountOcean30() == null) ? 0 : getFreightStockAmountOcean30().hashCode());
        result = prime * result + ((getFreightStockAmountAir30() == null) ? 0 : getFreightStockAmountAir30().hashCode());
        result = prime * result + ((getOceanPurchase() == null) ? 0 : getOceanPurchase().hashCode());
        result = prime * result + ((getOceanPurchaseAmount() == null) ? 0 : getOceanPurchaseAmount().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getFormulaJson() == null) ? 0 : getFormulaJson().hashCode());
        return result;
    }
}