%--
Document : exec_agregar_equipo_computo
Created on : 16/11/2011, 04:46:32 PM
Author : psoto
--%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "conexion.*"
import = "java.sql.*"
import = "general.Config"
import = "general.Permisos"
%>
Actualizando el sistema...
<%
/************************** Guarda los cambios hechos a los datos del usuario en la base de datos **************************************/
out.println("");
String nompag[] = request.getRequestURI().split("/");
%>
<%
Connection lcnt_con = null;
ResultSet lrs_res = null;
Statement lst_stm = null;
String ls_query = new String("");
String emergent_error = new String("");
boolean lb_connection = false;
String debug = new String("si");
String id_monitor = new String("0");
boolean valido = true;
// Conexión a la base de datos
try {
if (!Config.getParametro("debug").equals("si")) {
debug = "no";
}
Conexion c = new Conexion();
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;
}
//********* Validación fundamental para evitar ejecución de código sin privilegios suficientes **********//
try {
if (!Permisos.PermisoModulo(nompag[nompag.length - 1].toString(), Integer.parseInt(session.getAttribute("id_user").toString()))) {
if (lb_connection) {
lst_stm.close();
lcnt_con.close();
}
emergent_error += " Privilegios insuficientes. ";
lb_connection = false;
}
} catch (Exception e) {
emergent_error += " Privilegios insuficientes. ";
if (debug.equals("si")) {
emergent_error += "Trace: " + e.toString();
}
lb_connection = false;
}
//*******************************************************************************************************//
if (lb_connection) {
try {
%>
Actualizando la base de datos, espere por favor...
<%
lst_stm.executeUpdate("START TRANSACTION;");
if (request.getParameter("tipo_equipo").equals("0")) {
if (request.getParameter("id_monitor") != null && request.getParameter("id_monitor").equals("n")) {
ls_query = "INSERT INTO monitores (CI,modelo,marca,id_usuarios_cargos) VALUES( '" + request.getParameter("ci_monitor") + "' , '" + request.getParameter("marca_monitor") + "' , '" + request.getParameter("modelo_monitor") + "', "+request.getParameter("id_usuarios_cargos") +");";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_monitores;");
if (lrs_res.next()) {
id_monitor = lrs_res.getString("id_monitores");
}
} else {
id_monitor = request.getParameter("id_monitor");
}
ls_query = "INSERT INTO equipo_computo (" ///alta de cualquier equipo
+ "id_usuarios_cargos, id_monitor, "
+ "CI, no_serie, mac, "
+ "ip, id_cat_sistemas_operativos, "
+ "fecha_adquisicion, fecha_garantia,"
+ " teclado, mouse, descripcion, procesador, "
+ "ram, hd, marca, modelo, id_situacion,"
+ "id_cat_tipo_equipo,id_cat_subtipo_equipo, "
+ "tipo_propietario,ubicacion_fisica "
+ ") VALUES( "
+ " " + request.getParameter("id_usuarios_cargos") + " , "
+ " " + ( id_monitor != null?(id_monitor.equals("0")?null:id_monitor):null)+ " , "
+ " '" + request.getParameter("CI") + "' , "
+ " '" + request.getParameter("no_serie") + "' , "
+ " '" + request.getParameter("mac") + "' , "
+ " '" + request.getParameter("ip") + "' , "
+ " " + request.getParameter("so") + " , "
+ " '" + request.getParameter("fecha_adquisicion") + "' , "
+ " '" + request.getParameter("fecha_garantia") + "' , "
+ " " + request.getParameter("teclado") + " , "
+ " " + request.getParameter("mouse") + " , "
+ " '" + request.getParameter("descripcion") + "' ,"
+ " '" + request.getParameter("procesador") + "' ,"
+ " '" + request.getParameter("ram") + "' ,"
+ " '" + request.getParameter("hd") + "' ,"
+ " '" + request.getParameter("marca") + "' ,"
+ " '" + request.getParameter("modelo") + "' ,"
+ " " + request.getParameter("calificacion") + " ,"
+ " " + request.getParameter("id_cat_tipo_equipo") + " ,"
+ " " + request.getParameter("id_cat_subtipo_equipo") + ", "
+ " '" + request.getParameter("tipo_propietario") + "', "
+ " '" + (request.getParameter("ubicacion_fisica") == null ? "" : request.getParameter("ubicacion_fisica")) + "' "
+ " );";
lst_stm.executeUpdate(ls_query);
} else if (request.getParameter("tipo_equipo").equals("5")) {///alta periferico
ls_query = "INSERT INTO equipo_computo ("
+ "id_usuarios_cargos, "
+ "CI, no_serie, mac, "
+ "ip, "
+ "fecha_adquisicion, fecha_garantia,"
+ " descripcion, "
+ " modelo, "
+ " marca, "
+ " pto_panel, "
+ " pto_switch, "
+ " id_situacion, "
+ "id_cat_tipo_equipo, "
+ "id_cat_subtipo_equipo, "
+ "tipo_propietario "
+ ") VALUES( "
+ " " + request.getParameter("id_usuarios_cargos") + " , "
+ " '" + request.getParameter("CI") + "' , "
+ " '" + request.getParameter("no_serie") + "' , "
+ " '" + request.getParameter("mac") + "' , "
+ " '" + request.getParameter("ip") + "' , "
+ " '" + request.getParameter("fecha_adquisicion") + "' , "
+ " '" + request.getParameter("fecha_garantia") + "' , "
+ " '" + request.getParameter("descripcion") + "' ,"
+ " '" + request.getParameter("modelo") + "' ,"
+ " '" + request.getParameter("marca") + "' ,"
+ " " + request.getParameter("pto_panel") + " ,"
+ " '" + request.getParameter("pto_switch") + "' ,"
+ " " + request.getParameter("calificacion") + " ,"
+ " " + request.getParameter("id_cat_tipo_equipo") + " ,"
+ " " + request.getParameter("id_cat_subtipo_equipo") + ", "
+ " '" + request.getParameter("tipo_propietario") + "' "
+ " );";
lst_stm.executeUpdate(ls_query);
} else if (request.getParameter("tipo_equipo").equals("6")) {
ls_query = "INSERT INTO equipo_computo ("
+ "id_usuarios_cargos, "
+ "CI, "
+ "fecha_adquisicion, "
+ "fecha_garantia,"
+ " pto_panel, "
+ " pto_switch, "
+ " did, "
+ " extension, "
+ " modelo, "
+ " tipo_telefono, "
+ "id_cat_tipo_equipo, "
+ "id_cat_subtipo_equipo, "
+ "tipo_propietario "
+ ") VALUES( "
+ " " + request.getParameter("id_usuarios_cargos") + " , "
+ " '" + request.getParameter("CI") + "' , "
+ " '" + request.getParameter("fecha_adquisicion") + "' , "
+ " '" + request.getParameter("fecha_garantia") + "' , "
+ " " + request.getParameter("pto_panel") + " ,"
+ " '" + request.getParameter("pto_switch") + "' ,"
+ " " + request.getParameter("did") + " ,"
+ " " + request.getParameter("extension") + " ,"
+ " '" + request.getParameter("modelo") + "' ,"
+ " '" + request.getParameter("tipo") + "' ,"
+ " " + request.getParameter("id_cat_tipo_equipo") + " ,"
+ " " + request.getParameter("id_cat_subtipo_equipo") + ", "
+ " '" + request.getParameter("tipo_propietario") + " '"
+ " );";
lst_stm.executeUpdate(ls_query);
}
if (request.getParameter("id_cat_tipo_equipo").equals("8")) {
ls_query = "DELETE from rel_equipo_interfaces where id_equipo_computo=" + request.getParameter("id_equipo_computo");
lst_stm.executeUpdate(ls_query);
for (int x = 1; x < 7; x++) {
if (request.getParameter("mac_interfaz" + x) != null) {
ls_query = "INSERT INTO rel_equipo_interfaces (id_equipo_computo,mac,ip, activo, tipo,observaciones) "
+ "VALUES (" + request.getParameter("id_equipo_computo") + ", "
+ "'" + request.getParameter("mac_interfaz" + x) + "', "
+ "'" + request.getParameter("ip_interfaz" + x) + "', "
+ " " + request.getParameter("activo_interfaz" + x) + ", "
+ "'" + request.getParameter("tipo_interfaz" + x) + "', "
+ "'" + request.getParameter("descripcion_interfaz" + x) + "' "
+ " );";
lst_stm.executeUpdate(ls_query);
}
}
}
//Registrar en la bitácora
try {
String mensaje_log = new String("");
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- agrego el equipo con CI - " + request.getParameter("CI") + " , " + request.getParameter("descripcion") + " -;";
Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3);
} catch (Exception e) {
}
session.setAttribute("mensaje_pendiente", "El sistema ha sido actualizado, los datos del Equipo - " + request.getParameter("CI") + " , " + request.getParameter("descripcion") + " - fueron actualizados.");
lst_stm.executeUpdate("COMMIT;");
%>
<%
} catch (Exception e) {
emergent_error = "Error al actualizar la base de datos ";
lst_stm.executeUpdate("ROLLBACK;");
if (debug.equals("si")) {
emergent_error += e + " Query actual: " + ls_query;
}
%>
<%=emergent_error%>
<%
} finally {
lst_stm.close();
lcnt_con.close();
}
} else {
%>
<%=emergent_error%>
<%
}
%>