/* 
* Copyright 2016 Agencia Estatal de Administración Tibutaria
*
* Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto
* sean aprobadas por la Comisión Europea– versiones
* posteriores de la EUPL (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en:
*  
* https://joinup.ec.europa.eu/software/page/eupl
*  
* Salvo cuando lo exija la legislación aplicable o se acuerde
* por escrito, el programa distribuido con arreglo a la
* Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES
* DE NINGÚN TIPO, ni expresasni implícitas.
*
* Véase la Licencia en el idioma concreto que rige los permisos y 
* limitaciones que establece la Licencia.
*/ 

package administrador.datos;

import administrador.utiles.Global;

public class RegistroMesa implements IRegistro {

   private final String partes[];
   public String Id;
   public String puesto;
   public String codigo;
   public String turno;
   public int tiempoLibre;
   public int tiempoOcupado;
   public int tiempoDescanso;
   public String horaUltimoMovimiento;
   public String horaPrimeraConexion;
   public String codigoCentro;
   public int numeroCitas;
   public String citaMultiple;
   public String estado = "";
   public String cola;
   boolean desconectado;

   public RegistroMesa(String msg) {
      partes = Global.split(msg.toUpperCase(), '|');
      partes[0] = ((partes[1].length() > 1) ? "" : "0") + partes[1] + partes[0];
      Id = partes[0];
      puesto = partes[1];
      codigo = partes[2];
      turno = partes[3];
      tiempoLibre = Integer.parseInt(partes[4]);
      tiempoOcupado = Integer.parseInt(partes[5]);
      tiempoDescanso = Integer.parseInt(partes[6]);
      horaUltimoMovimiento = partes[7];
      horaPrimeraConexion = partes[8];
      codigoCentro = partes[9];
      numeroCitas = Integer.parseInt(partes[10]);
      citaMultiple = partes[11];
      estado = partes[12];
      cola = partes[13];
      desconectado = partes[12].equals("0");
   }

   public String registro(String sep) {
      StringBuilder s = new StringBuilder(partes[1]);
      for (int i = 2; i < partes.length; i++) {
         s.append(sep).append(partes[i]);
      }
      return s.toString();
   }

   public String columna(int n) {
      if (n == 19) {
         return "NO";
      }
      return partes[n];
   }

   @Override
   public boolean estaDesconectado() {
      return desconectado;
   }

   @Override
   public String getId() {
      return Id;
   }
}
