package com.shcd.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 靠泊集装箱码头船舶表
 *
 * @TableName SP_STATEMENT_CONTAINER
 */
@TableName(value = "GHJG_PORT_MANAGE.SP_STATEMENT_CONTAINER")
@Data
public class SpStatementContainer implements Serializable {

  /**
   *
   */
  @TableField(value = "ID")
  private String id;

  /**
   *
   */
  @TableField(value = "REPORT_DATE")
  private String reportDate;

  /**
   *
   */
  @TableField(value = "SHIP_USAGE")
  private BigDecimal shipUsage = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "SHIP_USAGE_TON")
  private BigDecimal shipUsageTon = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "CHARGE_TIME")
  private BigDecimal chargeTime;

  /**
   *
   */
  @TableField(value = "CHARGE_TIME_TON")
  private BigDecimal chargeTimeTon = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "ELECT_USAGE")
  private BigDecimal electUsage = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "ELECT_USAGE_TON")
  private BigDecimal electUsageTon = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "CREATE_TIME")
  private Date createTime;

  /**
   *
   */
  @TableField(value = "SUM_SHIP_USAGE_NUM", exist = false)
  private BigDecimal sumShipUsageNum = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "SUM_SHIP_USAGE_TON", exist = false)
  private BigDecimal sumShipUsageTon = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "SUM_CHARGE_TIME", exist = false)
  private BigDecimal sumChargeTime = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "SUM_ELECT_USE", exist = false)
  private BigDecimal sumElectUse = BigDecimal.ZERO;

  /**
   *
   */
  @TableField(value = "SUM_ELECT_USE_TON",exist = false)
  private BigDecimal sumElectUseTon = BigDecimal.ZERO;

  @TableField(exist = false)
  private static final long serialVersionUID = 1L;

  @Override
  public boolean equals(Object that) {
    if (this == that) {
      return true;
    }
    if (that == null) {
      return false;
    }
    if (getClass() != that.getClass()) {
      return false;
    }
    SpStatementContainer other = (SpStatementContainer) that;
    return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
        && (this.getReportDate() == null ? other.getReportDate() == null
        : this.getReportDate().equals(other.getReportDate()))
        && (this.getShipUsage() == null ? other.getShipUsage() == null
        : this.getShipUsage().equals(other.getShipUsage()))
        && (this.getShipUsageTon() == null ? other.getShipUsageTon() == null
        : this.getShipUsageTon().equals(other.getShipUsageTon()))
        && (this.getChargeTime() == null ? other.getChargeTime() == null
        : this.getChargeTime().equals(other.getChargeTime()))
        && (this.getChargeTimeTon() == null ? other.getChargeTimeTon() == null
        : this.getChargeTimeTon().equals(other.getChargeTimeTon()))
        && (this.getElectUsage() == null ? other.getElectUsage() == null
        : this.getElectUsage().equals(other.getElectUsage()))
        && (this.getElectUsageTon() == null ? other.getElectUsageTon() == null
        : this.getElectUsageTon().equals(other.getElectUsageTon()))
        && (this.getCreateTime() == null ? other.getCreateTime() == null
        : this.getCreateTime().equals(other.getCreateTime()))
        && (this.getSumShipUsageNum() == null ? other.getSumShipUsageNum() == null
        : this.getSumShipUsageNum().equals(other.getSumShipUsageNum()))
        && (this.getSumShipUsageTon() == null ? other.getSumShipUsageTon() == null
        : this.getSumShipUsageTon().equals(other.getSumShipUsageTon()))
        && (this.getSumChargeTime() == null ? other.getSumChargeTime() == null
        : this.getSumChargeTime().equals(other.getSumChargeTime()))
        && (this.getSumElectUse() == null ? other.getSumElectUse() == null
        : this.getSumElectUse().equals(other.getSumElectUse()))
        && (this.getSumElectUseTon() == null ? other.getSumElectUseTon() == null
        : this.getSumElectUseTon().equals(other.getSumElectUseTon()));
  }

  @Override
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
    result = prime * result + ((getReportDate() == null) ? 0 : getReportDate().hashCode());
    result = prime * result + ((getShipUsage() == null) ? 0 : getShipUsage().hashCode());
    result = prime * result + ((getShipUsageTon() == null) ? 0 : getShipUsageTon().hashCode());
    result = prime * result + ((getChargeTime() == null) ? 0 : getChargeTime().hashCode());
    result = prime * result + ((getChargeTimeTon() == null) ? 0 : getChargeTimeTon().hashCode());
    result = prime * result + ((getElectUsage() == null) ? 0 : getElectUsage().hashCode());
    result = prime * result + ((getElectUsageTon() == null) ? 0 : getElectUsageTon().hashCode());
    result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
    result =
        prime * result + ((getSumShipUsageNum() == null) ? 0 : getSumShipUsageNum().hashCode());
    result =
        prime * result + ((getSumShipUsageTon() == null) ? 0 : getSumShipUsageTon().hashCode());
    result = prime * result + ((getSumChargeTime() == null) ? 0 : getSumChargeTime().hashCode());
    result = prime * result + ((getSumElectUse() == null) ? 0 : getSumElectUse().hashCode());
    result = prime * result + ((getSumElectUseTon() == null) ? 0 : getSumElectUseTon().hashCode());
    return result;
  }

  @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(", reportDate=").append(reportDate);
    sb.append(", shipUsage=").append(shipUsage);
    sb.append(", shipUsageTon=").append(shipUsageTon);
    sb.append(", chargeTime=").append(chargeTime);
    sb.append(", chargeTimeTon=").append(chargeTimeTon);
    sb.append(", electUsage=").append(electUsage);
    sb.append(", electUsageTon=").append(electUsageTon);
    sb.append(", createTime=").append(createTime);
    sb.append(", sumShipUsageNum=").append(sumShipUsageNum);
    sb.append(", sumShipUsageTon=").append(sumShipUsageTon);
    sb.append(", sumChargeTime=").append(sumChargeTime);
    sb.append(", sumElectUse=").append(sumElectUse);
    sb.append(", sumElectUseTon=").append(sumElectUseTon);
    sb.append(", serialVersionUID=").append(serialVersionUID);
    sb.append("]");
    return sb.toString();
  }
}