<%-- Document : xml_get_pdf_declaraciones Created on : 8/11/2012, 01:30: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-MM-dd"); SimpleDateFormat format0 = new SimpleDateFormat("yyyy"); Date hoy = new Date(); String fecha_hoy = format0.format(hoy); %> <% //Conexion c = null; //Connection lc_connection = null; ResultSet lrs_res = null; ResultSet lrs_res1 = null; Statement lst_stm = null; Statement lst_stm1 = null; /*INICIO. Segunda Conexión*/ ConexionDeclaranet cd = null; Connection lcd_connection = 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 ruta_imagen1 = new String(""); //boolean correcto = false; 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 no_oficio=""; String tipodeclaracion = ""; String AWhere = new String(""); String DWhere = new String(""); String ls_query = ""; 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 funcionariosTodos = ""; String funcionarios = ""; String funcionariosOmisos = ""; String nombre_jrxml = new String(""); SimpleDateFormat formato1 = new SimpleDateFormat("yyyy"); String FechaOmisos = formato1.format(fechaalta)+"-05-31"; String FechaComparar = formato1.format(fechaalta)+"-05-01"; Date actual = new Date(); String actualF = formato.format(actual); String fechaActual = formato1.format(actual)+"-01-01"; String fechaActualFinal = formato1.format(actual)+"-04-30"; String funcionariosExentos = ""; String funcionariosOblidagos = ""; Integer beforeyear = Integer.parseInt(formato1.format(actual))-1; Date fechabefore = formato.parse(formato1.format(fechaalta)+"-01-01"); //String tittle_reporte = new String(" DECLARACIONES"); String ruta_archivos_exportar = new String(""); String direccion = request.getSession().getServletContext().getRealPath("/pdfs/"); String nombre_archivo = new String(""); String depaux = request.getParameter("id_dep"); if(request.getParameter("nooficio")!=null){ //String no_oficio=request.getParameter("nooficio"); no_oficio="DRSP-"+request.getParameter("nooficio")+"-"; fecha_hoy="/"+fecha_hoy; } /********* 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 += 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")){ AWhere =""; } else{ AWhere = " WHERE pf.id_dependencia="+id_dep; } } ////////termina la creacion de la ruta fisica ruta_imagen = ruta + "medios/imagenes/"; ruta_imagen1 = ruta + "medios/tema/"; ruta_archivos = ruta + "declarantes/reportes/reportes_pdf/"; ruta_archivos_exportar = ruta + "declarantes/reportes/reportes_pdf/pdfs/"; nombre_archivo = "report_pdf"; if (status.equals("1")){ if(!id_tipodeclaracion.equals("2")){ tipodeclaracion="FUNCIONARIOS OBLIGADOS"; }else{ tipodeclaracion="DE MODIFICACIONES PATRIMONIALES"; } } else if(status.equals("2")){ tipodeclaracion="FUNCIONARIOS OMISOS"; } /**********Parametros**************/ Map params = new HashMap(); if(!request.getParameter("tipo").equals("5")){ //params.put("escudo", ruta_imagen + "/escudo michoacan.jpg"); params.put("escudo", ruta_imagen1 + "/banner.png"); params.put("tipo", tipodeclaracion); }else{ //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); } /**/ if(id_tipodeclaracion.equals("1")){ if(request.getParameter("nooficio") != null && !request.getParameter("nooficio").equals("") && status.equals("2")){ nombre_jrxml = ruta_archivos + "jaspers/oficio.jrxml"; }else{ nombre_jrxml = ruta_archivos + "jaspers/report_pdf_inicial.jrxml"; } }if(id_tipodeclaracion.equals("2")){ if(request.getParameter("nooficio") != null && !request.getParameter("nooficio").equals("") && status.equals("2")){ nombre_jrxml = ruta_archivos + "jaspers/oficio_anual.jrxml"; }else{ if(tipo.equals("4")){ if(Integer.parseInt(id_dep)<=0) nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual_sin_firmaDep.jrxml"; else if(Integer.parseInt(id_dep)>0) nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual_sin_firma.jrxml"; }else if(tipo.equals("3")){ if(Integer.parseInt(id_dep)<=0) nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anualDep.jrxml"; else if(Integer.parseInt(id_dep)>0) nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual.jrxml"; }else if(tipo.equals("7")){ nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual_sin_firma.jrxml"; }else if(tipo.equals("6")){ nombre_jrxml = ruta_archivos + "jaspers/report_pdf_anual.jrxml"; } } }if(id_tipodeclaracion.equals("3")){ if(request.getParameter("nooficio") != null && !request.getParameter("nooficio").equals("") && status.equals("2")){ nombre_jrxml = ruta_archivos + "jaspers/oficio_final.jrxml"; }else{ nombre_jrxml = ruta_archivos + "jaspers/report_pdf_final.jrxml"; } } if(id_tipodeclaracion.equals("1")){ if(!id_dep.equals("")){ if(id_dep.equals("0")){ AWhere =" where "; } else{ AWhere = " WHERE pf.id_dependencia="+id_dep+" and "; } } ls_query="select DISTINCT id_altabaja " + "from altabaja a " + "left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario " + AWhere + "a.status=1 and " + "NOT EXISTS (select * from declaration d where d.id_altabaja=a.id_altabaja) " + "order by a.id_altabaja desc"+";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { if(funcionariosTodos.equals("")){ funcionariosTodos+="a.id_altabaja="+lrs_res.getInt("id_altabaja"); }else{ funcionariosTodos+=" or a.id_altabaja="+lrs_res.getInt("id_altabaja"); } } if(!funcionariosTodos.equals("")){ AWhere =" WHERE "+funcionariosTodos; ls_query="select a.fecha_alta, 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 " + AWhere +" " + " order by a.fecha_alta"+";"; //funcionarios=""; lrs_res = lst_stm.executeQuery(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(funcionarios.equals("")){ funcionarios+=" a.id_altabaja="+lrs_res.getString("id_altabaja"); } else{ funcionarios+=" or a.id_altabaja="+lrs_res.getString("id_altabaja"); } } else{ if(funcionariosOmisos.equals("")){ funcionariosOmisos+=" a.id_altabaja="+lrs_res.getString("id_altabaja"); } else{ funcionariosOmisos+= " or a.id_altabaja="+lrs_res.getString("id_altabaja"); } } } if (status.equals("1")){ if (!funcionarios.equals("")){ //if(AWhere.equals("")){ AWhere=" WHERE ("+funcionarios+")"; /*}else{ AWhere+=" and ("+funcionarios+")"; } */ } if (!funcionariosOmisos.equals("")){ if(AWhere.equals("")){ AWhere+=" WHERE ("+funcionariosOmisos+")"; }else{ if (!funcionarios.equals("")){ AWhere+=" or ("+funcionariosOmisos+")"; }else{ AWhere+=" and ("+funcionariosOmisos+")"; } } //AWhere+=" and ("+funcionariosOmisos+")"; } //AWhere+=")"; }else if(status.equals("2")){ //AWhere=" "+id_dep; /*if (!funcionariosOmisos.equals("")){ AWhere+=" and ("+funcionariosOmisos+")"; }*/ if (!funcionariosOmisos.equals("")){ //if(AWhere.equals("")){ AWhere=" where ("+funcionariosOmisos+")"; /*}else{ AWhere=" and ("+funcionariosOmisos+")"; }*/ } } ls_query="select count(*) as total " + " from altabaja a " + AWhere +"" + ";"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { params.put("total", lrs_res.getString("total")); } ls_query="select (@rownum:=@rownum+1) as num, a.id_funcionario, " + " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, " + " a.fecha_alta, " + "UPPER(IFNULL(de.nombre_dep, '') ) as nombre_dep , " + " UPPER(IFNULL(pf.area, '')) as area, " + "CONCAT(UPPER(IFNULL(tc.cargo, '')), ' ', UPPER(IFNULL(pf.area, ''))) as cargo " + " from (select @rownum:=0) r, 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 " + "" + AWhere +" " + " ORDER BY nombre, a.id_funcionario;"; }else{ ls_query=""; } }else if(id_tipodeclaracion.equals("2")){ if(Integer.parseInt(tipo)==3 || tipo.equals("4")){ ls_query="select nombre_dep, id_cat_dep_estatales from dependencias Where id_cat_dep_estatales="+id_dep+"" + ";"; lrs_res1 = lst_stm1.executeQuery(ls_query); if(lrs_res1.next()) { nombre_archivo=lrs_res1.getString("nombre_dep").toUpperCase(); nombre_archivo += "_"+lrs_res1.getString("id_cat_dep_estatales")+".pdf"; params.put("dependencia", lrs_res1.getString("nombre_dep").toUpperCase()); } if(id_dep.equals("0")){ AWhere =" WHERE "; }else{ AWhere = " WHERE id_dependencia="+id_dep+" and "; } /*Obligados porque presentaron su declaración en el año de la declaración Anual*/ ls_query="select DISTINCT id_altabaja " + "from altabaja a " + "left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario " + AWhere + "a.fecha_alta<'"+fechaActual+"' " + "and a.status=1 and " + "EXISTS (select * from declaration d where " + "(fecha_declaracion>='"+fechaActual+"' and fecha_declaracion<='"+fechaActualFinal+"')" + " and d.id_tipodeclaracion=1 and d.id_altabaja=a.id_altabaja) " + " and NOT EXISTS (select * from declaration d where d.id_tipodeclaracion=3 and d.id_altabaja=a.id_altabaja)" + " order by a.id_altabaja desc"+";"; //ls_query="select id_altabaja from altabaja where status=1"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { if(funcionariosOblidagos.equals("")){ funcionariosOblidagos+=" a.id_altabaja="+lrs_res.getInt("id_altabaja"); }else{ funcionariosOblidagos+=" or a.id_altabaja="+lrs_res.getInt("id_altabaja"); } } /**/ ls_query="select DISTINCT id_altabaja " + "from altabaja a " + "left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario " + AWhere + " a.fecha_alta<'"+fechaActual+"' " + "and a.status=1 and " + "EXISTS (select * from declaration d where " + "fecha_declaracion<'"+fechaActual+"' and " + "d.id_tipodeclaracion=1 and d.id_altabaja=a.id_altabaja) and " + "NOT EXISTS (select * from declaration d where d.id_tipodeclaracion=3 and d.id_altabaja=a.id_altabaja)" + " order by a.id_altabaja desc"+";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { if(funcionariosTodos.equals("")){ funcionariosTodos+="a.id_altabaja="+lrs_res.getInt("id_altabaja"); }else{ funcionariosTodos+=" or a.id_altabaja="+lrs_res.getInt("id_altabaja"); } } AWhere =" WHERE "+funcionariosTodos; ls_query="SELECT * from (select d.id_tipodeclaracion, a.fecha_alta, d.fecha_declaracion, 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 " + AWhere +" " + " order by d.fecha_declaracion desc ) as t " + " group by t.id_altabaja"+";"; 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.before(fechabefore)){ 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(fechadeclaracion.after(fechaalta) && fechadeclaracion.before(fechafinal)){ if(funcionariosExentos.equals("")){ funcionariosExentos=" a.id_altabaja="+lrs_res.getString("id_altabaja"); }else{ funcionariosExentos+="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")){ if(AWhere.equals("")){ if(!funcionarios.equals("")){ AWhere=" where ( "+funcionarios+" )"; } }else{ if(!funcionarios.equals("")){ AWhere+=" and ("+funcionarios+")"; } } if(!funcionariosOblidagos.equals("")){ if(AWhere.equals("") ){ AWhere=" where ( "+funcionariosOblidagos+" )"; }else{ AWhere+="or ( "+funcionariosOblidagos +")"; } } }else if(status.equals("2")){ AWhere=" WHERE ("+funcionarios+")"; if(!funcionariosOblidagos.equals("")){ if(AWhere.equals("") ){ AWhere=" where ( "+funcionariosOblidagos+" )"; }else{ AWhere+="or ( "+funcionariosOblidagos +")"; } } ls_query="SELECT * from (select a.id_altabaja, a.id_funcionario, d.id_declaracion " + "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 +" " + " order by d.fecha_declaracion desc ) as t " + " group by id_altabaja"+";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { ls_query="select * " + "from declaration d " + "where id_tipodeclaracion=2 " + "and (fecha_declaracion<='"+actualF+ "' and fecha_declaracion>='"+ FechaComparar+ "' ) " + " and id_declaracion="+lrs_res.getString("id_declaracion")+"" + " order by fecha_declaracion DESC;"; lrs_res1 = lst_stm1.executeQuery(ls_query); if(lrs_res1.next()){ }else{ if(funcionariosOmisos.equals("")){ funcionariosOmisos= " a.id_altabaja="+lrs_res.getString("id_altabaja")+" "; }else{ funcionariosOmisos+= " or a.id_altabaja="+lrs_res.getString("id_altabaja")+" "; } } } if(!funcionariosOmisos.equals("")){ AWhere=" WHERE ("+funcionariosOmisos+")"; }else{ AWhere="WHERE a.id_funcionario<0"; } } ls_query="select count(*) as total " + " from altabaja a " + AWhere +" " + ";"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { params.put("total", lrs_res.getString("total")); } ls_query="select (@rownum:=@rownum+1) as num, a.id_funcionario, " + " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, " + " a.fecha_alta, " + "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, " + " UPPER(CONCAT(IFNULL(tc.cargo, ' '), ' ', IFNULL(pf.area, ''))) as cargo " + " from (select @rownum:=0) r, 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 +" " + "group by a.id_altabaja" + " ORDER BY nombre, a.id_funcionario;;"; } }else if(id_tipodeclaracion.equals("3")){ if(!id_dep.equals("")){ if(id_dep.equals("0")){ AWhere ="WHERE "; } else{ AWhere = " WHERE pf.id_dependencia="+id_dep +" and "; } } ls_query="select DISTINCT id_altabaja " + "from altabaja a " + "left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario " + AWhere + " a.status=0 and NOT EXISTS (select * from declaration d where d.id_tipodeclaracion=3 and d.id_altabaja=a.id_altabaja) " + "and (a.fecha_baja<>'NULL' and a.fecha_baja<>'0000-00-00' and a.fecha_baja<>'2100-01-01')" + "order by a.id_altabaja desc"+";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { if(funcionariosTodos.equals("")){ funcionariosTodos+="a.id_altabaja="+lrs_res.getInt("id_altabaja"); }else{ funcionariosTodos+=" or a.id_altabaja="+lrs_res.getInt("id_altabaja"); } } //AWhere+=" "+id_dep; if(!funcionariosTodos.equals("")){ AWhere =" WHERE "+funcionariosTodos; ls_query="SELECT * from (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.fecha_baja<>'NULL' and a.fecha_baja<>'0000-00-00')" + AWhere +" " + " order by a.fecha_alta) as t" + " group by t.id_altabaja"+";"; 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(funcionariosExentos.equals("")){ funcionariosExentos+=" a.id_altabaja="+lrs_res.getString("id_altabaja"); } else{ funcionariosExentos+=" or a.id_altabaja="+lrs_res.getString("id_altabaja"); } } else{ if(funcionariosOmisos.equals("")){ funcionariosOmisos+=" a.id_altabaja="+lrs_res.getString("id_altabaja"); } else{ funcionariosOmisos+= " or a.id_altabaja="+lrs_res.getString("id_altabaja"); } } } if (status.equals("1")){ //if(AWhere.equals("")){ if (!funcionariosTodos.equals("")){ AWhere=" WHERE ("+funcionariosTodos+")"; } /*}else{ if (!funcionariosTodos.equals("")){ AWhere+=" and ("+funcionariosTodos+")"; } }*/ }else if(status.equals("2")){ //if(AWhere.equals("")){ if (!funcionariosOmisos.equals("")){ AWhere=" WHERE ("+funcionariosOmisos+")"; } /* }else{ if (!funcionariosOmisos.equals("")){ AWhere+=" and ("+funcionariosOmisos+")"; } }*/ } ls_query="select count(*) as total " + " from altabaja a " + AWhere +" " + ";"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { params.put("total", lrs_res.getString("total")); } ls_query="select (@rownum:=@rownum+1) as num, a.id_funcionario, " + " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, " + " a.fecha_alta, a.fecha_baja, " + "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, " + " UPPER(CONCAT(IFNULL(tc.cargo, ' '), ' ', IFNULL(pf.area, ''))) as cargo " + " from (select @rownum:=0) r, 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 +" " + "group by a.id_altabaja" + " ORDER BY nombre, a.id_funcionario;"; }else{ ls_query =""; } } try { if(tipo.equals("6") || tipo.equals("7")){ //ruta_archivos_exportar="/home/martha/pdfs/"; if(id_dep.equals("0")){ DWhere ="WHERE status=1 and id_cat_dep_estatales>2"; } else{ DWhere = " WHERE status=1 and id_cat_dep_estatales="+id_dep; } ls_query="select nombre_dep, id_cat_dep_estatales from dependencias "+DWhere+"" + ";"; lrs_res1 = lst_stm1.executeQuery(ls_query); while(lrs_res1.next()) { /*INICIO. código nuevo*/ id_dep = lrs_res1.getString("id_cat_dep_estatales"); status = request.getParameter("status"); /*INICIO. primer analisis*/ if(!id_dep.equals("")){ if(id_dep.equals("0")){ AWhere =" where "; } else{ AWhere = " WHERE pf.id_dependencia="+id_dep+" and "; } } ls_query="select DISTINCT id_altabaja " + "from altabaja a " + "left join puesto_funcionario pf ON pf.id_puesto_funcionario=a.id_puesto_funcionario " + AWhere + " a.fecha_alta<'"+fechaActual+"' " + "and a.status=1 and " + "EXISTS (select * from declaration d where " + "fecha_declaracion<'"+fechaActual+"' and " + "d.id_tipodeclaracion=1 and d.id_altabaja=a.id_altabaja) and " + "NOT EXISTS (select * from declaration d where d.id_tipodeclaracion=3 and d.id_altabaja=a.id_altabaja)" + "order by a.id_altabaja desc"+";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { if(funcionariosTodos.equals("")){ funcionariosTodos+="a.id_altabaja="+lrs_res.getInt("id_altabaja"); }else{ funcionariosTodos+=" or a.id_altabaja="+lrs_res.getInt("id_altabaja"); } } //AWhere+=" "+id_dep; if(!funcionariosTodos.equals("")){ AWhere =" WHERE "+funcionariosTodos; /**/ ls_query="SELECT * from (select d.id_tipodeclaracion, a.fecha_alta, d.fecha_declaracion, 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 " + AWhere +" " + " order by d.fecha_declaracion desc ) as t " + " group by t.id_altabaja"+";"; 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.before(fechabefore)){ 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(fechadeclaracion.after(fechaalta) && fechadeclaracion.before(fechafinal)){ if(funcionariosExentos.equals("")){ funcionariosExentos=" a.id_altabaja="+lrs_res.getString("id_altabaja"); }else{ funcionariosExentos+="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")){ if(AWhere.equals("")){ if(!funcionarios.equals("")){ AWhere=" where ( "+funcionarios+" )"; } }else{ if(!funcionarios.equals("")){ AWhere+=" and ("+funcionarios+")"; } } }else if(status.equals("2")){ AWhere=" WHERE ("+funcionarios+")"; ls_query="SELECT * from (select a.id_altabaja, a.id_funcionario, d.id_declaracion " + "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 +" " + " order by d.fecha_declaracion desc ) as t " + " group by id_altabaja"+";"; lrs_res = lst_stm.executeQuery(ls_query); while (lrs_res.next()) { ls_query="select * " + "from declaration d " + "where id_tipodeclaracion=2 " + "and (fecha_declaracion<='"+actualF+ "' and fecha_declaracion>='"+ FechaComparar+ "' ) " //+ " and id_altabaja="+lrs_res.getString("id_altabaja")+"" + " and id_declaracion="+lrs_res.getString("id_declaracion")+"" + " order by fecha_declaracion DESC;"; lrs_res1 = lst_stm1.executeQuery(ls_query); if(lrs_res1.next()){ }else{ if(funcionariosOmisos.equals("")){ funcionariosOmisos= " a.id_altabaja="+lrs_res.getString("id_altabaja")+" "; }else{ funcionariosOmisos+= " or a.id_altabaja="+lrs_res.getString("id_altabaja")+" "; } } } if(!funcionariosOmisos.equals("")){ AWhere=" WHERE ("+funcionariosOmisos+")"; }else{ AWhere="WHERE a.id_funcionario<0"; } } nombre_archivo=lrs_res1.getString("nombre_dep").toUpperCase(); if(tipo.equals("7")){ nombre_archivo+="SinFirma"; } nombre_archivo += "_"+lrs_res1.getString("id_cat_dep_estatales")+".pdf"; params.put("dependencia", lrs_res1.getString("nombre_dep").toUpperCase()); /*if(!AWhere.equals("")){ AWhere+=" and pf.id_dependencia="+lrs_res1.getString("id_cat_dep_estatales"); }*/ ls_query="select count(*) as total " + " from altabaja a " + AWhere +" " + ";"; lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { params.put("total", lrs_res.getString("total")); } ls_query="select (@rownum:=@rownum+1) as num, a.id_funcionario, " + " CONCAT(f.ap_paterno, ' ', f.ap_materno, ' ', f.nombre ) as nombre, " + " a.fecha_alta, " + "UPPER(IFNULL(de.nombre_dep, '')) as nombre_dep, " + " UPPER(CONCAT(IFNULL(tc.cargo, ' '), ' ', IFNULL(pf.area, ''))) as cargo " + " from (select @rownum:=0) r, 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 +" " + "group by a.id_altabaja" + " ORDER BY nombre;"; }else{ ls_query=""; } if(!ls_query.equals("") ){ lrs_res = lst_stm.executeQuery(ls_query); //out.println(lst_stm); if (lrs_res.next()) { //do{ //out.println("Entro"); //nombre_archivo += "_"+lrs_res1.getString("id_cat_dep_estatales")+".pdf"; %>
Generando reporte, espere por favor...<%=nombre_archivo%>


Cargando
<% 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); /*if(!depaux.equals("")){ if(!depaux.equals("0")){ out.println(" "); } } */ %> <% } } else { %>

Lo sentimos pero su selección, no regreso ningún resultado. Verifique la información.
<% } funcionariosTodos=""; } }else { lrs_res = lst_stm.executeQuery(ls_query); if (lrs_res.next()) { nombre_archivo = "report_pdf"; nombre_archivo += ".pdf"; %>
Generando reporte, espere por favor...


Cargando
<% 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(" "); } else { %>

Lo sentimos pero su selección, no regreso ningún resultado. Verifique la información.
<% } } } catch (Exception e) { if(ls_query.equals("")){ %>

Lo sentimos pero su selección, no regreso ningún resultado. Verifique la información.
<% }else{ %>
<%="Error al crear reporte de Declaraciones. Error: " + e%>
<% } } finally { lst_stm.close(); lst_stm1.close(); lcd_connection.close(); } }catch (Exception e) { } } %>