%--
Document : xml_get_oficio_pdf
Created on : 04/01/2013, 11:32:56 PM
Author : Martha
--%>
<%@page
import = "java.sql.*"
import = "dates.*"
import = "conexion.*"
import = "java.util.*"
import = "java.util.Map"
import = "java.util.HashMap"
import = "java.util.Date"
import = "java.text.SimpleDateFormat"
import = "java.io.*"
import = "java.lang.*"
import = "general.Config"
import = "general.Permisos"
import = "net.sf.jasperreports.engine.*"
import = "net.sf.jasperreports.engine.JasperExportManager"
import = "net.sf.jasperreports.engine.JasperFillManager"
import = "net.sf.jasperreports.engine.JasperPrint"
import = "net.sf.jasperreports.engine.JasperReport"
import = "net.sf.jasperreports.engine.util.JRLoader"
import = "net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"
import = "net.sf.jasperreports.engine.design.JasperDesign"
import = "net.sf.jasperreports.engine.design.JRDesignQuery"
import = "net.sf.jasperreports.engine.xml.JRXmlLoader"
import = "net.sf.jasperreports.engine.util.JRLoader"
%>
Reportes de Declaraciones
<%
out.println("");
String nompag[] = request.getRequestURI().split("/");
/********************** tomo el formato de la fecha *************************/
SimpleDateFormat formato = new SimpleDateFormat("yyyy");
Date hoy = new Date();
String fecha_hoy = formato.format(hoy);
%>
<%
Conexion c = null;
Connection lc_connection = 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*/
boolean lb_connection = true;
Connection lcnt_con = null;
String debug = new String("si");
String emergent_error = new String("");
//String nompag[] = request.getRequestURI().split("/");
String ruta = new String("");
String ruta_archivos = new String("");
String ruta_imagen = new String("");
String id_tipodeclaracion = request.getParameter("id_tipodeclaracion");
String id_dep = request.getParameter("id_dep");
String status = request.getParameter("status");
String tipo =request.getParameter("tipo");
String tipodeclaracion = "";
boolean correcto = false;
String Wquery = new String("");
String ls_query = "";
String nombre_jrxml = new String("");
String tittle_reporte = new String(" DECLARACIONES");
String ruta_archivos_exportar = new String("");
String nombre_archivo = new String("");
String no_oficio= "";
//Integer x=0;
String AWhere = new String("");
Dates_minus suma = new Dates_minus();
java.sql.Date fechaSesenta = null;
Date fechafinal = new Date();
Date fechadeclaracion = new Date();
Date fechaalta = new Date();
Date fechahoy = new Date();
Date fechabaja = new Date();
String funcionarios = "";
String funcionariosOmisos = "";
SimpleDateFormat formato1 = new SimpleDateFormat("yyyy");
String FechaOmisos = formato1.format(fechaalta)+"-10-31";
String FechaComparar = formato1.format(fechaalta)+"-10-01";
//String tittle_reporte = new String(" DECLARACIONES");
/********* INICIO. Conexión a la base de datos 2 ********/
try {
cd = new ConexionDeclaranet();
lcd_connection = cd.getConnection();
lstg_conecta = lcd_connection.createStatement();
lst_stm = lcd_connection.createStatement();
}catch (Exception e) {
emergent_error = "Error al conectarse a la base de datos ";
if (debug.equals("si")) {
emergent_error += e;
}
lb_connection = false;
}
/********* FIN. Conexión a la base de datos ********/
if (lb_connection) {
try {
// Creando ruta de archivos fisica
try {
java.net.URL url_clase = Conexion.class.getResource("");
ruta = url_clase.getPath().substring(0, url_clase.getPath().indexOf("WEB-INF"));
int hli_vacio = 0;
String ls_path = "";
// Eliminar los espacios en la ruta (%20)
hli_vacio = ruta.indexOf("%20");
if (hli_vacio > 0) {
ls_path = ruta.substring(0, hli_vacio);
while (hli_vacio < ruta.length() && hli_vacio > 0) {
ls_path = ls_path + " " + ruta.substring(hli_vacio + 3, ruta.length());
hli_vacio = ruta.indexOf("%20", hli_vacio + 1);
if (hli_vacio == -1) {
ruta = ls_path;
break;
}
ls_path = ls_path.substring(0, hli_vacio - 2);
}
}
} catch (Exception e) {
emergent_error += " Error al obtener la ruta física para almacenar el achivo: ";
if (debug.equals("si")) {
emergent_error += e;
}
throw new Exception(e.toString());
}
if(!id_dep.equals("")){
if(id_dep.equals("0")){
id_dep =" ";
}
else{
id_dep = " and pf.id_dependencia="+id_dep;
}
}
if(request.getParameter("nooficio") !=null){
no_oficio="DRSP-"+request.getParameter("nooficio")+"-";
fecha_hoy="/"+fecha_hoy;
}
/**/
if(id_tipodeclaracion.equals("1") && status.equals("2")){
AWhere=" "+id_dep;
ls_query="select a.fecha_alta, a.id_altabaja, "
+ "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, "
+ " UPPER(IFNULL(pf.area, '')) as area, UPPER(IFNULL(tc.cargo, '')) as cargo "
+ "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 "
+ "left join tipo_cargos tc ON tc.id_tipo_cargo=pf.id_tipo_cargo "
+ "LEFT JOIN dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia "
+ "where a.clave='C' "
+ AWhere +" "
+ " order by a.fecha_alta"+";";
lrs_res = lst_stm.executeQuery(ls_query);
//out.println(ls_query);
while (lrs_res.next()) {
fechaSesenta = suma.suma_dias(formato.parse(lrs_res.getString("fecha_alta")), 61);
fechafinal = new java.util.Date(fechaSesenta.getTime());
fechaalta = formato.parse(lrs_res.getString("fecha_alta"));
//fechadeclaracion = formato.parse(lrs_res.getString("fecha_declaracion"));
if((fechahoy.compareTo(fechaalta)==0 || fechahoy.after(fechaalta)) && fechahoy.before(fechafinal)){
if(funcionariosOmisos.equals("")){
funcionariosOmisos+=" a.id_altabaja="+lrs_res.getString("id_altabaja");
}
else{
funcionariosOmisos+=" or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
else{
if(funcionarios.equals("")){
funcionarios+=" a.id_altabaja="+lrs_res.getString("id_altabaja");
}
else{
funcionarios+= " or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
}
/*if (status.equals("1")){
AWhere=" "+id_dep+" or ("+funcionarios+")";
AWhere=" "+id_dep+" and ("+funcionariosOmisos+" )";
}
else*/
if(!funcionarios.equals("")){
if(status.equals("2")){
AWhere=" "+id_dep+" and ("+funcionarios+")";
}
}
ls_query="select a.id_funcionario, "
+ " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, "
+ "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, "
+ " UPPER(IFNULL(pf.area, '')) as area, UPPER(IFNULL(tc.cargo, '')) as puesto "
+ " 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 "
+ "left join tipo_cargos tc ON tc.id_tipo_cargo=pf.id_tipo_cargo "
+ " left join funcionarios f ON f.id_funcionario=a.id_funcionario "
+ "LEFT JOIN dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia "
+ " where a.clave='C' "
+ AWhere +" "
+ " ORDER BY a.id_funcionario;";
//nombre_jrxml = ruta_archivos + "jaspers/report_pdf_inicial.jrxml";
}
else if(id_tipodeclaracion.equals("2") && status.equals("2")){
AWhere=" and YEAR(a.fecha_alta)< YEAR(NOW())"+id_dep;
ls_query="select a.fecha_alta, d.fecha_declaracion, a.id_altabaja, "
+ "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, "
+ " UPPER(IFNULL(pf.area, '')) as area, UPPER(IFNULL(tc.cargo, '')) as cargo "
+ "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 "
+ "left join tipo_cargos tc ON tc.id_tipo_cargo=pf.id_tipo_cargo "
+ "LEFT JOIN dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia "
+ "where a.status=1 and d.id_tipodeclaracion=1 "
+ " and YEAR(d.fecha_declaracion)= YEAR(NOW()) "
+ AWhere +" "
+ " order by a.fecha_alta"+";";
lrs_res = lst_stm.executeQuery(ls_query);
//out.println(ls_query);
while (lrs_res.next()) {
fechaSesenta = suma.suma_dias(formato.parse(lrs_res.getString("fecha_alta")), 61);
fechafinal = new java.util.Date(fechaSesenta.getTime());
fechaalta = formato.parse(lrs_res.getString("fecha_alta"));
fechadeclaracion = formato.parse(lrs_res.getString("fecha_declaracion"));
if(fechadeclaracion.after(fechaalta) && fechadeclaracion.before(fechafinal)){
funcionarios+= " and a.id_altabaja <>"+lrs_res.getString("id_altabaja");
funcionariosOmisos+="or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
if (status.equals("1")){
AWhere=" a.status=1 and d.id_tipodeclaracion=1 and YEAR(a.fecha_alta)< YEAR(NOW()) "+id_dep+" "+funcionarios;
}else if(status.equals("2")){
funcionariosOmisos="";
AWhere=" and YEAR(a.fecha_alta)='"+ FechaComparar+ "' ) "
+ " and id_altabaja="+lrs_res.getString("id_altabaja")+""
+ ";";
lrs_res1 = lst_stm1.executeQuery(ls_query);
if(lrs_res1.next()){
}else{
if(funcionariosOmisos.equals("")){
funcionariosOmisos= " a.id_funcionario="+lrs_res.getString("id_funcionario")+" ";
}else{
funcionariosOmisos+= " or a.id_funcionario="+lrs_res.getString("id_funcionario")+" ";
}
}
}
if(!funcionariosOmisos.equals("")){
AWhere="a.status=1 and d.id_tipodeclaracion=1 and ("+funcionariosOmisos+")";
}else{
AWhere="a.id_funcionario<0";
}
}
ls_query="select "
+ " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, "
+ "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, "
+ " UPPER(IFNULL(pf.area, '')) as area, UPPER(IFNULL(tc.cargo, '')) as puesto "
+ " 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 "
+ "left join tipo_cargos tc ON tc.id_tipo_cargo=pf.id_tipo_cargo "
+ " left join funcionarios f ON f.id_funcionario=a.id_funcionario "
+ "LEFT JOIN dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia "
+ " where "
+ AWhere +" "
+ " ORDER BY a.id_funcionario;";
/*if(tipo.equals("4")){
nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual_sin_firma.jrxml";
}else{
nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual.jrxml";
}*/
}
else if(id_tipodeclaracion.equals("3") && status.equals("2")){
AWhere=" "+id_dep;
ls_query="select a.fecha_baja, a.id_altabaja "
+ "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 "
+ "where a.status=1 and (a.fecha_baja<>'NULL' and a.fecha_baja<>'0000-00-00') "
+ AWhere +" "
+ " order by a.fecha_alta"+";";
lrs_res = lst_stm.executeQuery(ls_query);
//out.println(ls_query);
while (lrs_res.next()) {
fechaSesenta = suma.suma_dias(formato.parse(lrs_res.getString("fecha_baja")), 31);
fechafinal = new java.util.Date(fechaSesenta.getTime());
fechabaja = formato.parse(lrs_res.getString("fecha_baja"));
//fechadeclaracion = formato.parse(lrs_res.getString("fecha_declaracion"));
if((fechahoy.compareTo(fechabaja)==0 || fechahoy.after(fechabaja)) && fechahoy.before(fechafinal)){
if(funcionariosOmisos.equals("")){
funcionariosOmisos+=" a.id_altabaja="+lrs_res.getString("id_altabaja");
}
else{
funcionariosOmisos+=" or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
else{
if(funcionarios.equals("")){
funcionarios+=" a.id_altabaja="+lrs_res.getString("id_altabaja");
}
else{
funcionarios+= " or a.id_altabaja="+lrs_res.getString("id_altabaja");
}
}
}
/* if (status.equals("1")){
AWhere=" "+id_dep;
if(!funcionarios.equals("")){
AWhere+=" and ("+funcionarios+")";
}
}
else*/ if(status.equals("2")){
AWhere=" "+id_dep;
if(!funcionariosOmisos.equals("")){
AWhere+=" and ("+funcionariosOmisos+" )";
}
}
ls_query="select "
+ " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, "
+ "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, "
+ " UPPER(IFNULL(pf.area, '')) as area, UPPER(IFNULL(tc.cargo, '')) as puesto "
+ " 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 "
+ "left join tipo_cargos tc ON tc.id_tipo_cargo=pf.id_tipo_cargo "
+ " left join funcionarios f ON f.id_funcionario=a.id_funcionario "
+ "LEFT JOIN dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia "
+ " where a.status=1 and (a.fecha_baja<>'NULL' and a.fecha_baja<>'0000-00-00') "
+ AWhere +" "
+ " ORDER BY a.id_funcionario;";
//nombre_jrxml = ruta_archivos + "jaspers/report_pdf_final.jrxml";
}
/**/
/*ls_query="select "
+ "CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, "
+ "UPPER(de.nombre_dep) as nombre_dep, "
+ "UPPER(concat(tc.cargo, ' ', pf.area)) as puesto "
+ "from altabaja a "
+ "left join funcionarios f on f.id_funcionario=a.id_funcionario "
+ "LEFT JOIN puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario "
+ "left join tipo_cargos tc ON tc.id_tipo_cargo=pf.id_tipo_cargo "
+ "left join dependencias de ON de.id_cat_dep_estatales=pf.id_dependencia "
+ "where f.id_funcionario="+request.getParameter("id_funcionario")+" "
+ "and a.id_altabaja="+request.getParameter("id_altabaja")+""
+ ";";*/
////////termina la creacion de la ruta fisica
ruta_imagen = ruta + "medios/imagenes/";
ruta_archivos = ruta + "declarantes/reportes/reportes_pdf/";
ruta_archivos_exportar = ruta + "declarantes/reportes/reportes_pdf/pdfs/";
nombre_archivo = "oficio";
//String ruta_jasper = ruta_archivos + "jaspers/";
//String archivo = ruta_archivos + "pdfs/";
if(id_tipodeclaracion.equals("1")){
nombre_jrxml = ruta_archivos + "jaspers/oficio.jrxml";
}if(id_tipodeclaracion.equals("2")){
nombre_jrxml = ruta_archivos + "jaspers/oficio_anual.jrxml";
}if(id_tipodeclaracion.equals("3")){
nombre_jrxml = ruta_archivos + "jaspers/oficio_final.jrxml";
}
//fecha_hoy=request.getParameter("fecha_entrega");
//out.println(ls_query);
Map params = new HashMap();
params.put("escudo", ruta_imagen + "/escudoMX.jpg");
params.put("escudo10", ruta_imagen + "/escudo10.jpg");
params.put("no_oficio", no_oficio);
params.put("years", fecha_hoy);
try {
lrs_res = lstg_conecta.executeQuery(ls_query);
//out.println(lst_stm);
if (lrs_res.next()) {
//out.println("Entro");
nombre_archivo += ".pdf";
%>
Generando reporte, espere por favor...
<%
//params.put("id_code", ids_code);
JasperDesign jasperDesign = JRXmlLoader.load(nombre_jrxml);
JRDesignQuery query = new JRDesignQuery();
query.setText(ls_query);
jasperDesign.setQuery(query);
JasperReport reporte = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, params, lcd_connection);
JasperExportManager.exportReportToPdfFile(jasperPrint, ruta_archivos_exportar + nombre_archivo);
//out.println(ruta+"declarantes/reportes/reportes_pdf/pdfs/"+nombre_archivo);
out.println(" ");
%>
<%
} else {
%>
Lo sentimos pero su selección, no regresó ningún resultado. Verifique la información.
<% }
} catch (Exception e) {
%>
<%="Error al crear reporte de Acuse de la Declaración. Error: " + e %>
<%
} finally {
lst_stm.close();
//lcnt_con.close();
lstg_conecta.close();
lcd_connection.close();
}
}catch (Exception e) {
}
}
%>