package com.bailuntec.domain.entity;

import lombok.Data;

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_logistics.wms_id
     *
     * @mbg.generated
     */
    private Integer wmsId;

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

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

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

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

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_logistics.merchant_reconciliation_time
     *
     * @mbg.generated
     */
    private LocalDateTime merchantReconciliationTime;

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

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

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_logistics.shipment_time
     *
     * @mbg.generated
     */
    private LocalDateTime shipmentTime;

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

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

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

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

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

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

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

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

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_logistics.last_modification_time
     *
     * @mbg.generated
     */
    private LocalDateTime lastModificationTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_logistics.gmt_create_time
     *
     * @mbg.generated
     */
    private LocalDateTime gmtCreateTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_logistics.gmt_modify_time
     *
     * @mbg.generated
     */
    private LocalDateTime gmtModifyTime;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_logistics
     *
     * @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(", wmsId=").append(wmsId);
        sb.append(", companyCode=").append(companyCode);
        sb.append(", companyName=").append(companyName);
        sb.append(", billCode=").append(billCode);
        sb.append(", trackingNo=").append(trackingNo);
        sb.append(", merchantOutputWeightKg=").append(merchantOutputWeightKg);
        sb.append(", merchantShipmentCostCny=").append(merchantShipmentCostCny);
        sb.append(", merchantReconciliationTime=").append(merchantReconciliationTime);
        sb.append(", reconciliationType=").append(reconciliationType);
        sb.append(", infoId=").append(infoId);
        sb.append(", outputWeightKg=").append(outputWeightKg);
        sb.append(", bailunShipmentCostCny=").append(bailunShipmentCostCny);
        sb.append(", shipmentTime=").append(shipmentTime);
        sb.append(", diffStateType=").append(diffStateType);
        sb.append(", merchantOutputWeightKgOriginal=").append(merchantOutputWeightKgOriginal);
        sb.append(", merchantShipmentCostSnyOriginal=").append(merchantShipmentCostSnyOriginal);
        sb.append(", costDiffDecimal=").append(costDiffDecimal);
        sb.append(", weightDiffDecimal=").append(weightDiffDecimal);
        sb.append(", lineName=").append(lineName);
        sb.append(", feeCode=").append(feeCode);
        sb.append(", remark=").append(remark);
        sb.append(", generateBillStatus=").append(generateBillStatus);
        sb.append(", feeProductType=").append(feeProductType);
        sb.append(", lastModificationTime=").append(lastModificationTime);
        sb.append(", gmtCreateTime=").append(gmtCreateTime);
        sb.append(", gmtModifyTime=").append(gmtModifyTime);
        sb.append("]");
        return sb.toString();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_logistics
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DcBaseLogistics other = (DcBaseLogistics) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getWmsId() == null ? other.getWmsId() == null : this.getWmsId().equals(other.getWmsId()))
            && (this.getCompanyCode() == null ? other.getCompanyCode() == null : this.getCompanyCode().equals(other.getCompanyCode()))
            && (this.getCompanyName() == null ? other.getCompanyName() == null : this.getCompanyName().equals(other.getCompanyName()))
            && (this.getBillCode() == null ? other.getBillCode() == null : this.getBillCode().equals(other.getBillCode()))
            && (this.getTrackingNo() == null ? other.getTrackingNo() == null : this.getTrackingNo().equals(other.getTrackingNo()))
            && (this.getMerchantOutputWeightKg() == null ? other.getMerchantOutputWeightKg() == null : this.getMerchantOutputWeightKg().equals(other.getMerchantOutputWeightKg()))
            && (this.getMerchantShipmentCostCny() == null ? other.getMerchantShipmentCostCny() == null : this.getMerchantShipmentCostCny().equals(other.getMerchantShipmentCostCny()))
            && (this.getMerchantReconciliationTime() == null ? other.getMerchantReconciliationTime() == null : this.getMerchantReconciliationTime().equals(other.getMerchantReconciliationTime()))
            && (this.getReconciliationType() == null ? other.getReconciliationType() == null : this.getReconciliationType().equals(other.getReconciliationType()))
            && (this.getInfoId() == null ? other.getInfoId() == null : this.getInfoId().equals(other.getInfoId()))
            && (this.getOutputWeightKg() == null ? other.getOutputWeightKg() == null : this.getOutputWeightKg().equals(other.getOutputWeightKg()))
            && (this.getBailunShipmentCostCny() == null ? other.getBailunShipmentCostCny() == null : this.getBailunShipmentCostCny().equals(other.getBailunShipmentCostCny()))
            && (this.getShipmentTime() == null ? other.getShipmentTime() == null : this.getShipmentTime().equals(other.getShipmentTime()))
            && (this.getDiffStateType() == null ? other.getDiffStateType() == null : this.getDiffStateType().equals(other.getDiffStateType()))
            && (this.getMerchantOutputWeightKgOriginal() == null ? other.getMerchantOutputWeightKgOriginal() == null : this.getMerchantOutputWeightKgOriginal().equals(other.getMerchantOutputWeightKgOriginal()))
            && (this.getMerchantShipmentCostSnyOriginal() == null ? other.getMerchantShipmentCostSnyOriginal() == null : this.getMerchantShipmentCostSnyOriginal().equals(other.getMerchantShipmentCostSnyOriginal()))
            && (this.getCostDiffDecimal() == null ? other.getCostDiffDecimal() == null : this.getCostDiffDecimal().equals(other.getCostDiffDecimal()))
            && (this.getWeightDiffDecimal() == null ? other.getWeightDiffDecimal() == null : this.getWeightDiffDecimal().equals(other.getWeightDiffDecimal()))
            && (this.getLineName() == null ? other.getLineName() == null : this.getLineName().equals(other.getLineName()))
            && (this.getFeeCode() == null ? other.getFeeCode() == null : this.getFeeCode().equals(other.getFeeCode()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getGenerateBillStatus() == null ? other.getGenerateBillStatus() == null : this.getGenerateBillStatus().equals(other.getGenerateBillStatus()))
            && (this.getFeeProductType() == null ? other.getFeeProductType() == null : this.getFeeProductType().equals(other.getFeeProductType()))
            && (this.getLastModificationTime() == null ? other.getLastModificationTime() == null : this.getLastModificationTime().equals(other.getLastModificationTime()))
            && (this.getGmtCreateTime() == null ? other.getGmtCreateTime() == null : this.getGmtCreateTime().equals(other.getGmtCreateTime()))
            && (this.getGmtModifyTime() == null ? other.getGmtModifyTime() == null : this.getGmtModifyTime().equals(other.getGmtModifyTime()));
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_logistics
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getWmsId() == null) ? 0 : getWmsId().hashCode());
        result = prime * result + ((getCompanyCode() == null) ? 0 : getCompanyCode().hashCode());
        result = prime * result + ((getCompanyName() == null) ? 0 : getCompanyName().hashCode());
        result = prime * result + ((getBillCode() == null) ? 0 : getBillCode().hashCode());
        result = prime * result + ((getTrackingNo() == null) ? 0 : getTrackingNo().hashCode());
        result = prime * result + ((getMerchantOutputWeightKg() == null) ? 0 : getMerchantOutputWeightKg().hashCode());
        result = prime * result + ((getMerchantShipmentCostCny() == null) ? 0 : getMerchantShipmentCostCny().hashCode());
        result = prime * result + ((getMerchantReconciliationTime() == null) ? 0 : getMerchantReconciliationTime().hashCode());
        result = prime * result + ((getReconciliationType() == null) ? 0 : getReconciliationType().hashCode());
        result = prime * result + ((getInfoId() == null) ? 0 : getInfoId().hashCode());
        result = prime * result + ((getOutputWeightKg() == null) ? 0 : getOutputWeightKg().hashCode());
        result = prime * result + ((getBailunShipmentCostCny() == null) ? 0 : getBailunShipmentCostCny().hashCode());
        result = prime * result + ((getShipmentTime() == null) ? 0 : getShipmentTime().hashCode());
        result = prime * result + ((getDiffStateType() == null) ? 0 : getDiffStateType().hashCode());
        result = prime * result + ((getMerchantOutputWeightKgOriginal() == null) ? 0 : getMerchantOutputWeightKgOriginal().hashCode());
        result = prime * result + ((getMerchantShipmentCostSnyOriginal() == null) ? 0 : getMerchantShipmentCostSnyOriginal().hashCode());
        result = prime * result + ((getCostDiffDecimal() == null) ? 0 : getCostDiffDecimal().hashCode());
        result = prime * result + ((getWeightDiffDecimal() == null) ? 0 : getWeightDiffDecimal().hashCode());
        result = prime * result + ((getLineName() == null) ? 0 : getLineName().hashCode());
        result = prime * result + ((getFeeCode() == null) ? 0 : getFeeCode().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getGenerateBillStatus() == null) ? 0 : getGenerateBillStatus().hashCode());
        result = prime * result + ((getFeeProductType() == null) ? 0 : getFeeProductType().hashCode());
        result = prime * result + ((getLastModificationTime() == null) ? 0 : getLastModificationTime().hashCode());
        result = prime * result + ((getGmtCreateTime() == null) ? 0 : getGmtCreateTime().hashCode());
        result = prime * result + ((getGmtModifyTime() == null) ? 0 : getGmtModifyTime().hashCode());
        return result;
    }
}