%--
Document : exec_modificar_equipo_computo
Created on : 17/11/2011, 02:04:36 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("si");
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("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 = "UPDATE equipo_computo SET "
+ " id_usuarios_cargos=" + request.getParameter("id_usuarios_cargos") + " , "
+ " id_monitor= " +( id_monitor != null?(id_monitor.equals("0")?null:id_monitor):null) + " , "
+ " CI= '" + request.getParameter("CI") + "' , "
+ " no_serie= '" + (request.getParameter("no_serie") == null?"":request.getParameter("no_serie"))+ "' , "
+ " mac= '" +( request.getParameter("mac") == null?"":request.getParameter("mac") )+ "' , "
+ " ip= '" +( request.getParameter("ip") == null?"":request.getParameter("ip"))+ "' , "
+ " id_cat_sistemas_operativos= " + request.getParameter("so")+ " , "
+ " fecha_adquisicion= '" + request.getParameter("fecha_adquisicion") + "' , "
+ " fecha_garantia='" + request.getParameter("fecha_garantia") + "' , "
+ " teclado= " + request.getParameter("teclado") + " , "
+ " mouse=" + request.getParameter("mouse") + " , "
+ " descripcion='" + request.getParameter("descripcion") + "' ,"
+ " procesador='" + request.getParameter("procesador") + "' ,"
+ " ram='" + (request.getParameter("ram")== null?"":request.getParameter("ram")) + "' ,"
+ " hd='" + (request.getParameter("hd") == null?"":request.getParameter("hd"))+ "' ,"
+ " marca='" + (request.getParameter("marca")== null?"":request.getParameter("marca")) + "' ,"
+ " modelo='" + (request.getParameter("modelo") == null?"":request.getParameter("modelo")) + "' ,"
+ " ubicacion_fisica='" + (request.getParameter("ubicacion_fisica") == null?"":request.getParameter("ubicacion_fisica")) + "' ,"
+ " id_situacion= " + request.getParameter("calificacion") + ", "
+ " pto_panel= " + request.getParameter("pto_panel") + ", "
+ " pto_switch= '" + request.getParameter("pto_switch") + "', "
+ " tipo_telefono= '" + (request.getParameter("tipo") == null?"":request.getParameter("tipo")) + "', "
+ " did= " + request.getParameter("did") + ", "
+ " extension= " + request.getParameter("extension") + ", "
+ " id_cat_tipo_equipo= " + request.getParameter("id_cat_tipo_equipo") + ", "
+ " id_cat_subtipo_equipo= " + request.getParameter("id_cat_subtipo_equipo") + ", "
+ " tipo_propietario= '" + request.getParameter("tipo_propietario") + "' "
+ " WHERE id_equipo_computo="+request.getParameter("id_equipo_computo");
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() + "- actualizo los datos 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%>
<%
}
%>