<%-- Document : exec_actualizar_declarantes Created on : 15/10/2012, 02:04:36 PM Author : Martha --%> <%@page import="clases.tipo_cargos"%> <%@page import="clases.ur"%> <%@page import="clases.dependencia"%> <%@page import="clases.puesto_funcionario"%> <%@page import="clases.historial"%> <%@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 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; } %>
<%=emergent_error%>
<% } finally { lst_stm.close(); lst_stm2.close(); lcd_connection.close(); } } else { %>
<%=emergent_error%>
<% } %>