%--
Document : exec_agregar_declarantes
Created on : 02/10/2012, 12:40:32 horas
Author : Martha
--%>
<%@page import="mx.com.declaranet.Pojos.Funcionario"%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "mx.com.declaranet.conexion.*"
import = "java.sql.*"
import = "mx.com.declaranet.Config"
import = "mx.com.declaranet.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 **************************************/
Config conf = new Config();
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 (!conf.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 ********/
//*******************************************************************************************************//
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;");
//request.setCharacterEncoding("UTF-8");
System.out.println("Funcionario- "+request.getParameter("id_funcionario"));
id_funcionario=request.getParameter("id_funcionario");
System.out.println("Im diferent");
if(id_funcionario.equals("-1")){
System.out.println("realizaré inserción");
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() + "' "
+");";
System.out.println(ls_query);
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") + " -;";
conf.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;");
Funcionario funcionarios = new Funcionario();
int l_Id = funcionarios.obtieneId(request.getParameter("curp").trim()
,request.getParameter("rfc").trim()
, lcd_connection);
System.out.println(l_Id);
if(l_Id !=0){
%>
<%
}
} 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%>
<%
}
%>