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 id_historial = new String("");
String clave = new String("");
String dep = new String("");
String id_tipo_cargo = new String("");
Integer clavemas=0;
String id_ur="";
int id_tipodeclaracion = 0;
int id_declaracion= 0;
// 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();
lst_stm2.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...
<%
/*******INICIO. AGREGAR NUEVO TIPO DE CARGO******/
if(request.getParameter("id_cat_tipo_puesto") != null){
if(request.getParameter("id_cat_tipo_puesto").equals("-1")){
ls_query="select * from tipo_cargos where cargo='"+ request.getParameter("name_otro") +"'";
lrs_res=lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
id_tipo_cargo = lrs_res.getString("id_tipo_cargo");
}
else{
ls_query="INSERT INTO tipo_cargos "
+ "(cargo) value "
+ " ('"+ request.getParameter("name_otro") +"' );";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_tipo_cargo");
if (lrs_res.next()) {
id_tipo_cargo = lrs_res.getString("id_tipo_cargo");
}
}
}
else{
id_tipo_cargo=request.getParameter("id_cat_tipo_puesto");
}
}
/*****FIN. AGREGAR NUEVO TIPO DE CARGO*/
/************INICIO. DECLARACIÓN INICIAL********/
if(Integer.parseInt(request.getParameter("id_altabaja"))>0){
ls_query =" select a.clave, "
+ "IFNULL(a.id_puesto_funcionario, 0) as id_puesto_funcionario, "
+ "IFNULL(a.id_historial, 0) as id_historial "
+ " from altabaja a "
+ "left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario "
+ "where id_altabaja="+request.getParameter("id_altabaja")+";";
lrs_res=lst_stm.executeQuery(ls_query);
if(lrs_res.next()){
clave = lrs_res.getString("clave");
id_puesto_funcionario = lrs_res.getString("id_puesto_funcionario");
id_historial = lrs_res.getString("id_historial");
id_altabaja = request.getParameter("id_altabaja");
}
}
else{
clave = "C";
id_puesto_funcionario = "0";
id_historial = "0";
id_altabaja= "0";
}
/*INICIO. Genera la clave para el puesto del funcionario*/
if (clave.equals("C")){
ls_query="select id_area_adscripcion from puesto_funcionario where id_puesto_funcionario="+id_puesto_funcionario;
lrs_res2 = lst_stm2.executeQuery(ls_query);
if (lrs_res2.next()) {
id_ur=lrs_res2.getString("id_area_adscripcion");
}
ls_query = "SELECT u.id_cat_unidades_responsables, u.id_ur, de.clave, de.id_dependencia, de.id_cat_dep_estatales, "
+ "if(tipo='30', CONCAT(tipo, '-'), '') as tipo "
+ " FROM ur u"
+ " LEFT JOIN dependencias de ON de.id_cat_dep_estatales=u.id_cat_dep_estatales"
+ " where u.id_cat_unidades_responsables=" + id_ur;
lrs_res2 = lst_stm2.executeQuery(ls_query);
if (lrs_res2.next()) {
clave=lrs_res2.getString("tipo")+lrs_res2.getString("id_dependencia")+ "-" +lrs_res2.getString("id_ur") + "-" + 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);
}
} /*FIN. Genera la clave para el puesto del funcionario*/
/*******INICIO. ALTA/BAJA FUNCIONARIO******/
if(Integer.parseInt(request.getParameter("id_altabaja"))>0){
if(request.getParameter("id_cat_tipo_declaracion").equals("1")){
if(request.getParameter("id_fechainicial") != null){
ls_query = "update altabaja set "
+ "fecha_alta='" + request.getParameter("fecha_cargo") +"', "
+ "clave='"+clave+"' "
+ " where id_altabaja="+id_altabaja+"; ";
lst_stm.executeUpdate(ls_query);
}else{
ls_query = "update altabaja set "
+ "id_puesto_funcionario="+ id_puesto_funcionario +", "
+ "status=1, "
+ "clave='"+clave+"' "
+ " where id_altabaja="+id_altabaja+"; ";
lst_stm.executeUpdate(ls_query);
}
}else if((request.getParameter("id_cat_tipo_declaracion").equals("3") && request.getParameter("id_fechainicial") != null)
|| request.getParameter("id_cat_tipo_declaracion").equals("4") ){
ls_query = "update altabaja set "
+ "fecha_baja='" + request.getParameter("fecha_cargo") +"', "
+ "status=0 "
//+ "clave='"+clave+"' "
+ " where id_altabaja="+id_altabaja+"; ";
lst_stm.executeUpdate(ls_query);
}
}else{
ls_query = "INSERT INTO altabaja("
+ "fecha_alta, id_funcionario, id_puesto_funcionario, "
+ "status, clave, id_historial"
+ ") VALUES( "
+ " '" + request.getParameter("fecha_cargo") + "', "
+ " " + 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*****/
/*INICIO. Valida el tipo de declaración, toma la Inicial-Final como 3 y las demas de acuerdo a su identificador*/
if(Integer.parseInt(request.getParameter("id_cat_tipo_declaracion"))>=3){
id_tipodeclaracion=3;
}else{
id_tipodeclaracion=Integer.parseInt(request.getParameter("id_cat_tipo_declaracion"));
}/*FIN. Valida el tipo de declaraciòn, toma la Inicial-Final como 3 y las demas de acuerdo a su identificador*/
/*Inicio. */
if(Integer.parseInt(request.getParameter("id_cat_tipo_declaracion"))>=1){
if(request.getParameter("editar").equals("1")){
if(Integer.parseInt(request.getParameter("id_declaracion")) > 0){
ls_query = "update declaration set "
+ "id_tipodeclaracion="+id_tipodeclaracion+", "
+ "fecha_declaracion='"+ request.getParameter("fecha_declaracion") +"', "
+ "id_altabaja="+(id_altabaja)+", "
+ "intereses="+request.getParameter("id_intereses")
+ " where id_declaracion="+request.getParameter("id_declaracion")+";";
lst_stm.executeUpdate(ls_query);
}
}else{
ls_query = "INSERT INTO declaration("
+ "id_tipodeclaracion, fecha_declaracion, id_altabaja, id_usuario, intereses "
+ ") VALUES( "
+ id_tipodeclaracion+", "
+ " '"+ request.getParameter("fecha_declaracion") +"', "
+ " " + (id_altabaja)
+", "+session.getAttribute("id_user")+", "
+ request.getParameter("id_intereses")+""
+ " );";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_declaracion");
if (lrs_res.next()) {
id_declaracion = lrs_res.getInt("id_declaracion");
}
}
}/************FIN. DECLARACIÓN INICIAL********/
/*INICIO. Modifica o agrega observaciones del puesto del funcionario*/
if(!request.getParameter("observacion").equals("") || request.getParameter("observacion") != null){
//out.println(request);
if(request.getParameter("id_observacion") != null && !request.getParameter("id_observacion").equals("")){
ls_query="update observaciones set "
+ "observacion='"+request.getParameter("observacion") +"', "
+ "id_altabaja="+id_altabaja+" "
+ "where id_observacion="+request.getParameter("id_observacion") +"";
lst_stm.executeUpdate(ls_query);
}else{
ls_query="insert into observaciones "
+ " (id_funcionario, observacion, id_altabaja, "
+ "id_opcion_declaracion, status) values "
+ "("+request.getParameter("id_funcionario")+ ", "
+ "'"+request.getParameter("observacion") +"', "
+ ""+id_altabaja+",0, 'd') ";
lst_stm.executeUpdate(ls_query);
}
}/*FIN. Modifica o agrega observaciones del puesto del funcionario*/
/*INICIO. Agrega historial de la declaración*/
puesto_funcionario.select_puesto_funcionario(Integer.parseInt(id_puesto_funcionario));
//historial.setId_funcionario(Integer.parseInt(request.getParameter("id_funcionario")));
historial.setDependencia(dependencia.nombre_dependencia(puesto_funcionario.getId_dependencia()));
historial.setPuesto(puesto_funcionario.getArea());
historial.setUr(ur.nombre_urs(puesto_funcionario.getId_area_adscripcion()));
historial.setCargo(tipo_cargos.descripcioncargo(puesto_funcionario.getid_tipo_cargo()));
if(request.getParameter("id_historial") != null && Integer.parseInt(request.getParameter("id_historial"))>0){
id_historial=request.getParameter("id_historial");
historial.setId_historial(Integer.parseInt(request.getParameter("id_historial")));
historial.update_historial();
}else{
historial.setDUC(puesto_funcionario.getId_dependencia()+"-"+puesto_funcionario.getId_area_adscripcion()+"-"+puesto_funcionario.getid_tipo_cargo());
id_historial= Integer.toString(historial.insert_historial());
}
/*INICIO. Actualiza la declaración para agregar el identificador del historial de la dependencia*/
ls_query="update declaration set "
+"id_historial="+id_historial
+ " where id_declaracion="+id_declaracion+";";
lst_stm.executeUpdate(ls_query);
/*FIN. Actualiza la declaración para agregar el identificador del historial de la dependencia*/
/*INICIO. Agrega historial de la declaración*/
/*INICIO. DECLARACION FINAL INICIAL*/
if(Integer.parseInt(request.getParameter("id_cat_tipo_declaracion"))==4){
id_ur=request.getParameter("id_ur_1");
ls_query = "SELECT u.id_cat_unidades_responsables, u.id_ur, de.clave, de.id_dependencia, de.id_cat_dep_estatales, "
+ "if(tipo='30', CONCAT(tipo, '-'), '') as tipo "
+ " FROM ur u"
+ " LEFT JOIN dependencias de ON de.id_cat_dep_estatales=u.id_cat_dep_estatales"
+ " where u.id_cat_unidades_responsables=" + id_ur+";";
lrs_res2 = lst_stm2.executeQuery(ls_query);
if (lrs_res2.next()) {
clave=lrs_res2.getString("tipo")+lrs_res2.getString("id_dependencia")+ "-" +lrs_res2.getString("id_ur") + "-" + 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);
}
id_tipo_cargo = request.getParameter("id_cat_tipo_puesto_1");
ls_query = "INSERT INTO puesto_funcionario("
+ " id_tipo_cargo, area, id_dependencia, "
+ "id_area_adscripcion, id_dom_puesto, tipo "
+ ") VALUES( "
+ " " + id_tipo_cargo + ", "
+ " '" + request.getParameter("area_1").trim() + "',"
+ " " + request.getParameter("id_cat_dep_1") + ","
+ " " + request.getParameter("id_ur_1") + ", "
+ " 0, 'd'"
+ " );";
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 altabaja("
+ "fecha_alta, id_funcionario, id_puesto_funcionario, "
+ "status, clave, id_historial"
+ ") VALUES( "
+ " '" + request.getParameter("fecha_cargo_1") + "', "
+ " " + 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");
}
ls_query = "INSERT INTO declaration("
+ "id_tipodeclaracion, fecha_declaracion, id_altabaja, id_usuario, intereses "
+ ") VALUES( "
+"1, "
+ " '"+ request.getParameter("fecha_declaracion") +"', "
+ " " + (id_altabaja)
+ ", "+ session.getAttribute("id_user")+", "
+ request.getParameter("id_intereses")
+ " );";
lst_stm.executeUpdate(ls_query);
lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_declaracion");
if (lrs_res.next()) {
id_declaracion = lrs_res.getInt("id_declaracion");
}
/*INICIO. Agrega historial de la declaración*/
puesto_funcionario.select_puesto_funcionario(Integer.parseInt(id_puesto_funcionario));
//historial.setId_funcionario(Integer.parseInt(request.getParameter("id_funcionario")));
historial.setDependencia(dependencia.nombre_dependencia(puesto_funcionario.getId_dependencia()));
historial.setPuesto(puesto_funcionario.getArea());
historial.setUr(ur.nombre_urs(puesto_funcionario.getId_area_adscripcion()));
historial.setCargo(tipo_cargos.descripcioncargo(puesto_funcionario.getid_tipo_cargo()));
historial.setDUC(puesto_funcionario.getId_dependencia()+"-"+puesto_funcionario.getId_area_adscripcion()+"-"+puesto_funcionario.getid_tipo_cargo());
id_historial= Integer.toString(historial.insert_historial());
/*FIN. Agrega historial de la declaración*/
ls_query="update declaration set id_altabajafi="+request.getParameter("id_altabaja")
+" , id_historial="+id_historial
+ " where id_declaracion="+id_declaracion+";";
lst_stm.executeUpdate(ls_query);
}/*FIN. DECLARACION FINAL INICIAL*/
if(request.getParameter("id_acuse") != null ){
if(request.getParameter("id_acuse").equals("1")){
id_funcionario=request.getParameter("id_funcionario");
%>
<%
}
}
if(request.getParameter("id_intereses") != null ){
if(request.getParameter("id_intereses").equals("1") || request.getParameter("id_intereses").equals("3")){
id_funcionario=request.getParameter("id_funcionario");
%>
<%
}
}
//Registrar en la bitácora
try {
String mensaje_log = new String("");
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- actualizo la declaración 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 de la declaración del funcionario - " + request.getParameter("id_funcionario") + " - fueron actualizados.");
lst_stm.executeUpdate("COMMIT;");
lst_stm2.executeUpdate("COMMIT;");
out.println("");
} 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;
}
%>