<%-- Document : exec_agregar_declarantes Created on : 02/10/2012, 12:40:32 horas 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; /*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_funcionario = new String(""); String id_dom_puesto = new String(""); String id_puesto_funcionario = new String(""); String id_altabaja = new String(""); String clave = new String(""); Integer clavemas=0; Integer codigop; boolean valido = true; Date fechaActual = new Date(); SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd"); String resultado = formato.format(fechaActual); String id_tipo_cargo = new String(); java.sql.Date fechaSesenta = null; Date hoy = new Date(); Integer dias = 0; /********* 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(); lb_connection = true; }catch (Exception e) { emergent_error = "Error al conectarse a la base de datos 2 "; } /********* FIN. Conexión a la base de datos ********/ //********* 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(); } lb_connection = false; } //*******************************************************************************************************// 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").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*/ lst_stm.executeUpdate("START TRANSACTION;"); if(request.getParameter("id_funcionario") != null){ if(Integer.parseInt(request.getParameter("id_funcionario"))>0){ id_funcionario=request.getParameter("id_funcionario"); } } else{ id_funcionario=""; } if(id_funcionario != null){ if(id_funcionario.equals("")){ ls_query = "INSERT INTO funcionarios(" + "nombre, ap_paterno, ap_materno, curp, rfc, sexo, id_estadocivil," + "id_nacionalidad, tel" + ") VALUES(" + " '" + request.getParameter("nombre").trim() + "', " + " '" + request.getParameter("ap_paterno").trim() + "', " + " '" + request.getParameter("ap_materno").trim() + "', " + " '" + request.getParameter("curp").trim() + "', " + " '" + request.getParameter("rfc").trim() + "', " + " " + request.getParameter("tipo_sexo_1").trim() + ", " + " " + request.getParameter("id_estadocivil").trim() + ", " + " " + request.getParameter("nacionalidad").trim() + ", " + " '" + request.getParameter("tel").trim() + "' " +");"; lst_stm.executeUpdate(ls_query); lrs_res = lst_stm.executeQuery("SELECT LAST_INSERT_ID() as id_funcionario;"); if (lrs_res.next()) { id_funcionario = lrs_res.getString("id_funcionario"); } } else{ ls_query = "UPDATE funcionarios SET " + " nombre='"+ request.getParameter("nombre") + "' , " + " ap_paterno='"+ request.getParameter("ap_paterno") + "' , " + " ap_materno='"+ request.getParameter("ap_materno") + "' , " + " rfc='"+ request.getParameter("rfc") + "' , " + " curp='"+ request.getParameter("curp") + "' , " + " sexo="+ request.getParameter("tipo_sexo_1") + ", " + " id_estadocivil="+ request.getParameter("id_estadocivil") + " , " + " id_nacionalidad="+ request.getParameter("nacionalidad") + ", " + " tel='"+ request.getParameter("tel") + "' " +" WHERE id_funcionario="+request.getParameter("id_funcionario"); lst_stm.executeUpdate(ls_query); id_funcionario=request.getParameter("id_funcionario"); } } if(Integer.parseInt(request.getParameter("id_funcionario")) > 0){ ls_query = "SELECT * FROM nacimiento_funcionario where id_funcionario="+request.getParameter("id_funcionario"); lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { //do { ls_query = "UPDATE nacimiento_funcionario SET" + " fecha_nacimiento='"+ request.getParameter("fecha_nacimiento") + "', " + " cd_nacimiento="+ request.getParameter("cd_nacimiento") + ", " + " localidad='"+ request.getParameter("localidad") + "', " + " edo_nacimiento="+ request.getParameter("edo_nacimiento") + "" +" WHERE id_funcionario="+request.getParameter("id_funcionario"); lst_stm.executeUpdate(ls_query); //} while (lrs_res.next()); } }else { ls_query = "INSERT INTO nacimiento_funcionario " + "(fecha_nacimiento, cd_nacimiento, edo_nacimiento, id_funcionario, localidad) " + "values (" + "'" + request.getParameter("fecha_nacimiento") + "', " + request.getParameter("cd_nacimiento") + ", " + request.getParameter("edo_nacimiento") + ", " + id_funcionario+ ", " + "'"+request.getParameter("localidad")+"'" +")"; lst_stm.executeUpdate(ls_query); } /*******PUESTO*/ //if(request.getParameter("id_puesto")==null){ if(request.getParameter("id_puesto").equals("") || request.getParameter("id_puesto").equals("0")){ 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").trim() + "'," + " " + request.getParameter("id_cat_dep") + "," + " " + request.getParameter("id_ur") + ", " + " 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"); } //} }else{ ls_query = "update puesto_funcionario set " + "id_tipo_cargo="+ id_tipo_cargo + ", " + "area='" + request.getParameter("area").trim() + "', " + "id_dependencia="+ request.getParameter("id_cat_dep") + ", " + "id_area_adscripcion="+ request.getParameter("id_ur") + " " //+ " id_dom_puesto="+id_dom_puesto + " where id_puesto_funcionario="+request.getParameter("id_puesto")+";"; lst_stm.executeUpdate(ls_query); id_puesto_funcionario=request.getParameter("id_puesto"); } if((request.getParameter("id_altabaja") != null)){ if(request.getParameter("id_altabaja").equals("0")){ ls_query = "INSERT INTO altabaja(" + "fecha_alta, id_funcionario," + "status, id_historial, clave, id_puesto_funcionario" + ") VALUES( " + " '" + request.getParameter("fecha_inicio") + "', " + " " + (id_funcionario) + ", " + " 1, " + " 0, " + " 'C', " + id_puesto_funcionario+ ");"; 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"); } }else{ if(request.getParameter("id_fechafinal") != null){ ls_query="update altabaja set " + "fecha_baja='"+request.getParameter("fecha_final") +"', " + "status=0 " + "where id_altabaja="+request.getParameter("id_altabaja") +""; lst_stm.executeUpdate(ls_query); } if(request.getParameter("id_fechainicial") != null){ ls_query="update altabaja set " + "fecha_alta='"+request.getParameter("fecha_inicio") +"' " + "where id_altabaja="+request.getParameter("id_altabaja") +""; lst_stm.executeUpdate(ls_query); } id_altabaja=request.getParameter("id_altabaja"); if(!id_puesto_funcionario.equals("")){ ls_query="update altabaja set " + " id_puesto_funcionario="+id_puesto_funcionario + " where id_altabaja="+request.getParameter("id_altabaja") +""; lst_stm.executeUpdate(ls_query); } } } if(request.getParameter("id_clave") != null && request.getParameter("id_clave").equals("1")){ ls_query = "SELECT u.id_cat_unidades_responsables, u.id_ur, de.clave, de.id_cat_dep_estatales, de.id_dependencia, " + "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=" + request.getParameter("id_ur"); lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { clave=lrs_res.getString("tipo")+lrs_res.getString("id_dependencia")+ "-" +lrs_res.getString("id_ur") + "-" + lrs_res.getString("clave"); clavemas= Integer.parseInt(lrs_res.getString("clave")); clavemas++; ls_query="update dependencias set clave="+clavemas+" where id_cat_dep_estatales="+lrs_res.getString("id_cat_dep_estatales"); lst_stm.executeUpdate(ls_query); } ls_query="update altabaja set " + "clave='"+clave.trim() +"' " + "where id_altabaja="+id_altabaja+""; lst_stm.executeUpdate(ls_query); } if(request.getParameter("observacion") != null){ if(!request.getParameter("observacion").equals("")){ //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 " + "("+id_funcionario+ ", " + "'"+request.getParameter("observacion") +"', " + ""+id_altabaja+", 0, 'd') "; lst_stm.executeUpdate(ls_query); } } } if(request.getParameter("id_acuse") != null ){ if(request.getParameter("id_acuse").equals("1")){ %> <% } } //Registrar en la bitácora try { String mensaje_log = new String(""); mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- agrego el Declarante Nuevo - " + id_funcionario + " , " + request.getParameter("nombre") + request.getParameter("ap_paterno") + request.getParameter("ap_materno") + " -;"; 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 - " + id_funcionario + " - fueron actualizados."); lst_stm.executeUpdate("COMMIT;"); if(request.getParameter("id_funcionario")!=null){ %> <% }else{ %> <% } } 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(); lcd_connection.close(); } } else { %>
<%=emergent_error%>
<% } %>