%--
Document : xml_get_reportes
Created on : 13/12/2011, 10:58:54 AM
Author : psoto
--%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "conexion.*"
import = "java.sql.*"
import = "general.Config"
import = "reportes.reporteExcelmonitores"
import = "reportes.reporteExcelEquipos"
import = "reportes.reporteExcelTodosEquipos"
import = "general.Permisos"
%>
<%
ConexionEquipos c = null;
Connection lcnt_con = null;
ResultSet lrs_res = null;
Statement lst_stm = null;
boolean lb_connection = true;
String ls_query = new String("");
String ruta = new String("");
String ruta_archivo = new String("");
String nombre_archivo = new String("reporte_");
String emergent_error = new String("");
String debug = new String("si");
String nombre_equipo = new String("Monitores");
String titulo_reporte = new String("Monitores");
String id_cat_tipo_equipo = request.getParameter("id_cat_tipo_equipo");
int id_cat_subtipo_equipo = Integer.parseInt(request.getParameter("id_cat_subtipo_equipo"));
int estado = Integer.parseInt(request.getParameter("estado"));
// Conexión a la base de datos
try {
if (!Config.getParametro("debug").equals("si")) {
debug = "no";
}
c = new ConexionEquipos();
lcnt_con = c.getConnection();
lst_stm = lcnt_con.createStatement();
lb_connection = true;
} catch (Exception e) {
emergent_error = "Error al conectarse a la base de datos ";
if (debug.equals("si")) {
emergent_error += e;
}
lb_connection = false;
}
if (lb_connection) {
try {
// Creando ruta de archivos fisica
try {
java.net.URL url_clase = ConexionEquipos.class.getResource("");
ruta = url_clase.getPath().substring(0, url_clase.getPath().indexOf("WEB-INF"));
int hli_vacio = 0;
String ls_path = "";
// Eliminar los espacios en la ruta (%20)
hli_vacio = ruta.indexOf("%20");
if (hli_vacio > 0) {
ls_path = ruta.substring(0, hli_vacio);
while (hli_vacio < ruta.length() && hli_vacio > 0) {
ls_path = ls_path + " " + ruta.substring(hli_vacio + 3, ruta.length());
hli_vacio = ruta.indexOf("%20", hli_vacio + 1);
if (hli_vacio == -1) {
ruta = ls_path;
break;
}
ls_path = ls_path.substring(0, hli_vacio - 2);
}
}
} catch (Exception e) {
emergent_error += " Error al obtener la ruta física para almacenar el achivo: ";
if (debug.equals("si")) {
emergent_error += e;
}
throw new Exception(e.toString());
}
////////termina la creacion de la ruta fisica
ruta_archivo = ruta + "control_inventario/reportes/archivos/";
if (!id_cat_tipo_equipo.equals("m")) {
ls_query = "SELECT "
+ " CONCAT(nombte_equipo,IF(id_cat_subtipo_equipo is not null,CONCAT('-', nombre_subequipo),'')) as nombre_equipo "
+ "FROM cat_tipo_equipo "
+ "LEFT JOIn cat_subtipo_equipo USING(id_cat_tipo_equipo) "
+ "WHERE id_cat_tipo_equipo= " + id_cat_tipo_equipo;
if (request.getParameter("id_cat_subtipo_equipo") != null && !request.getParameter("id_cat_subtipo_equipo").equals("0")) {
ls_query += " AND id_cat_subtipo_equipo=" + request.getParameter("id_cat_subtipo_equipo");
}
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
nombre_equipo = lrs_res.getString("nombre_equipo");
nombre_equipo = nombre_equipo.replace("-", "_");
titulo_reporte = lrs_res.getString("nombre_equipo");
} else {
titulo_reporte = " Todos los equipos";
nombre_equipo = " Todos_los_equipos";
}
}
nombre_archivo = nombre_archivo + nombre_equipo + ".xls";
if (id_cat_tipo_equipo.equals("m")) {
reporteExcelmonitores monitores = new reporteExcelmonitores();
monitores.setReporteExcel(ruta_archivo, nombre_archivo, estado,request.getParameter("id_area"));
//Registrar en la bitácora
try {
String mensaje_log = new String("");
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- generó el reporte de Monitores;";
Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3);
} catch (Exception e) {
}
out.println(" ");
} else {
if (!id_cat_tipo_equipo.equals("0")) {
reporteExcelEquipos equipos = new reporteExcelEquipos();
equipos.setReporteExcel(ruta_archivo, nombre_archivo, estado, titulo_reporte, id_cat_tipo_equipo, request.getParameter("id_cat_subtipo_equipo"),request.getParameter("id_area"));
} else {
reporteExcelTodosEquipos equipos = new reporteExcelTodosEquipos();
equipos.setReporteExcel(ruta_archivo, nombre_archivo, estado, titulo_reporte,request.getParameter("id_area"));
}
//Registrar en la bitácora
try {
String mensaje_log = new String("");
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- generó el reporte de " + titulo_reporte + ";";
Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3);
} catch (Exception e) {
}
out.println(" ");
}
} catch (Exception e) {
System.out.println("Error: " + e.toString() + " Query" + ls_query);
}
}
%>