package com.inspect.partrolresult.domain;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Objects;

@Setter
@Getter
@ToString
public class PatrolResultRef {
    private String lineId;
    private Long mainId;
    private String deviceId;
    private String devType;
    private String deviceSource;
    private String time;
    private String value;
    private String algType;
    private String algName;
    private String threshold;
    private String filePath;
    private String description;
    private String pointStatus;

    private String resultType;
    private String valueUnit;
    private String unit;
    private String resultContent;
    private String resStatus;
    private String resImgUrl;
    private String resValue;
    private String resDesc;
    private String deviceName;
    private String patrolDeviceName;
    private String taskName;
    private String dataType;
    private String patrolDeviceCode;
    private String taskCode;
    private String taskPatrolledId;
    private String originalValue;
    private String filter;

    @Override
    public boolean equals(Object object) {
        if (this == object) return true;
        if (object == null || getClass() != object.getClass()) return false;
        PatrolResultRef that = (PatrolResultRef) object;
        return Objects.equals(lineId, that.lineId) && Objects.equals(deviceId, that.deviceId) && Objects.equals(devType, that.devType) && Objects.equals(deviceSource, deviceSource) && Objects.equals(time, that.time) && Objects.equals(value, that.value) && Objects.equals(algType, that.algType) && Objects.equals(algName, that.algName) && Objects.equals(threshold, that.threshold) && Objects.equals(filePath, that.filePath) && Objects.equals(description, that.description) && Objects.equals(pointStatus, that.pointStatus) && Objects.equals(valueUnit, that.valueUnit) && Objects.equals(resultContent, that.resultContent);
    }

    @Override
    public int hashCode() {
        return Objects.hash(lineId, deviceId, devType, deviceSource, time, value, algType, algName, threshold, filePath, description, pointStatus, valueUnit, resultContent);
    }
}
