@RequestMapping(value = "/queryVisita", method = RequestMethod.POST)
  public String queryVisita(@ModelAttribute("visita") visita c, Model m, SessionStatus session)
      throws Exception {

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
    Date datum = df.parse(c.getFechaString());
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(datum);
    XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);

    /** ******************* Calling web service *********************** */
    List<Visita> lista = visitaService.traeVisita(xmlCal);
    Iterator<Visita> i = lista.iterator();
    Visita v = i.next();

    visita t =
        new visita(
            datum,
            v.getRecomendacion(),
            v.getComentarios(),
            v.getRfc(),
            v.getLote(),
            v.getParcela(),
            v.getProductor(),
            v.getAsesor());

    List<Maleza> malezas = malezaService.traeMalezas(xmlCal);

    Iterator<Maleza> j = malezas.iterator();
    listaMalezas.clear();
    while (j.hasNext()) {
      Maleza mal = j.next();
      maleza esta = new maleza(datum, mal.getNombre(), mal.getPoblacion());
      listaMalezas.add(esta);
    }

    List<Plaga> plagas = plagaService.traePlaga(xmlCal);
    Iterator<Plaga> k = plagas.iterator();
    listaPlagas.clear();
    while (k.hasNext()) {
      Plaga p = k.next();
      maleza dieser = new maleza(datum, p.getNombre(), p.getPoblacion());
      listaPlagas.add(dieser);
    }

    List<Enfermedad> sicks = enfermedadService.traeEnfermedades(xmlCal);
    listaSick.clear();
    Iterator<Enfermedad> l = sicks.iterator();
    while (l.hasNext()) {
      Enfermedad sick = l.next();
      listaSick.add(sick.getEnfermedad());
    }

    m.addAttribute("visitaForm", t);
    m.addAttribute("malezas", listaMalezas);
    m.addAttribute("plagas", listaPlagas);
    m.addAttribute("enfermedades", listaSick);

    return "redirect:informesDone";
  }
  private void addPlaga(XMLGregorianCalendar cal, visita v, GregorianCalendar c) {
    fertinsumos.dataservice.plaga.ObjectFactory factory =
        new fertinsumos.dataservice.plaga.ObjectFactory();
    fertinsumos.dataservice.plaga.AgregaPlaga plaga = factory.createAgregaPlaga();
    plaga.setFechaVisita(cal);
    plaga.setNombre(v.getPlaga());
    plaga.setPoblacion(v.getPobPlaga());

    plagaService.agregaPlaga(cal, v.getPlaga(), v.getPobPlaga());

    maleza hierva = new maleza(c.getTime(), v.getPlaga(), v.getPobPlaga());
    listaPlagas.add(hierva);
  }
  @RequestMapping(value = "agregaPlaga", method = RequestMethod.POST)
  public String addPlaga(@ModelAttribute("visitaForm") visita t, Model modelo) throws Exception {
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(t.getFecha());

    maleza m = new maleza(cal.getTime(), t.getPlaga(), t.getPobPlaga());
    logger.info("llamando al servicio");
    plagaService.agregaPlaga(
        DatatypeFactory.newInstance().newXMLGregorianCalendar(cal), t.getPlaga(), t.getPobPlaga());

    listaPlagas.add(m);
    return "redirect:informesDone";
  }