package com.dhcc.finance.main.domain;

import java.util.Date;
import java.util.Objects;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@ApiModel(value = "CwBdAccassitem",description = "辅助核算项目")
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class CwBdAccassitem {
    @ApiModelProperty(value = "辅助核算项目主键", required = true, example = "")
    private String pkAccassitem;

    @ApiModelProperty(value = "辅助编码", required = false, example = "")
    private String code;

    @ApiModelProperty(value = "辅助名称", required = false, example = "")
    private String name;

    @ApiModelProperty(value = "表名", required = false, example = "")
    private String tablecode;

    @ApiModelProperty(value = "主键字段", required = false, example = "")
    private String pkfield;

    @ApiModelProperty(value = "编码字段", required = false, example = "")
    private String codefield;

    @ApiModelProperty(value = "名称字段", required = false, example = "")
    private String namefield;

    @ApiModelProperty(value = "过滤条件", required = false, example = "")
    private String filtersql;

    @ApiModelProperty(value = "链接地址", required = false, example = "")
    private String address;

    @ApiModelProperty(value = "启用状态", required = false, example = "")
    private String enablestate;

    @ApiModelProperty(value = "使用状态", required = false, example = "")
    private String useState;

    @ApiModelProperty(value = "录入人员", required = false, example = "")
    private String createUser;

    @ApiModelProperty(value = "录入时间", required = false, example = "")
    private Date createTime;

    @ApiModelProperty(value = "最后修改人员", required = false, example = "")
    private String updateUser;

    @ApiModelProperty(value = "最后修改时间", required = false, example = "CURRENT_TIMESTAMP")
    private Date updateTime;

    @ApiModelProperty(value = "备注", required = false, example = "")
    private String remark;

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        CwBdAccassitem that = (CwBdAccassitem) o;
        return Objects.equals(pkAccassitem, that.pkAccassitem) &&
                Objects.equals(code, that.code) &&
                Objects.equals(name, that.name) &&
                Objects.equals(tablecode, that.tablecode) &&
                Objects.equals(pkfield, that.pkfield) &&
                Objects.equals(codefield, that.codefield) &&
                Objects.equals(namefield, that.namefield) &&
                Objects.equals(filtersql, that.filtersql) &&
                Objects.equals(address, that.address) &&
                Objects.equals(enablestate, that.enablestate) &&
                Objects.equals(useState, that.useState) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(remark, that.remark);
    }

    @Override
    public int hashCode() {
        return Objects.hash(pkAccassitem, code, name, tablecode, pkfield, codefield, namefield, filtersql, address, enablestate, useState, createUser, createTime, updateUser, updateTime, remark);
    }
}