<%-- Document : exec_funcionario_user Created on : 20/08/2013, 04:56:32 horas Author : Martha --%> <%@page import="extras.BuzonQuejas"%> <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import = "conexion.*" import = "dates.*" import = "java.sql.*" import = "general.Config" import = "general.Permisos" import = "java.util.Date" import = "java.text.SimpleDateFormat" import = "clases.*" %> Actualizando el sistema... <% /************************** Guarda los cambios hechos a los datos del usuario en la base de datos **************************************/ out.println(""); String nompag[] = request.getRequestURI().split("/"); %> <% Date hoy = new Date(); SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd"); String fecha_hoy = formato.format(hoy); Connection lcnt_con = null; ResultSet lrs_res = null; Statement lst_stm = null; ResultSet lrs_res1 = null; Statement lst_stm1= 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 status = ""; String pwd=""; int id_usuarios = 0; int id_funcionario = 0; String sexo = ""; String mensaje_correo = ""; String persona_existente = new String("no"); // 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; } /********* 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_stm1 = lcd_connection.createStatement(); lb_connection = true; }catch (Exception e) { emergent_error = "Error al conectarse a la base de datos 2 "; if (debug.equals("si")) { emergent_error += "Trace: " + e.toString(); } lb_connection = false; } /********* 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 { if(Integer.parseInt(request.getParameter("id_usuarios"))==0){ ls_query="SELECT * FROM usuarios WHERE nombre_usuario='"+request.getParameter("nombre_usuario")+"';"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()){ %>
El nombre de usuario <%=request.getParameter("rfc")%> ya existe, por favor elija otro.

<% }else{ if (Config.getParametro("permitir_multiples_usuarios").equals("no")){ ls_query="SELECT * FROM usuarios WHERE nombre_real='"+request.getParameter("nombre_real")+"' AND paterno='"+request.getParameter("paterno")+"' AND materno='"+request.getParameter("materno")+"';"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) persona_existente = "si"; } if (persona_existente.equals("no")){ if(Integer.parseInt(request.getParameter("id_funcionario"))>0){ funcionarios.selectfuncionario(Integer.parseInt(request.getParameter("id_funcionario"))); if(funcionarios.getSexo()==1){ sexo="m"; }else{ sexo="f"; } } if(request.getParameter("status") != null){ if(Integer.parseInt(request.getParameter("status"))==1){ status="b"; } else{ status="a"; } }else{ status="a"; } %>
Actualizando la base de datos, espere por favor...
<% lst_stm.executeUpdate("START TRANSACTION;"); ls_query="INSERT INTO usuarios (nombre_usuario, contrasena_usuario, email, status, id_area, " + "paterno, materno, nombre_real, sexo, ife, fecha_inicio) VALUES('"+ request.getParameter("nombre_usuario")+"', '"+request.getParameter("contrasena_usuario")+"', " +"'"+request.getParameter("email")+"', '"+status+"', 11, " +"'"+funcionarios.getAp_paterno()+"', " +"'"+funcionarios.getAp_materno()+"', " +"'"+funcionarios.getNombre()+"', " + "'"+sexo+"', " + "'"+request.getParameter("ife")+"', " + "'"+fecha_hoy+"'" + ");"; lst_stm.executeUpdate(ls_query); lrs_res=lst_stm.executeQuery("select last_insert_id() as id_usuarios"); if(lrs_res.next()){ id_usuarios=lrs_res.getInt("id_usuarios"); } //Inserta el perfil del usuario en la tabla de relaciones de usuarios con perfiles ls_query="INSERT INTO rel_usuarios_perfil (id_usuarios, id_rel_perfiles_modulos) VALUES ((SELECT max(id_usuarios) FROM usuarios), 5);"; lst_stm.executeUpdate(ls_query); lst_stm.executeUpdate("COMMIT;"); }else{ %>
El usuario <%=request.getParameter("paterno")%> <%=request.getParameter("materno")%> <%=request.getParameter("nombre_real")%> ya tiene una cuenta de acceso al sistema. No están permitidas múltiples cuentas para un usuario.

<% } } }else if(Integer.parseInt(request.getParameter("id_usuarios"))>0){ if(request.getParameter("status") != null){ if(Integer.parseInt(request.getParameter("status"))==1){ status="b"; } else{ status="a"; } }else{ status="a"; } %>
Actualizando la base de datos, espere por favor...
<% /*******INICIO. AGREGAR NUEVO USUARIO******/ //}else{ if(request.getParameter("decodedpw").equals("")){ pwd=""; }else{ pwd="contrasena_usuario='"+request.getParameter("contrasena_usuario")+"', "; } ls_query="update usuarios set " //+ "nombre_usuario='"+request.getParameter("nombre_usuario")+"', " + pwd + "email='"+request.getParameter("email")+"', " + "status='"+status+"', " + "ife='"+request.getParameter("ife")+"' " +"where id_usuarios="+request.getParameter("id_usuarios")+";"; lst_stm.executeUpdate(ls_query); lst_stm.executeUpdate("COMMIT;"); id_usuarios=Integer.parseInt(request.getParameter("id_usuarios")); } if(id_usuarios>0){ lst_stm1.executeUpdate("START TRANSACTION;"); ls_query="update funcionarios set " + "rfc='"+request.getParameter("nombre_usuario")+"', " + "id_usuarios="+id_usuarios +" where id_funcionario="+request.getParameter("id_funcionario")+";"; lst_stm1.executeUpdate(ls_query); lst_stm1.executeUpdate("COMMIT;"); id_funcionario=Integer.parseInt(request.getParameter("id_funcionario")); } //id_funcionario=Integer.parseInt(request.getParameter("id_funcionario")); if(Integer.parseInt(request.getParameter("id_usuarios"))<=0 && id_usuarios>0){ %> <% } if(request.getParameter("status_1") != null){ if(Integer.parseInt(request.getParameter("status_1"))==1){ funcionarios.selectfuncionario(Integer.parseInt(request.getParameter("id_funcionario"))); if(!request.getParameter("decodedpw").equals("")){ mensaje_correo= "

"+funcionarios.getNombre()+" "+funcionarios.getAp_paterno()+" "+funcionarios.getAp_materno()+"

" + "
Sirva el presente para proporcionarle su clave de acceso al sistema DECLARANET

" + "Usuario: "+request.getParameter("nombre_usuario")+"
Contraseña: "+request.getParameter("decodedpw") +"

http://www.declaranet.michoacan.gob.mx
"; BuzonQuejas mail = new BuzonQuejas(); mail.setEmail(request.getParameter("email")); mail.setNombre(funcionarios.getNombre()+" "+funcionarios.getAp_paterno()+" "+funcionarios.getAp_materno());//nombre del destinatario mail.setError(mensaje_correo); mail.setFecha_actual(fecha_hoy); mail.enviarNotificacion(); } } } //Registrar en la bitácora // } try { String mensaje_log = new String(""); mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- agrego/edito un usuario -" + request.getParameter("id_usuarios") + " -;"; 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 usuario - " + request.getParameter("id_usuarios") +" - fueron insertados."); lst_stm.executeUpdate("COMMIT;"); if(id_usuarios>0){ %> <% } } catch (Exception e) { emergent_error = "Error al actualizar la base de datos "; lst_stm.executeUpdate("ROLLBACK;"); lst_stm1.executeUpdate("ROLLBACK;"); if (debug.equals("si")) { emergent_error += e + " Query actual: " + ls_query; } %>
<%=emergent_error%>
<% } finally { lst_stm.close(); lst_stm1.close(); lcd_connection.close(); lcnt_con.close(); } } else { %>
<%=emergent_error%>
<% } %>