package cn.com.usky.iot.entity;

import javax.persistence.*;
import java.sql.Date;
import java.sql.Timestamp;
import java.util.Objects;
import java.sql.Timestamp;
import java.util.Objects;

@Entity
@Table(name = "ytiot_t_water_analysis", schema = "ytIoT", catalog = "")
public class YtiotTWaterAnalysis {
    private int id;
    private String companyCode;
    private String dataStatistics;
    private String dispersionRate;
    private String leakageInvestigation;
    private String deviceAssociation;
    private String dataFluctuation;
    private String projectSituation;
    private String equipmentList;
    private String statisticalPeriod;
    private Timestamp creatTime;
    private String generationTime;

    @Basic
    @Column(name = "id")
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Basic
    @Column(name = "company_code")
    public String getCompanyCode() {
        return companyCode;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = companyCode;
    }

    @Basic
    @Column(name = "data_statistics")
    public String getDataStatistics() {
        return dataStatistics;
    }

    public void setDataStatistics(String dataStatistics) {
        this.dataStatistics = dataStatistics;
    }

    @Basic
    @Column(name = "dispersion_rate")
    public String getDispersionRate() {
        return dispersionRate;
    }

    public void setDispersionRate(String dispersionRate) {
        this.dispersionRate = dispersionRate;
    }

    @Basic
    @Column(name = "leakage_investigation")
    public String getLeakageInvestigation() {
        return leakageInvestigation;
    }

    public void setLeakageInvestigation(String leakageInvestigation) {
        this.leakageInvestigation = leakageInvestigation;
    }

    @Basic
    @Column(name = "device_association")
    public String getDeviceAssociation() {
        return deviceAssociation;
    }

    public void setDeviceAssociation(String deviceAssociation) {
        this.deviceAssociation = deviceAssociation;
    }

    @Basic
    @Column(name = "data_fluctuation")
    public String getDataFluctuation() {
        return dataFluctuation;
    }

    public void setDataFluctuation(String dataFluctuation) {
        this.dataFluctuation = dataFluctuation;
    }

    @Basic
    @Column(name = "project_situation")
    public String getProjectSituation() {
        return projectSituation;
    }

    public void setProjectSituation(String projectSituation) {
        this.projectSituation = projectSituation;
    }

    @Basic
    @Column(name = "equipment_list")
    public String getEquipmentList() {
        return equipmentList;
    }

    public void setEquipmentList(String equipmentList) {
        this.equipmentList = equipmentList;
    }

    @Basic
    @Column(name = "statistical_period")
    public String getStatisticalPeriod() {
        return statisticalPeriod;
    }

    public void setStatisticalPeriod(String statisticalPeriod) {
        this.statisticalPeriod = statisticalPeriod;
    }

    @Basic
    @Column(name = "creat_time")
    public Timestamp getCreatTime() {
        return creatTime;
    }

    public void setCreatTime(Timestamp creatTime) {
        this.creatTime = creatTime;
    }
    
    @Basic
    @Column(name = "generation_time")
    public String getGenerationTime() {
        return generationTime;
    }

    public void setGenerationTime(String generationTime) {
        this.generationTime = generationTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        YtiotTWaterAnalysis that = (YtiotTWaterAnalysis) o;
        return id == that.id && Objects.equals(companyCode, that.companyCode) && Objects.equals(dataStatistics, that.dataStatistics) && Objects.equals(dispersionRate, that.dispersionRate) && Objects.equals(leakageInvestigation, that.leakageInvestigation) && Objects.equals(deviceAssociation, that.deviceAssociation) && Objects.equals(dataFluctuation, that.dataFluctuation) && Objects.equals(projectSituation, that.projectSituation) && Objects.equals(equipmentList, that.equipmentList) && Objects.equals(statisticalPeriod, that.statisticalPeriod) && Objects.equals(creatTime, that.creatTime)&& Objects.equals(generationTime, that.generationTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, companyCode, dataStatistics, dispersionRate, leakageInvestigation, deviceAssociation, dataFluctuation, projectSituation, equipmentList, statisticalPeriod, creatTime, generationTime);
    }
}
