import { EquipmentsListItem } from "../equipment-management.interface";
import { CatalogFailure } from "./catalog-failure.interface";

export interface ResponseDataGetSymptomList {
  error: boolean;
  msg: string;
  response: Array<SymptomList>;
}

export interface ResponseDataSymptomList {
  error: boolean;
  msg: string;
  response: SymptomList;
}

export interface SymptomList {
  ID_SINTOMA: string;
  ID_FALLA: string;
  NOMBRE_SINTOMA: string;
  CLASIFICACION: string;
  CAUSA: string;
  DESCRIPCION: string;
  SOLUCION: string;
  LIMITE_VALOR: string;
  ID_MEDIDA: string;
  NOMBRE_MEDIDA: string;
  ACRONIMO_MEDIDA: string;
  ESTADO: string;
  USUARIO_REGISTRA: string;
  FECHA_REGISTRA: string;
  USUARIO_MODIFICA: string;
  FECHA_MODIFICA: string;
  EQUIPAMIENTOS: Array<EquipmentsListItem>;
  FALLAS: Array<CatalogFailure>;
}

export interface MatTableSymptomList{
  ID_SINTOMA: string;
  NOMBRE_SINTOMA: string;
  CAUSA: string;
  CLASIFICACION: string;
  LIMITE_VALOR: string;
  USUARIO_MODIFICA: string;
  FECHA_MODIFICA: string;
  ESTADO: string;
  ACTIONS?: null;
}
export interface RequestDataFormSymptom {
  ID_SINTOMA: string | null;
  NOMBRE_SINTOMA: string;
  CLASIFICACION: string;
  CAUSA: string;
  DESCRIPCION: string;
  SOLUCION: string;
  LIMITE_VALOR: string;
  ID_MEDIDA: string;
  FALLAS: string;
  EQUIPAMIENTOS: string;
  USUARIO: string;
  NUMERO_LINEA: number;
}

export interface RequestDataDeleteSymtom {
  ID_SINTOMA: string;
  NUMERO_LINEA: number;
  USUARIO: string;
}

export interface ActiveSymptomsListResponse{
  error: boolean;
  msg: string;
  response: ActiveSymptomsListItem[];
}

export interface ActiveSymptomsListItem {
  ID_SINTOMA: string;
  NOMBRE_SINTOMA: string;
  CLASIFICACION: string;
  CAUSA: string;
  DESCRIPCION: string;
  SOLUCION: string;
  LIMITE_VALOR: number;
  ID_MEDIDA: string;
  NOMBRE_MEDIDA: string;
  ACRONIMO_MEDIDA: string;
  ESTADO: string;
  USUARIO_REGISTRA: string;
  FECHA_REGISTRA: string;
  USUARIO_MODIFICA: string | null;
  FECHA_MODIFICA: string | null;
}


export interface RequestGenerateMTBF {
  ID_FALLA: string;
  CODIGO_EQUIPAMIENTO: string;
  FECHA_INICIO: string;
  FECHA_FINAL: string;
  NUMERO_LINEA: number;
  USUARIO: string;
}

export interface ResponseDataGenerateMTBF {
  error: boolean;
  msg: string;
  response: {
    HORAS_FUNCIONAMIENTO: number;
    CANTIDAD_MANTENIMIENTO_PREVENTIVO: number;
    CANTIDAD_FALLAS_TOTALES: number;
    HORAS_INACTIVIDAD: number;
    MTBF: number;
  }
}