%--
Document : frm_ver_anual_amonestacion
Created on : 24/04/2016, 09:17:35 AM
Author : martha
--%>
<%@page import="javax.management.Query"%>
<%@page import="sun.misc.Perf.GetPerfAction"%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page
import = "conexion.*"
import = "dates.*"
import = "java.sql.*"
import = "general.Config"
import = "general.Permisos"
import = "own.codec.*"
import = "java.util.Date"
import = "java.text.SimpleDateFormat"
import = "java.text.NumberFormat"
%>
Desplegar Información de las Declaraciones
<%
/****** Despliega la lista de cines del sistema filtrados por el texto de búsqueda de buscar_cines.jsp (no obligatorio)***********/
/********************************************creado por: Ing. Martha*******************************************************/
out.println(" ");
String nompag[] = request.getRequestURI().split("/");
%>
<%
// Conexion c = null;
//Connection lcnt_con = null;
ResultSet lrs_res = null;
Statement lst_stm = null;
ResultSet lrs_res1 = null;
Statement lst_stm1 = null;
String ls_query = new String("");
/*INICIO. Segunda Conexión*/
ConexionDeclaranet cd = null;
Connection lcd_connection = null;
//Statement lstg_conecta=null;
/*FIN. SEGUNDA CONEXIÓN*/
String emergent_error = new String("");
boolean lb_connection = false;
String debug = new String("si");
//String id_tipodeclaracion = "";
String id_dep = "";
//String fecha_desde = new String("");
//String fecha_hasta = new String("");
boolean elementos_encontrados = false;
String status = "";
String AWhere = "";
int total_declaracion = 0;
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
Dates_minus suma = new Dates_minus();
java.sql.Date fechaSesenta = null;
java.sql.Date fechaSetenta = null;
Date fechafinal = new Date();
Date fechaInicial = new Date();
Date fechahoy = new Date();
Date fechaalta = new Date();
Date fechadeclaracion = new Date();
//Integer dias = 0, diaslimite=0;
String funcionariosTodos = "";
String funcionarios = "";
String funcionariosOmisos = "";
int dias=41;
int diasInicial=31;
String msj = "";
String fecha_desde = "";
String fecha_hasta = "";
fecha_desde = request.getParameter("fecha_desde").toString();
fecha_hasta = request.getParameter("fecha_hasta").toString();
/********* 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_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();
lst_stm1.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 {
//id_tipodeclaracion = request.getParameter("id_tipodeclaracion");
if(request.getParameter("status").toString().equals("1")){
dias=31;
msj= " Amonestaciones";
}else{
dias=32;
msj = " Multas";
}
id_dep = request.getParameter("id_dep");
if(!id_dep.equals("")){
if(id_dep.equals("0")){
AWhere =" WHERE ";
}
else{
AWhere = " WHERE pf.id_dependencia="+id_dep+" and ";
}
}
ls_query="select d.fecha_declaracion, a.fecha_alta, "
+ " if(d.fecha_declaracion<='2014-10-01', CONCAT(YEAR(d.fecha_declaracion),'-10-30'), CONCAT(YEAR(d.fecha_declaracion),'-05-31')) as fecha_alta1, "
+ "a.id_altabaja "
+ "from altabaja a "
+ "LEFT JOIN declaration d ON d.id_altabaja=a.id_altabaja "
+ AWhere +" "
+ " d.id_tipodeclaracion=2 "
+ "and (d.fecha_declaracion>='"+fecha_desde+"' and d.fecha_declaracion<='"+fecha_hasta+"' )"
+ " order by d.fecha_declaracion "+";";
//funcionarios="";
lrs_res = lst_stm.executeQuery(ls_query);
while (lrs_res.next()) {
fechaSesenta = suma.suma_dias(formato.parse(lrs_res.getString("fecha_alta1")), diasInicial);
fechaSetenta = suma.suma_dias(formato.parse(lrs_res.getString("fecha_alta1")), dias);
fechaInicial = new java.util.Date(fechaSesenta.getTime());
fechafinal = new java.util.Date(fechaSetenta.getTime());
//fechaalta = formato.parse(lrs_res.getString("fecha_alta"));
fechadeclaracion = formato.parse(lrs_res.getString("fecha_declaracion"));
//if(fechadeclaracion.before(fechafinal) && ((fechadeclaracion.after(fechaalta) && fechadeclaracion.before(fechafinal)) || (fechadeclaracion.compareTo(fechaalta)==0) && fechadeclaracion.before(fechafinal))){
if(request.getParameter("status").toString().equals("1")){
if(fechadeclaracion.after(fechaInicial) && fechadeclaracion.before(fechafinal)){
if(funcionarios.equals("")){
funcionarios+=" a.id_altabaja="+lrs_res.getString("id_altabaja");
}
else{
funcionarios+=" or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
}else if(request.getParameter("status").toString().equals("2")){
if(fechadeclaracion.after(fechafinal)){
if(funcionariosOmisos.equals("")){
funcionariosOmisos+=" a.id_altabaja="+lrs_res.getString("id_altabaja");
}
else{
funcionariosOmisos+= " or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
}
}
AWhere="";
if(request.getParameter("status").toString().equals("2")){
if (!funcionariosOmisos.equals("")){
if(AWhere.equals("")){
AWhere+=" WHERE ("+funcionariosOmisos+") and";
}else{
AWhere+=" or ("+funcionariosOmisos+") and";
}
}
}else if(request.getParameter("status").toString().equals("1")){
if (!funcionarios.equals("")){
if(AWhere.equals("")){
AWhere+=" WHERE ("+funcionarios+") and ";
}else{
AWhere+=" or ("+funcionarios+") and ";
}
}
}
if(AWhere.equals("")){
AWhere=" where ";
}
ls_query="select count(a.id_altabaja) as total "
+ " from altabaja a "
//+ " LEFT JOIN declaration d ON d.id_altabaja=a.id_altabaja "
//+ "LEFT JOIN puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario "
+ AWhere
+ " a.id_altabaja>0"
//+ "and (d.fecha_declaracion>='"+fecha_desde+"' and d.fecha_declaracion<='"+fecha_hasta+"' )"
+";";
lrs_res = lst_stm.executeQuery(ls_query);
if (lrs_res.next()) {
total_declaracion = lrs_res.getInt("total");
}
%>
Listado de Declaraciones
Total de <%=msj%> <%=total_declaracion%>
<%
} catch (Exception e) {
emergent_error += "Error: " + e.toString() + " Ultimo query: " + ls_query;
%>
<%=emergent_error%>
<%
} finally {
lst_stm.close();
lcd_connection.close();
}
} else {
%>
<%=emergent_error%>
<%
}
if (!elementos_encontrados) {
%>
<%= "No se encontraron Declaraciones que coincidan con los criterios de búsqueda. "%>
<%
}
//Registrar en la bitácora
try {
String mensaje_log = new String("");
mensaje_log = "Usuario -" + session.getAttribute("username").toString() + "- desplegó lista de Declaraciones con Amonestación o Multa Anual del sistema del tipo -" + request.getParameter("id_tipodeclaracion") + "- desde reportes;";
Config.GuardarLog(Integer.parseInt(session.getAttribute("id_user").toString()), mensaje_log, 3);
} catch (Exception e) {
}
%>