/* 
* 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 servidor.datos;
import java.sql.*;
import java.util.*;

import servidor.utiles.Global;

public class TablaPuestos extends Tabla_Base{

   Hashtable lista;
   
   

   public TablaPuestos(Connection conexion) {
		  super(conexion, "Operadores");
		  lista = new Hashtable();

	   }
   public void cargarTabla() {
	  try {
		 lista.clear();
		 Connection conexion = BaseDatos.bd().conexion;
		 ResultSet rs;
		 Statement stmt = conexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
		 rs = stmt.executeQuery("SELECT * FROM puestos ORDER BY puesto");
		 rs.beforeFirst();
		 while(rs.next()) {
			Mesa m = new Mesa();
			String key = rs.getString(1);
			m.capacidades = rs.getString(2);
			m.exclusivo = rs.getBoolean(3);
			m.IdZona=new Integer(rs.getInt(4));
			lista.put(key, m);
		 }
		 rs.close();

	  } catch(Exception exc) {
		  Global.log.warning("Error al cargar tabla de puestos:\n" + exc.getMessage());
	  }
   }
   
   public boolean hayDatos(String mesa) {
	  return lista.containsKey(mesa);
   }
   
   public boolean esExclusivo(String mesa) {
	  Mesa m = (Mesa)lista.get(mesa);
	  return m.exclusivo;
   }
   
   public String capacidades(String mesa) {
	  Mesa m = (Mesa)lista.get(mesa);
	  return m.capacidades;
   }
   public Integer zona(String mesa){
		  Mesa m = (Mesa)lista.get(mesa);
		  return m.IdZona;   
   }
   public Iterator listaiter(){
	   return lista.keySet().iterator();
	
   }
  public int size(){
	  return lista.keySet().size();
  }
   class Mesa {
	  String capacidades;
	  Integer IdZona;
	  boolean exclusivo;
	  
   }

}
