@Override
  public void run() throws ServletException, IOException {
    // validar usuario logueado
    HttpSession sesionHttp = request.getSession(true);

    // validar si la sesion es valida
    sesion = (Sesion) sesionHttp.getAttribute("sesion");
    if (sesion == null || sesion.getUsuario() == null)
      throw new ServletException("No existe una sesión válida");
    datos = sesion.getDatos();
    // obtener parámetros
    this.asignaParametros();
    sesion.setDatos(datos);

    // instanciar modelo y método de operación
    DocumentoMod movMod = new DocumentoMod();
    sesion = movMod.GestionarDocumentos(sesion);
    if (paso.equals("8")) {
      // imprimir
      datos = sesion.getDatos();
      byte[] bytes = (byte[]) datos.get("bytes");
      response.setContentType("application/pdf");
      response.setContentLength(bytes.length);
      // response.sendRedirect(application.getRealPath("/Utilerias/imprimeReporte.jsp"));
      ServletOutputStream oustrm;
      try {
        oustrm = response.getOutputStream();
        oustrm.write(bytes, 0, bytes.length);
        oustrm.flush();
        oustrm.close();
      } catch (IOException ex) {
        ex.printStackTrace();
      }
    }

    // cargar los datos en la sesion
    sesionHttp.setAttribute("sesion", sesion);

    // ir a la página siguiente
    RequestDispatcher rd = application.getRequestDispatcher(sesion.getPaginaSiguiente());

    if (rd == null)
      throw new ServletException("No se pudo encontrar " + sesion.getPaginaSiguiente());

    rd.forward(request, response);
  }
Esempio n. 2
0
  public Sesion GestionarRutas(Sesion sesion) {
    HashMap datos = sesion.getDatos();
    int paso = Integer.parseInt(datos.get("paso").toString());

    switch (paso) {
      case 0:
        // obtener la lista de sucursales activas
        datos.put("sucursales", ObtenerSucursales());
        // cargar datos de sucursal del usuario
        datos.put("sucursalSel", sesion.getUsuario().getEmpleado().getPersona().getSucursal());
        if (sesion.getUsuario().getEmpleado().getPersona().getSucursal().getTipo() == 0)
          datos.put("matriz", "1");
        else datos.put("matriz", "0");
        datos = ObtenerRutas(datos);
        break;
      case 1:
        // cargar rutas de la sucursal seleccionada
        datos = ObtenerRutas(datos);
        break;
      case 2:
        // ir a nueva ruta
        datos.put("accion", "nueva");
        datos = CargarSucursalSel(datos);
        break;
      case 3:
      case 5:
        // guardar nueva ruta || guardar ruta editada
        datos = GuardarNuevaRuta(datos);
        break;
      case 4:
        // ir a editar ruta
        datos.put("accion", "editar");
        datos = CargarSucursalSel(datos);
        datos = ObtenerRuta(datos);
        break;
      case 6:
        // baja de ruta
        datos = BajaDeRuta(datos);
        break;
      case 7:
        datos.put("inactivas", ObtenerInactivas(datos));
        break;
      case 8:
        // activar ruta
        datos = ActivaRuta(datos);
        break;
      case 97:
        // cancelar inactivas
        datos.remove("inactivas");
        datos = ObtenerRutas(datos);
        break;
      case 98:
        // cancelar nuevo cliente
        datos.remove("accion");
        // datos.remove("")
        break;
      case 99:
        datos = new HashMap();
        break;
    }
    sesion.setDatos(datos);
    return sesion;
  }