%--
Document : exec_actualizar_declaranes_declaraciones
Created on : 15/10/2012, 02:04:36 PM
Author : Martha
--%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "conexion.*"
import = "java.sql.*"
import = "general.Config"
import = "general.Permisos"
import = "java.util.Date"
import = "java.text.SimpleDateFormat"
%>
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;
ResultSet lrs_res2 = null;
Statement lst_stm2 = null;
/*INICIO. Segunda Conexión*/
ConexionDeclaranet cd = null;
Connection lcd_connection = null;
//Statement lstg_conecta=null;
/*FIN. SEGUNDA CONEXIÓN*/
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;
String id_funcionario = new String("");
String id_dom_puesto = new String("");
String id_puesto_funcionario = new String("");
String id_altabaja = new String("");
String clave = new String("");
String dep = new String("");
Integer clavemas=0;
Integer codigop;
/*Date fechaActual = new Date();
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
String resultado = formato.format(fechaActual);*/
// 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();
/*lst_stm1 = lcnt_con.createStatement();
lst_stm2 = 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;
}*/
/********* FIN. Conexión a la base de datos ********/
/********* INICIO. Conexión a la base de datos ********/
try {
if (!Config.getParametro("debug").equals("si")) {
debug = "no";
}
cd = new ConexionDeclaranet();
lcd_connection = cd.getConnection();
lst_stm = lcd_connection.createStatement();
lst_stm2 = lcd_connection.createStatement();
lb_connection = true;
}catch (Exception e) {
emergent_error = "Error al conectarse a la base de datos 2 ";
}
/*FINAL. Conexión a la base de datos 2*/
//********* 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();
lcd_connection.close();
}
emergent_error += " Privilegios insuficientes. ";
lb_connection = false;
}
} catch (Exception e) {
emergent_error += " Privilegios insuficientes. ";
if (debug.equals("si")) {
emergent_error += "Trace: " + e.toString();
}
}
/********* FIN. Conexión a la base de datos ********/
//*******************************************************************************************************//
if (lb_connection) {
try {
%>
Actualizando la base de datos, espere por favor...
<%
//out.println(" id "+request);
/***************INICIO. INSERT Y/O UDATE DE INFORMACIÓN FUNCIONARIO***********/
lst_stm.executeUpdate("START TRANSACTION;");
/*if(Integer.parseInt(request.getParameter("id_altabaja"))>0){
//out.println(request);
if(request.getParameter("id_fechafinal") != null){
ls_query="update altabajafuncionario set "
+ "fecha_baja='"+request.getParameter("fecha_final") +"' "
+ "where id_altabaja="+request.getParameter("id_altabaja") +"";
}
if(request.getParameter("id_fechainicial") != null){
ls_query="update altabajafuncionario set "
+ "fecha_alta='"+request.getParameter("fecha_inicio") +"' "
+ "where id_altabaja="+request.getParameter("id_altabaja") +"";
}
}
else if(request.getParameter("id_altabaja").equals("0")){
if(request.getParameter("id_fechafinal") != null || request.getParameter("id_fechainicial") != null){
ls_query="insert into altabajafuncionario "
+ "(fecha_alta, fecha_baja, id_funcionario, clave) "
+ "values ( "
+ "'"+ request.getParameter("fecha_inicio")+"', "
+ "'"+ request.getParameter("fecha_final")+"', "
+ ""+ request.getParameter("id_funcionario")+", "
+ "'C'"
+ ")";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_altabaja");
if (lrs_res.next()) {
id_altabaja = lrs_res.getString("id_altabaja");
}
}
}*/
/*************FIN. INSERT Y/O UDATE DE INFORMACIÓN FUNCIONARIO****************/
/************INICIO. DECLARACIÓN INICIAL********/
/*if(request.getParameter("id_cat_tipo_declaracion").equals("1")){
ls_query = "INSERT INTO dom_cargo_funcionario ("
+ "calle, num, col, cd, "
+ "id_municipio, cp, id_edo"
+ ") VALUES( "
+ " '" + request.getParameter("calle_1") + "', "
+ " '" + request.getParameter("num_1") + "',"
+ " '" + request.getParameter("col_1") + "',"
+ " '" + request.getParameter("cd_1") + "',"
+ " " + request.getParameter("municipio_1") + ", "
+ " " + request.getParameter("cp_1") + ", "
+ " " + request.getParameter("edo_fed_1")
+ " );";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_dom_puesto");
if (lrs_res.next()) {
id_dom_puesto = lrs_res.getString("id_dom_puesto");
}
ls_query = "SELECT u.id_cat_unidades_responsables, u.id_cat_dep_estatales, de.clave "
+ " FROM ur u"
+ " LEFT JOIN dependencias de ON de.id_cat_dep_estatales=u.id_cat_dep_estatales"
+ " where u.id_cat_unidades_responsables=" + request.getParameter("id_ur");
lrs_res2 = lst_stm2.executeQuery(ls_query);
if (lrs_res2.next()) {
clave=lrs_res2.getString("id_cat_dep_estatales")+ "/" +lrs_res2.getString("id_cat_unidades_responsables") + "/" + lrs_res2.getString("clave");
clavemas= Integer.parseInt(lrs_res2.getString("clave"));
clavemas++;
ls_query="update dependencias set clave="+clavemas+" where id_cat_dep_estatales="+lrs_res2.getString("id_cat_dep_estatales");
lst_stm.executeUpdate(ls_query);
}
/*******INICIO. ALTA/BAJA FUNCIONARIO******/
/* ls_query = "SELECT * FROM altabajafuncionario where clave='C' and id_funcionario="+request.getParameter("id_funcionario");
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
id_puesto_funcionario=lrs_res.getString("id_puesto_funcionario");
id_altabaja=lrs_res.getString("id_altabaja");
ls_query = "update altabajafuncionario set "
+ "fecha_alta=" + request.getParameter("fecha_inicio") +", "
+ "id_puesto_funcionario="+ id_puesto_funcionario +", "
+ "status=1, "
+ "clave="+clave+" "
+ " where id_altabaja="+id_altabaja+"; ";
lst_stm.executeUpdate(ls_query);
ls_query = "update puesto_funcionario set "
+ " id_tipo_cargo="+ request.getParameter("id_cat_tipo_puesto") +","
+ " area='" + request.getParameter("area") + "', "
+ "id_dependencia="+ request.getParameter("id_cat_dep") +", "
+ "id_area_adscripcion='" + request.getParameter("area") + "',"
+ " id_dom_puesto="+ request.getParameter("id_ur") +" "
+ "where id_puesto_funcionario="+ id_puesto_funcionario +";";
lst_stm.executeUpdate(ls_query);
}else{
ls_query = "INSERT INTO puesto_funcionario("
+ " id_tipo_cargo, area, id_dependencia, "
+ "id_area_adscripcion, id_dom_puesto"
+ ") VALUES( "
+ " " + request.getParameter("id_cat_tipo_puesto") + ", "
+ " '" + request.getParameter("area") + "',"
+ " " + request.getParameter("id_cat_dep") + ","
+ " " + request.getParameter("id_ur") + ","
+ " " + (id_dom_puesto)
+ " );";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_puesto_funcionario");
if (lrs_res.next()) {
id_puesto_funcionario = lrs_res.getString("id_puesto_funcionario");
}
ls_query = "INSERT INTO altabajafuncionario("
+ "fecha_alta, id_funcionario, id_puesto_funcionario, "
+ "status, clave, id_historial"
+ ") VALUES( "
+ " '" + request.getParameter("fecha_inicio") + "', "
+ " " + request.getParameter("id_funcionario") + ","
+ " " + (id_puesto_funcionario) + ","
+ " 1,"
+ " '" + clave +"', "
+ " 0"
+ " );";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_altabaja");
if (lrs_res.next()) {
id_altabaja = lrs_res.getString("id_altabaja");
}
}
/****FIN. ALTA/BAJA FUNCIONARIO*****/
/* ls_query = "INSERT INTO declaraciones("
+ "id_tipodeclaracion, fecha_declaracion, id_altabaja "
+ ") VALUES( "
+ " 1, "
+ " '"+ request.getParameter("fecha_declaracion") +"',"
+ " " + (id_altabaja)
+ " );";
lst_stm.executeUpdate(ls_query);
}/************FIN. DECLARACIÓN INICIAL********/
/************INICIO. DECLARACIÓN ANUAL********/
/* else if(request.getParameter("id_cat_tipo_declaracion").equals("2")){
ls_query = "INSERT INTO declaraciones("
+ "id_tipodeclaracion, fecha_declaracion, id_altabaja "
+ ") VALUES( "
+ " 2, "
+ " '"+ request.getParameter("fecha_declaracion") +"',"
+ " " + request.getParameter("id_altabaja")
+ " );";
lst_stm.executeUpdate(ls_query);
}/************FIN. DECLARACIÓN ANUAL********/
/************INICIO. DECLARACIÓN FINAL********/
/* else if(request.getParameter("id_cat_tipo_declaracion").equals("3")){
ls_query = "INSERT INTO declaraciones("
+ "id_tipodeclaracion, fecha_declaracion, id_altabaja "
+ ") VALUES( "
+ " 3, "
+ " '"+ request.getParameter("fecha_declaracion") +"',"
+ " " + request.getParameter("id_altabaja")
+ " );";
lst_stm.executeUpdate(ls_query);
ls_query="update altabajafuncionario "
+ " set status=0, "
+ " fecha_baja='"+request.getParameter("fecha_final")+"'"
+" where id_altabaja="+request.getParameter("id_altabaja");
lst_stm.executeUpdate(ls_query);
ls_query = "SELECT u.nombre_unidad_responsable, de.nombre_dep"
+ " from altabajafuncionario a "
+ " left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario"
+ " left join ur u on u.id_cat_unidades_responsables=pf.id_area_adscripcion"
+ " LEFT JOIN dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia"
+ " where a.id_altabaja=" + request.getParameter("id_altabaja");
lrs_res2 = lst_stm2.executeQuery(ls_query);
if (lrs_res2.next()) {
clave=lrs_res2.getString("nombre_unidad_responsable");
dep=lrs_res2.getString("nombre_dep");
}
ls_query="insert into historial ("
+ "id_funcionario, dependencia, puesto, archivofisico)"
+ " values ("
+ request.getParameter("id_funcionario")+", "
+ "'" + dep +"', "
+ "'" + clave +"', "
+ "'" + request.getParameter("observaciones") +"' "
+ ");";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_historial");
if (lrs_res.next()) {
id_dom_puesto = lrs_res.getString("id_historial");
}
ls_query="update altabajafuncionario set"
+ " id_historial="+id_dom_puesto
+ " where id_altabaja="+request.getParameter("id_altabaja");
}/************FINAL. DECLARACIÓN FINAL********/
//Registrar en la bitácora
try {
String mensaje_log = new String("");
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- actualizo los datos laborales del Declarante - " + request.getParameter("id_funcionario") + " -;";
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 Declarante - " + request.getParameter("id_funcionario") + " - fueron actualizados.");
lst_stm.executeUpdate("COMMIT;");
lst_stm2.executeUpdate("COMMIT;");
%>
<%
} catch (Exception e) {
emergent_error = "Error al actualizar la base de datos ";
lst_stm.executeUpdate("ROLLBACK;");
lst_stm2.executeUpdate("ROLLBACK;");
if (debug.equals("si")) {
emergent_error += e + " Query actual: " + ls_query;
}
%>
<%=emergent_error%>
<%
} finally {
lst_stm.close();
lst_stm2.close();
lcd_connection.close();
}
} else {
%>
<%=emergent_error%>
<%
}
%>