package com.bailuntec.domain.entity;

import lombok.Data;

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

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

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

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_managecost.pay_time
     *
     * @mbg.generated
     */
    private LocalDateTime payTime;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_managecost.manage_cost_type
     *
     * @mbg.generated
     */
    private Integer manageCostType;

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_managecost.company_value
     *
     * @mbg.generated
     */
    private Integer companyValue;

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

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

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

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

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

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

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_managecost.cost_id1
     *
     * @mbg.generated
     */
    private Integer costId1;

    /**
     *
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database column dc_base_finance_managecost.cost_id
     *
     * @mbg.generated
     */
    private Integer costId;

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

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

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table dc_base_finance_managecost
     *
     * @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(", no=").append(no);
        sb.append(", receiveUnit=").append(receiveUnit);
        sb.append(", reason=").append(reason);
        sb.append(", payTime=").append(payTime);
        sb.append(", manageCostType=").append(manageCostType);
        sb.append(", departmentName=").append(departmentName);
        sb.append(", companyValue=").append(companyValue);
        sb.append(", companyName=").append(companyName);
        sb.append(", feeSuperType=").append(feeSuperType);
        sb.append(", feeSubType=").append(feeSubType);
        sb.append(", amount=").append(amount);
        sb.append(", currency=").append(currency);
        sb.append(", amountRmb=").append(amountRmb);
        sb.append(", costId1=").append(costId1);
        sb.append(", costId=").append(costId);
        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_finance_managecost
     *
     * @mbg.generated
     */
    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DcBaseFinanceManagecost other = (DcBaseFinanceManagecost) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getNo() == null ? other.getNo() == null : this.getNo().equals(other.getNo()))
            && (this.getReceiveUnit() == null ? other.getReceiveUnit() == null : this.getReceiveUnit().equals(other.getReceiveUnit()))
            && (this.getReason() == null ? other.getReason() == null : this.getReason().equals(other.getReason()))
            && (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
            && (this.getManageCostType() == null ? other.getManageCostType() == null : this.getManageCostType().equals(other.getManageCostType()))
            && (this.getDepartmentName() == null ? other.getDepartmentName() == null : this.getDepartmentName().equals(other.getDepartmentName()))
            && (this.getCompanyValue() == null ? other.getCompanyValue() == null : this.getCompanyValue().equals(other.getCompanyValue()))
            && (this.getCompanyName() == null ? other.getCompanyName() == null : this.getCompanyName().equals(other.getCompanyName()))
            && (this.getFeeSuperType() == null ? other.getFeeSuperType() == null : this.getFeeSuperType().equals(other.getFeeSuperType()))
            && (this.getFeeSubType() == null ? other.getFeeSubType() == null : this.getFeeSubType().equals(other.getFeeSubType()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
            && (this.getAmountRmb() == null ? other.getAmountRmb() == null : this.getAmountRmb().equals(other.getAmountRmb()))
            && (this.getCostId1() == null ? other.getCostId1() == null : this.getCostId1().equals(other.getCostId1()))
            && (this.getCostId() == null ? other.getCostId() == null : this.getCostId().equals(other.getCostId()))
            && (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_finance_managecost
     *
     * @mbg.generated
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getNo() == null) ? 0 : getNo().hashCode());
        result = prime * result + ((getReceiveUnit() == null) ? 0 : getReceiveUnit().hashCode());
        result = prime * result + ((getReason() == null) ? 0 : getReason().hashCode());
        result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
        result = prime * result + ((getManageCostType() == null) ? 0 : getManageCostType().hashCode());
        result = prime * result + ((getDepartmentName() == null) ? 0 : getDepartmentName().hashCode());
        result = prime * result + ((getCompanyValue() == null) ? 0 : getCompanyValue().hashCode());
        result = prime * result + ((getCompanyName() == null) ? 0 : getCompanyName().hashCode());
        result = prime * result + ((getFeeSuperType() == null) ? 0 : getFeeSuperType().hashCode());
        result = prime * result + ((getFeeSubType() == null) ? 0 : getFeeSubType().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
        result = prime * result + ((getAmountRmb() == null) ? 0 : getAmountRmb().hashCode());
        result = prime * result + ((getCostId1() == null) ? 0 : getCostId1().hashCode());
        result = prime * result + ((getCostId() == null) ? 0 : getCostId().hashCode());
        result = prime * result + ((getGmtCreateTime() == null) ? 0 : getGmtCreateTime().hashCode());
        result = prime * result + ((getGmtModifyTime() == null) ? 0 : getGmtModifyTime().hashCode());
        return result;
    }
}