@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 addMaleza(XMLGregorianCalendar cal, visita v, GregorianCalendar c) {
    fertinsumos.dataservice.maleza.ObjectFactory factory =
        new fertinsumos.dataservice.maleza.ObjectFactory();
    fertinsumos.dataservice.maleza.AgregaMaleza maleza = factory.createAgregaMaleza();
    maleza.setFechaVisita(cal);
    maleza.setNombre(v.getMaleza());
    maleza.setPoblacion(v.getPobMaleza());

    malezaService.agregaMaleza(maleza.getFechaVisita(), maleza.getNombre(), maleza.getPoblacion());

    maleza hierva = new maleza(c.getTime(), v.getMaleza(), v.getPobMaleza());
    listaMalezas.add(hierva);
  }
  @RequestMapping(value = "agregaMaleza", method = RequestMethod.POST)
  public String addMaleza(
      @ModelAttribute("visitaForm") visita t, @ModelAttribute("malezas") List<maleza> lista)
      throws Exception {
    GregorianCalendar cal = new GregorianCalendar();
    cal.setTime(t.getFecha());

    maleza m = new maleza(cal.getTime(), t.getMaleza(), t.getPobMaleza());

    malezaService.agregaMaleza(
        DatatypeFactory.newInstance().newXMLGregorianCalendar(cal),
        t.getMaleza(),
        t.getPobMaleza());

    listaMalezas.add(m);

    return "redirect:informesDone";
  }