Package fing.satode.ui.registros.client

Source Code of fing.satode.ui.registros.client.EntryPointEvento$FormDialogBox

package fing.satode.ui.registros.client;

import java.util.ArrayList;
import java.util.Date;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.LinkElement;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CaptionPanel;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.datepicker.client.DatePicker;

import fing.satode.data.CiudadDTO;
import fing.satode.data.DepartamentoDTO;
import fing.satode.data.EventoDTO;
import fing.satode.constantes.MedidaTiempo;
import fing.satode.data.TipoEventoDTO;
import fing.satode.ui.general.client.IBasicos;
import fing.satode.ui.general.client.IBasicosAsync;
import fing.satode.ui.general.data.KeyNumeric;

public class EntryPointEvento implements EntryPoint {

  final Button nuevoB = new Button("Nuevo");
  final VerticalPanel vertical = new VerticalPanel();
  private ArrayList<EventoDTO> eventosGlobal;
  private ArrayList<TipoEventoDTO> tiposEventosGlobal;
  private ArrayList<DepartamentoDTO> departamentosGlobal;
  private Grid eventos;
  final Label modificarLabel= new Label("Modificar");
  final Label eliminarLabel= new Label("Eliminar");
 
  @Override
  public void onModuleLoad() {
    // TODO Auto-generated method stub
    RootPanel.get("botones").add(nuevoB);
    nuevoB.addClickHandler(new ClickHandler() {
     
      @Override
      public void onClick(ClickEvent event) {
        // TODO Auto-generated method stub
        FormDialogBox dialog= new FormDialogBox(0L, "nuevo");
        dialog.show();
      }
    });
    cargarLista()
  }

  private void cargarLista() {
    // TODO Auto-generated method stub
    RootPanel.get("eventos").clear();
    vertical.clear();
    RootPanel.get("eventos").add(vertical);
   
    IEventoAsync servidorEvento = GWT.create(IEvento.class);
   
    servidorEvento.listaEventos(new AsyncCallback<ArrayList<EventoDTO>>() {
     
      @Override
      public void onSuccess(ArrayList<EventoDTO> result) {
        // TODO Auto-generated method stub
        eventosGlobal=result;
        eventos = new Grid(result.size()+1,9);
        eventos.setWidget(0, 0, new Label("ID"));
        eventos.setWidget(0, 1, new Label("Fecha Inicio"));
        eventos.setWidget(0, 2, new Label("Tipo Evento"));
        eventos.setWidget(0, 3, new Label("Ciudad"));
        eventos.setWidget(0, 4, new Label("Fuente"));
        eventos.setWidget(0, 5, new Label("Muertos"));
        eventos.setWidget(0, 6, new Label("Perdidas Dolares"));
        eventos.setWidget(0, 7, modificarLabel);
        eventos.setWidget(0, 8, eliminarLabel);
       
        for(int i=0;i<9;i++){
          eventos.getCellFormatter().setStyleName(0,i, "tbl-cab");
        }
       
        eventos.setBorderWidth(1);
        int row=1;
        DateTimeFormat format=DateTimeFormat.getFormat("dd/MM/yyyy");
        for(EventoDTO e: result){
          eventos.setWidget(row, 0, new Label(e.getId().toString()));
          eventos.setWidget(row, 1, new Label(format.format(e.getFechaInicio())));
          eventos.setWidget(row, 2, new Label(e.getTipoEvento().getNombre()));
          eventos.setWidget(row, 3, new Label(e.getCiudad().getNombre()));
          eventos.setWidget(row, 4, new Label(e.getFuente()));
          eventos.setWidget(row, 5, new Label(String.valueOf(e.getMuertos())));
          eventos.setWidget(row, 6, new Label(String.valueOf(e.getPerdidasDolares())));
         
          final Long id= e.getId();
          final Image modificarI= new Image("images/modificar.png");
          modificarI.addClickHandler(new ClickHandler() {
           
            @Override
            public void onClick(ClickEvent event) {
              // TODO Auto-generated method stub
              FormDialogBox dialog= new FormDialogBox(id, "modificar");
              dialog.show();
            }
          });
         
          final Image eliminarI= new Image("images/eliminar.png");
         
          eliminarI.addClickHandler(new ClickHandler() {
           
            @Override
            public void onClick(ClickEvent event) {
              // TODO Auto-generated method stub
              FormDialogBox dialog= new FormDialogBox(id, "eliminar");
              dialog.show();
            }
          });
          eventos.setWidget(row, 7, modificarI);
          eventos.setWidget(row, 8, eliminarI);
          row++;
        }
        vertical.add(eventos);
       
      }
     
      @Override
      public void onFailure(Throwable caught) {
        // TODO Auto-generated method stub
        caught.printStackTrace();
        Window.alert("ERROR AJAX");
      }
    });
   
    servidorEvento.listaTipoEventos(new AsyncCallback<ArrayList<TipoEventoDTO>>() {
     
      @Override
      public void onSuccess(ArrayList<TipoEventoDTO> result) {
        // TODO Auto-generated method stub
        tiposEventosGlobal=result;
      }
     
      @Override
      public void onFailure(Throwable caught) {
        // TODO Auto-generated method stub
        caught.printStackTrace();
        Window.alert("ERROR AJAX");
      }
    });
   
    IBasicosAsync servidorBasicos = GWT.create(IBasicos.class);
   
    servidorBasicos.listaDepartamentos(new AsyncCallback<ArrayList<DepartamentoDTO>>() {
     
      @Override
      public void onSuccess(ArrayList<DepartamentoDTO> result) {
        // TODO Auto-generated method stub
        departamentosGlobal=result;
      }
     
      @Override
      public void onFailure(Throwable caught) {
        // TODO Auto-generated method stub
        caught.printStackTrace();
        Window.alert("ERROR AJAX");
      }
    });
   
  }
 
  public class FormDialogBox extends DialogBox{
   
    private String a;
    private Long id;
    final HorizontalPanel horizontal= new HorizontalPanel();
    final Anchor ayuda =new Anchor("AYUDA sobre los campos del registro de eventos");
    final VerticalPanel vertical= new VerticalPanel();
    final Label label = new Label();
    final Grid gridIzq= new Grid(18,3);
    final Grid gridDer= new Grid(18,3);
    final Grid grid= new Grid(1,2);
    final Button cancelar= new Button("Cancelar");
    final Button aceptar= new Button("Aceptar");
    final TextBox latidud= new TextBox();
      final TextBox longitud= new TextBox();
      final ListBox tipoEventos= new ListBox();
      final Label fecha = new Label();
      final DatePicker datePicker = new DatePicker();
      final ListBox departamentos= new ListBox();
      final ListBox ciudades= new ListBox();
      final TextBox fuente= new TextBox();
      final TextBox muertos= new TextBox();
      final TextBox afectados= new TextBox();
      final TextBox perdidasPesos= new TextBox();
      final TextBox perdidasDolares= new TextBox();
      final TextBox viasAfectadas= new TextBox();
      final TextBox otrasPerdidas= new TextBox();
      final TextBox desaparecidos= new TextBox();
      final TextBox cultivosBosques= new TextBox();
      final TextBox heridosEnfermos= new TextBox();
      final TextBox ganado= new TextBox();
      final TextBox centrosEducacion= new TextBox();
      final TextBox reubicados= new TextBox();
      final TextBox centrosHospitalarios= new TextBox();
      final TextBox vivAfectadas= new TextBox();
      final TextBox evacuados= new TextBox();
      final TextBox daminificados= new TextBox();
      final TextBox viviendasDestruidas= new TextBox();
      final ListBox transporte = new ListBox();
      final ListBox comunicaciones = new ListBox();
      final ListBox instalacionesSocorro = new ListBox();
      final ListBox agropecuario = new ListBox();
      final ListBox acueducto = new ListBox();
      final ListBox alcantarillado = new ListBox();
      final ListBox energia = new ListBox();
      final ListBox industria = new ListBox();
      final ListBox salud = new ListBox();
      final TextBox otros= new TextBox();
      final TextBox duracion= new TextBox();
      final ListBox duracionMedida = new ListBox();
      final TextBox observaciones= new TextBox();
      final CaptionPanel captionPanel=new CaptionPanel();
    public FormDialogBox(Long idEvento , String accion){
      super();
      a=accion;
      id=idEvento;
     
      horizontal.add(aceptar);
      horizontal.add(cancelar);
      grid.setWidget(0, 0, gridIzq);
      grid.setWidget(0, 1, gridDer);
      grid.setBorderWidth(1);
      gridIzq.setBorderWidth(1);
      gridDer.setBorderWidth(1);
      //vertical.add(label);
      vertical.add(ayuda);
      vertical.add(grid);
      vertical.add(horizontal);
      captionPanel.add(vertical);
     
      if(a=="modificar") captionPanel.setCaptionText("Modificar Evento");
      if(a=="eliminar") captionPanel.setCaptionText("Eliminar Evento");
      if(a=="nuevo") captionPanel.setCaptionText("Nuevo Evento");

     
      ayuda.addClickHandler(new ClickHandler() {
       
        @Override
        public void onClick(ClickEvent event) {
          // TODO Auto-generated method stub
          Window.open("../docs/Eventos.html", "Documentaci�n de los campos del registro de eventos", null);
        }
      });
     
        // Set the value in the text box when the user selects a date
        datePicker.addValueChangeHandler(new ValueChangeHandler<Date>() {
          public void onValueChange(ValueChangeEvent event) {
            Date date = (Date)event.getValue();
            DateTimeFormat format=DateTimeFormat.getFormat("dd/MM/yyyy");
            String dateString = format.format(date);
            fecha.setText(dateString);
          }
        });

        // Set the default value
        datePicker.setValue(new Date(), true);
        gridIzq.setWidget(0, 0, new Label("Fecha"));
        gridIzq.setWidget(0, 1, fecha);
        gridIzq.setWidget(0,2 , datePicker);
       
       
        tipoEventos.addItem("Seleccione ","0");
        for(TipoEventoDTO te:tiposEventosGlobal){
          tipoEventos.addItem(te.getNombre(),te.getId().toString());
        }
        gridIzq.setWidget(1, 0, new Label("Tipo Evento"));
        gridIzq.setWidget(1, 1, tipoEventos);
       
        tipoEventos.addChangeHandler(new ChangeHandler() {
       
        @Override
        public void onChange(ChangeEvent event) {
          // TODO Auto-generated method stub
          Long idSel=Long.valueOf(tipoEventos.getValue(tipoEventos.getSelectedIndex()));
          gridIzq.setWidget(1, 2,new Label(""));
          for(TipoEventoDTO te:tiposEventosGlobal){
            if(idSel.equals(te.getId())){
              Label txtLbl= new Label(te.getDescripcion(), true);
              gridIzq.setWidget(1, 2,txtLbl);
              break;
            }
          }
         
        }
      });
      
        gridIzq.setWidget(2, 0, new Label("Departamento"));
        gridIzq.setWidget(2, 1, departamentos);
        departamentos.addItem("Seleccionar","0");
        for(DepartamentoDTO d:departamentosGlobal){
          departamentos.addItem(d.getNombre(), d.getId().toString());
        }
        departamentos.addChangeHandler(new ChangeHandler() {
       
        @Override
        public void onChange(ChangeEvent event) {
          // TODO Auto-generated method stub
          ciudades.clear();
          Long id=Long.valueOf(departamentos.getValue(departamentos.getSelectedIndex()));
          for(DepartamentoDTO dto:departamentosGlobal){
            if(dto.getId().equals(id)){
              ciudades.addItem("Seleccionar","0");
              for(CiudadDTO c:dto.getCiudades()){
                ciudades.addItem(c.getNombre(),c.getId().toString());
              }
            }
          }
        }
      });
       
        gridIzq.setWidget(3, 0, new Label("Ciudad"));
        gridIzq.setWidget(3, 1,ciudades);
       
        latidud.addKeyboardListener(new KeyNumeric());
        longitud.addKeyboardListener(new KeyNumeric());
       
        gridIzq.setWidget(4, 0, new Label("Latitud y Longitud"));
        gridIzq.setWidget(4, 1,latidud);
        gridIzq.setWidget(4, 2, longitud);
       
        gridIzq.setWidget(5, 0, new Label("Fuente"));
        gridIzq.setWidget(5, 1,fuente);
        gridIzq.setWidget(5, 2,new Label("Fuente de informaci\u00F3n de los datos del evento.",true));
       
        gridIzq.setWidget(6, 0, new Label("Muertos"));
        gridIzq.setWidget(6, 1,muertos);
        gridIzq.setWidget(6, 2,new Label("N\u00FAmero de personas fallecidas por causas directas del evento. ",true));
        muertos.addKeyboardListener(new KeyNumeric());
       
        gridIzq.setWidget(7, 0, new Label("Perdidas Pesos"));
        gridIzq.setWidget(7, 1,perdidasPesos);
        gridIzq.setWidget(7, 2,new Label("Monto en pesos de las p\u00E9rdidas directas causadas por el desastre.",true));
        perdidasPesos.addKeyboardListener(new KeyNumeric());
       
        gridIzq.setWidget(8, 0, new Label("Perdidas Dolares"));
        gridIzq.setWidget(8, 1,perdidasDolares);
        gridIzq.setWidget(8, 2, new Label("Equivalente en d\u00F3lares (US$) de las p\u00E9rdidas en moneda local, seg\u00FAn la tasa de cambio de moneda nacional en la fecha de ocurrencia del evento.",true));
        perdidasDolares.addKeyboardListener(new KeyNumeric());
       
        gridIzq.setWidget(9, 0, new Label("Vias Afectadas"));
        gridIzq.setWidget(9, 1,viasAfectadas);
        gridIzq.setWidget(9, 2,new Label("Longitud en metros de redes viales destruidas y/o inhabilitadas.",true));
          viasAfectadas.addKeyboardListener(new KeyNumeric());
       
        gridIzq.setWidget(10, 0, new Label("Otras Perdidas"));
        gridIzq.setWidget(10, 1,otrasPerdidas);
        gridIzq.setWidget(10, 2,new Label("Descripci\u00F3n de otras p\u00E9rdidas, por ejemplo: edificaciones religiosas y monumentos; patrimonio arquitect\u00F3nico y cultural; escenarios e instalaciones masivas; edificios de administraci\u00F3n p\u00FAblica de la banca; del comercio y del turismo; veh\u00EDculos o buses perdidos; puentes, entre otros.",true));
       
        gridIzq.setWidget(11, 0, new Label("Desaparecidos"));
        gridIzq.setWidget(11, 1,desaparecidos);
        gridIzq.setWidget(11, 2,new Label("N\u00FAmero de personas cuyo paradero a partir del desastre es desconocido. Incluye personas presumiblemente muertas sin evidencias f\u00EDsicas. Los datos de muertos y de desaparecidos son mutuamente excluyentes.",true));
      desaparecidos.addKeyboardListener(new KeyNumeric());
       
      gridIzq.setWidget(12, 0, new Label("Cultivos y Bosques"));
        gridIzq.setWidget(12, 1,cultivosBosques);
        gridIzq.setWidget(12, 2,new Label("Cantidad de hect\u00E1reas de cultivo, pastizales o bosques destruidas y afectadas.",true));
        cultivosBosques.addKeyboardListener(new KeyNumeric());
       
      gridIzq.setWidget(13, 0, new Label("Her\u00EDdos y Enfermos"));
        gridIzq.setWidget(13, 1,heridosEnfermos);
        gridIzq.setWidget(13, 2,new Label("N\u00FAmero de personas que resultaron afectadas en su salud o integridad f\u00EDsica, sin ser v\u00EDctimas mortales, por causa directa del evento. Se deben incluir las personas que sufrieron lesiones y las que quedaron enfermas, si se trata de una plaga o epidemia.",true));
        heridosEnfermos.addKeyboardListener(new KeyNumeric());
   
      gridIzq.setWidget(14, 0, new Label("Ganado"));
        gridIzq.setWidget(14, 1,ganado);
        gridIzq.setWidget(14, 2,new Label("N\u00FAmero de unidades perdidas (bovinos, porcinos, av\u00EDcolas).",true));
        ganado.addKeyboardListener(new KeyNumeric());
   
      gridIzq.setWidget(15, 0, new Label("Centros de educaci\u00F3n"));
        gridIzq.setWidget(15, 1,centrosEducacion);
        gridIzq.setWidget(15, 2,new Label("N\u00FAmero de guarder\u00EDas, escuelas, colegios, universidades, centros de capacitaci\u00F3n, etc. destruidas y afectadas directa o indirectamente por el evento. Incluye aquellos que han sido utilizados como albergues temporales",true));
        centrosEducacion.addKeyboardListener(new KeyNumeric());
   
      gridIzq.setWidget(16, 0, new Label("Reubicados"));
        gridIzq.setWidget(16, 1,reubicados);
        gridIzq.setWidget(16, 2,new Label("N\u00FAmero de personas que han sido trasladadas desde sus sitios de vivienda a nuevos emplazamientos permanentes. ",true));
        reubicados.addKeyboardListener(new KeyNumeric());
   
        gridIzq.setWidget(17, 0, new Label("Viviendas Afectadas"));
        gridIzq.setWidget(17, 1,vivAfectadas);
        gridIzq.setWidget(17, 2,new Label("N\u00FAmero de viviendas con da\u00F1os menores, no estructurales o arquitect\u00F3nicos, que pueden seguir siendo habitadas, a\u00FAn cuando requieran de acciones de reparaci\u00F3n o de limpieza.",true));
        vivAfectadas.addKeyboardListener(new KeyNumeric());
   
        gridDer.setWidget(0, 0, new Label("Evacuados"));
        gridDer.setWidget(0, 1,evacuados);
        gridDer.setWidget(0, 2,new Label("N\u00FAmero de personas evacuadas temporalmente de sus viviendas, lugares de trabajo, colegios, hospitales, etc. ",true));
        evacuados.addKeyboardListener(new KeyNumeric());
   
        gridDer.setWidget(1, 0, new Label("Damnificados"));
        gridDer.setWidget(1, 1,daminificados);
        gridDer.setWidget(1, 2,new Label("N\u00FAmero de personas que han sufrido grave da\u00F1o directamente asociado al evento en sus bienes y/o servicios individuales o colectivos. Por ejemplo destrucci\u00F3n parcial o total de su vivienda y sus bienes, p\u00E9rdidas en cultivos y/o en bodegas, etc. Se deben incluir tambi\u00E9n personas reubicadas. ",true));
        daminificados.addKeyboardListener(new KeyNumeric());
   
        gridDer.setWidget(2, 0, new Label("Viviendas destruidas"));
        gridDer.setWidget(2, 1,viviendasDestruidas);
        gridDer.setWidget(2, 2,new Label("N\u00FAmero de viviendas arrasadas, sepultadas, colapsadas o deterioradas de tal manera que no son habitables.",true));
        viviendasDestruidas.addKeyboardListener(new KeyNumeric());
   
        gridDer.setWidget(3, 0, new Label("Transporte"));
        gridDer.setWidget(3, 1,transporte);
        gridDer.setWidget(3, 2,new Label("Corresponde con efectos del evento sobre el sector del transporte: redes viales (vehiculares, f\u00E9rreas), terminales de transporte, aeropuertos, puentes fluviales y mar\u00EDtimos, muelles, etc. afectados y/o destruidos. ",true));
        transporte.addItem("SI", "SI");
        transporte.addItem("NO", "NO");
       
        gridDer.setWidget(4, 0, new Label("Comunicaciones"));
        gridDer.setWidget(4, 1,comunicaciones);
        gridDer.setWidget(4, 2,new Label("Corresponde a da\u00F1os en el sector de comunicaciones: sobre plantas y redes telef\u00F3nicas, estaciones de radio y televisi\u00F3n, oficinas de correo y de informaci\u00F3n p\u00FAblica, servicios de internet, radiotelefon\u00EDa, comunicaciones celulares. ",true));
        comunicaciones.addItem("SI", "SI");
        comunicaciones.addItem("NO", "NO");
       
        gridDer.setWidget(5, 0, new Label("Instalaciones socorro"));
        gridDer.setWidget(5, 1,instalacionesSocorro);
        gridDer.setWidget(5, 2,new Label("Corresponde a da\u00F1os en el sector de respuesta a emergencia, espec\u00EDficamente instalaciones de los organismos de socorro: Cuerpos de bomberos, instalaciones de organismos de socorro y de entidades de orden p\u00FAblico. ",true));
        instalacionesSocorro.addItem("SI", "SI");
        instalacionesSocorro.addItem("NO", "NO");
     
        gridDer.setWidget(6, 0, new Label("Agropecuario"));
        gridDer.setWidget(6, 1,agropecuario);
        gridDer.setWidget(6, 2,new Label("Corresponde a da\u00F1os en el sector de Agropecuario: Campos de cultivos, granjas, zonas de pastoreo.",true));
        agropecuario.addItem("SI", "SI");
        agropecuario.addItem("NO", "NO");
     
        gridDer.setWidget(7, 0, new Label("Acueducto"));
        gridDer.setWidget(7, 1,acueducto);
        gridDer.setWidget(7, 2,new Label("Corresponde a da\u00F1os en el sector de Acueducto: Tomas de agua, plantas de tratamiento, acueductos y canales de conducci\u00F3n de agua potable, tanques de almacenamiento.",true));
        acueducto.addItem("SI", "SI");
        acueducto.addItem("NO", "NO");
     
        gridDer.setWidget(8, 0, new Label("Alcantarillado"));
        gridDer.setWidget(8, 1,alcantarillado);
        gridDer.setWidget(8, 2,new Label("Corresponde a da\u00F1os en el sector de Alcantarillado: Redes de disposici\u00F3n de aguas servidas y/o pluviales y sus plantas de tratamiento.",true));
        alcantarillado.addItem("SI", "SI");
        alcantarillado.addItem("NO", "NO");
       
        gridDer.setWidget(9, 0, new Label("Energ\u00EDa"));
        gridDer.setWidget(9, 1,energia);
        energia.addItem("SI", "SI");
        energia.addItem("NO", "NO");

        gridDer.setWidget(10, 0, new Label("Industria"));
        gridDer.setWidget(10, 1,industria);
        gridDer.setWidget(10, 2,new Label("Corresponde a da\u00F1os en el sector de industrial: Industrias de todos los tipos y tama\u00F1os. ",true));
        industria.addItem("SI", "SI");
        industria.addItem("NO", "NO");

        gridDer.setWidget(11, 0, new Label("Salud"));
        gridDer.setWidget(11, 1,salud);
        gridDer.setWidget(11, 2,new Label("Corresponde a da\u00F1os en el sector de la salud: Todo lo relacionado con el sector de salud incluyendo las redes de comunicaci\u00F3n, red de atenci\u00F3n de emergencias (ambulancias), centros de atenci\u00F3n, etc. ",true));
        salud.addItem("SI", "SI");
        salud.addItem("NO", "NO");

        gridDer.setWidget(12, 0, new Label("Otros"));
        gridDer.setWidget(12, 1,otros);
        gridDer.setWidget(12, 2,new Label("Otros davos no incluidos en la informaci\u00F3n anterior. ",true));

        gridDer.setWidget(13, 0, new Label("Duraci\u00F3n"));
        gridDer.setWidget(13, 1,duracion);
        gridDer.setWidget(13, 2,duracionMedida);
       
        duracion.addKeyboardListener(new KeyNumeric());
        duracionMedida.addItem(MedidaTiempo.getTXT(MedidaTiempo.SEGUNDOS),String.valueOf(MedidaTiempo.SEGUNDOS))
        duracionMedida.addItem(MedidaTiempo.getTXT(MedidaTiempo.MINUTOS),String.valueOf(MedidaTiempo.MINUTOS));
        duracionMedida.addItem(MedidaTiempo.getTXT(MedidaTiempo.HORAS),String.valueOf(MedidaTiempo.HORAS));
        duracionMedida.addItem(MedidaTiempo.getTXT(MedidaTiempo.DIAS),String.valueOf(MedidaTiempo.DIAS));
        duracionMedida.addItem(MedidaTiempo.getTXT(MedidaTiempo.SEMANAS),String.valueOf(MedidaTiempo.SEMANAS));
       
        gridDer.setWidget(14, 0, new Label("Observaciones"));
        gridDer.setWidget(14, 1,observaciones);
        gridDer.setWidget(14, 2,new Label("Corresponde a cualquier observaci\u00F3n que se desea agregar, ya sea de las causas del evento, comentarios pertinentes, etc."));
   
        gridDer.setWidget(15, 0, new Label("Afectados"));
        gridDer.setWidget(15, 1,afectados);
        gridDer.setWidget(15, 2,new Label("Numero de personas que sufren efectos indirectos o secundarios asociados a un evento. Corresponde al numero de personas; diferentes a damnificados, que sufren el impacto de los efectos secundarios de los desastre, por razones como deficiencias en la prestacion de servicios publicos, en el comercio, o en el trabajo, o por aislamiento."));
        afectados.addKeyboardListener(new KeyNumeric());
       
        if(a=="modificar" || a=="eliminar"){
         
          EventoDTO eventoDTO= null;
          for(EventoDTO e:eventosGlobal){
            if(e.getId().equals(idEvento)){
              eventoDTO=e;
            }
          }
          datePicker.setValue(eventoDTO.getFechaInicio());
          int row=0;
          for(TipoEventoDTO te:tiposEventosGlobal){
             row++;
             if(te.getId().equals(eventoDTO.getTipoEvento().getId())){
              tipoEventos.setSelectedIndex(row);
            }
          }
          row=0;
          DepartamentoDTO dtoDepto=null;
          for(DepartamentoDTO d:departamentosGlobal){
            row++;
            if(d.getId().equals(eventoDTO.getDepartamento().getId())){
              departamentos.setSelectedIndex(row);
              dtoDepto=d;
            }
          }
         
          row=0;
          ciudades.clear();
        ciudades.addItem("Seleccionar","0");
        for(CiudadDTO c:dtoDepto.getCiudades()){
          row++;
          ciudades.addItem(c.getNombre(),c.getId().toString());
          if(c.getId().equals(eventoDTO.getCiudad().getId())){
            ciudades.setSelectedIndex(row);
          }
        }
         
          latidud.setText(String.valueOf(eventoDTO.getLatitud()));
          longitud.setText(String.valueOf(eventoDTO.getLongitud()));
          fuente.setText(eventoDTO.getFuente());
          muertos.setText(String.valueOf(eventoDTO.getMuertos()));
          perdidasPesos.setText(String.valueOf(eventoDTO.getPerdidasPesos()));
          perdidasDolares.setText(String.valueOf(eventoDTO.getPerdidasDolares()));
          viasAfectadas.setText(String.valueOf(eventoDTO.getViasAfectadas()));
          desaparecidos.setText(String.valueOf(eventoDTO.getDesaparecidos()));
          cultivosBosques.setText(String.valueOf(eventoDTO.getCultivosBosques()));
          heridosEnfermos.setText(String.valueOf(eventoDTO.getHeridosEnfermos()));
          ganado.setText(String.valueOf(eventoDTO.getGanado()));
          centrosEducacion.setText(String.valueOf(eventoDTO.getCentrosEducacion()));
          reubicados.setText(String.valueOf(eventoDTO.getReubicados()));
          otrasPerdidas.setText(eventoDTO.getOtrasPerdidas());
          vivAfectadas.setText(String.valueOf(eventoDTO.getVivAfectadas()));
          evacuados.setText(String.valueOf(eventoDTO.getEvacuados()));
          daminificados.setText(String.valueOf(eventoDTO.getDamnificados()));
          viviendasDestruidas.setText(String.valueOf(eventoDTO.getVivDestruida()));
          transporte.setSelectedIndex(eventoDTO.getTransporte()?0:1);
          comunicaciones.setSelectedIndex(eventoDTO.getComunicaciones()?0:1);
          instalacionesSocorro.setSelectedIndex(eventoDTO.getInstalacionesSocorro()?0:1);
          agropecuario.setSelectedIndex(eventoDTO.getAgropecuario()?0:1);
          acueducto.setSelectedIndex(eventoDTO.getAcueducto()?0:1);
          alcantarillado.setSelectedIndex(eventoDTO.getAlcantarillado()?0:1);
          energia.setSelectedIndex(eventoDTO.getEnergia()?0:1);
          industria.setSelectedIndex(eventoDTO.getIndustria()?0:1);
          salud.setSelectedIndex(eventoDTO.getSalud()?0:1);
        otros.setText(eventoDTO.getOtros());
          duracion.setText(String.valueOf(eventoDTO.getDuracion()));
          duracionMedida.setSelectedIndex(eventoDTO.getDuracionMedida()-1)
          observaciones.setText(eventoDTO.getObservaciones());
          afectados.setText(String.valueOf(eventoDTO.getAfectados()));
        }
        if(a=="eliminar"){
          datePicker.setVisible(false);
          departamentos.setEnabled(false);
          latidud.setEnabled(false);
          longitud.setEnabled(false);
          fuente.setEnabled(false);
          muertos.setEnabled(false);
          perdidasPesos.setEnabled(false);
          perdidasDolares.setEnabled(false);
          viasAfectadas.setEnabled(false);
          desaparecidos.setEnabled(false);
          cultivosBosques.setEnabled(false);
          heridosEnfermos.setEnabled(false);
          ganado.setEnabled(false);
          centrosEducacion.setEnabled(false);
          reubicados.setEnabled(false);
          vivAfectadas.setEnabled(false);
          evacuados.setEnabled(false);
          daminificados.setEnabled(false);
          viviendasDestruidas.setEnabled(false);
          transporte.setEnabled(false);
          comunicaciones.setEnabled(false);
          instalacionesSocorro.setEnabled(false);
          agropecuario.setEnabled(false);
          acueducto.setEnabled(false);
          alcantarillado.setEnabled(false);
          energia.setEnabled(false);
          industria.setEnabled(false);
          salud.setEnabled(false);
        otros.setEnabled(false);
          duracion.setEnabled(false);
          duracionMedida.setEnabled(false);
          observaciones.setEnabled(false);
          tipoEventos.setEnabled(false);
          ciudades.setEnabled(false);
          otrasPerdidas.setEnabled(false);
          afectados.setEnabled(false);
        }
        cancelar.addClickHandler(new ClickHandler() {
       
        @Override
        public void onClick(ClickEvent event) {
          FormDialogBox.this.hide();
        }
      });
     
      aceptar.addClickHandler(new ClickHandler() {
       
        @Override
        public void onClick(ClickEvent event) {
          // TODO Auto-generated method stub
          FormDialogBox.this.procesar();
        }
      });
     
      setAnimationEnabled(true);
      add(captionPanel);
     
    }

    protected void procesar() {
      // TODO Auto-generated method stub
      EventoDTO dto= validar();
      if(dto!=null){
       
        if(a=="nuevo"){
          dto.setId(0L);
         
          IEventoAsync servidorEvento=GWT.create(IEvento.class);
          servidorEvento.nuevoEvento(dto, new AsyncCallback<Void>() {
           
            @Override
            public void onSuccess(Void result) {
              // TODO Auto-generated method stub
              cargarLista();
            }
           
            @Override
            public void onFailure(Throwable caught) {
              // TODO Auto-generated method stub
              caught.printStackTrace();
              Window.alert("ERROR AJAX");
            }
          });
        }else if(a=="modificar"){
          dto.setId(id);
         
          IEventoAsync servidorEvento=GWT.create(IEvento.class);
          servidorEvento.modificarEvento(dto, new AsyncCallback<Void>() {
           
            @Override
            public void onSuccess(Void result) {
              // TODO Auto-generated method stub
              cargarLista();
            }
           
            @Override
            public void onFailure(Throwable caught) {
              // TODO Auto-generated method stub
              caught.printStackTrace();
              Window.alert("ERROR AJAX");
            }
          });
        }else if(a=="eliminar"){
          dto.setId(id);
         
          IEventoAsync servidorEvento=GWT.create(IEvento.class);
          servidorEvento.eliminarEvento(dto, new AsyncCallback<Void>() {
           
            @Override
            public void onSuccess(Void result) {
              // TODO Auto-generated method stub
              cargarLista();
            }
           
            @Override
            public void onFailure(Throwable caught) {
              // TODO Auto-generated method stub
              caught.printStackTrace();
              Window.alert("ERROR AJAX");
            }
          });
        }
       
        this.hide();
      }
    }

    private EventoDTO validar() {
      // TODO Auto-generated method stub
      EventoDTO dto =new EventoDTO();
     
      dto.setLatitud(getFloat(latidud.getText()));
      dto.setLatitud(getFloat(longitud.getText()));
      dto.setLatitudlongitud(true);
      TipoEventoDTO tpEvento=null;
      for(TipoEventoDTO tp:tiposEventosGlobal){
        if(tp.getId().equals(Long.valueOf(tipoEventos.getValue(tipoEventos.getSelectedIndex())))){
          tpEvento=tp;
        }
      }
      if(tpEvento==null){
        Window.alert("Indique tipo de evento");
        return null;
      }
      dto.setTipoEvento(tpEvento);
     
      dto.setFechaInicio(datePicker.getValue());
      DepartamentoDTO depto=null;
      for(DepartamentoDTO d:departamentosGlobal){
        if(d.getId().equals(Long.valueOf(departamentos.getValue(departamentos.getSelectedIndex())))){
          depto=d;
        }
      }
      if(depto==null){
        Window.alert("Indique departamento");
        return null;
      }

      dto.setDepartamento(depto);

      CiudadDTO ciudad=null;
      for(CiudadDTO c:depto.getCiudades()){
        if(c.getId().equals(Long.valueOf(ciudades.getValue(ciudades.getSelectedIndex())))){
          ciudad=c;
        }
      }
      if(ciudad==null){
        Window.alert("Indique ciudad");
        return null;
      }

      dto.setCiudad(ciudad);
      dto.setFuente(fuente.getText());
        dto.setMuertos(getInt(muertos.getText()));
        dto.setPerdidasPesos(getFloat(perdidasPesos.getText()));
        dto.setPerdidasDolares(getFloat(perdidasDolares.getText()));
        dto.setViasAfectadas(getFloat(viasAfectadas.getText()));
        dto.setOtrasPerdidas(otrasPerdidas.getText());
        dto.setDesaparecidos(getInt(desaparecidos.getText()));
        dto.setCultivosBosques(getFloat(cultivosBosques.getText()));
        dto.setHeridosEnfermos(getInt(heridosEnfermos.getText()));
        dto.setGanado(getInt(ganado.getText()));
        dto.setCentrosEducacion(getInt(centrosEducacion.getText()));
        dto.setReubicados(getInt(reubicados.getText()));
        dto.setCentrosHospitalarios(getInt(centrosHospitalarios.getText()));
        dto.setVivAfectadas(getInt(vivAfectadas.getText()));
        dto.setEvacuados(getInt(evacuados.getText()));
        dto.setDamnificados(getInt(daminificados.getText()));
        dto.setVivDestruida(getInt(viviendasDestruidas.getText()));
        dto.setTransporte(getBoolean(transporte.getValue(transporte.getSelectedIndex())));
        dto.setComunicaciones(getBoolean(comunicaciones.getValue(comunicaciones.getSelectedIndex())));
        dto.setInstalacionesSocorro(getBoolean(instalacionesSocorro.getValue(instalacionesSocorro.getSelectedIndex())));
        dto.setAgropecuario(getBoolean(agropecuario.getValue(agropecuario.getSelectedIndex())));
        dto.setAcueducto(getBoolean(acueducto.getValue(acueducto.getSelectedIndex())));
        dto.setAlcantarillado(getBoolean(alcantarillado.getValue(alcantarillado.getSelectedIndex())));
        dto.setEnergia(getBoolean(energia.getValue(energia.getSelectedIndex())));
        dto.setIndustria(getBoolean(industria.getValue(industria.getSelectedIndex())));
        dto.setSalud(getBoolean(salud.getValue(salud.getSelectedIndex())));
        dto.setOtros(otros.getText());
        dto.setDuracion(getFloat(duracion.getText()));
        dto.setDuracionMedida(getInt(duracionMedida.getValue(duracionMedida.getSelectedIndex())));
        dto.setObservaciones(observaciones.getText());
        dto.setAfectados(getInt(afectados.getText()));
        return dto;
    }

    private Boolean getBoolean(String text) {
      // TODO Auto-generated method stub
      if(text==null || text.trim().length()==0 || text.equals("NO")){
        return false;
      }
      return true;
    }

    private int getInt(String text) {
      // TODO Auto-generated method stub
      if(text==null || text.trim().length()==0){
        return 0;
      }
      return Integer.valueOf(text);
    }

    private Float getFloat(String text) {
      // TODO Auto-generated method stub
      if(text==null || text.trim().length()==0){
        return 0F;
      }
      return Float.valueOf(text);
    }
 
  }

}
TOP

Related Classes of fing.satode.ui.registros.client.EntryPointEvento$FormDialogBox

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.