@Override
    public List<V_Es_Requerimiento> LIST_DGP_PROCESO(String id_dep, String id_dir, Boolean procAcad) {
        this.conn = FactoryConnectionDB.open(FactoryConnectionDB.ORACLE);
        String sql = "select * from RHVD_ES_REQUERIMIENTO where  ES_PORCENT IS NOT NULL  ";
        sql += (id_dep.trim().equals("")) ? "" : " and ID_DEPARTAMENTO='" + id_dep.trim() + "' ";
        sql += (id_dir.trim().equals("")) ? "" : " and ID_DIRECCION='" + id_dir.trim() + "' ";

        if (id_dep.equals("DPT-0019")) {
            sql = "select * from RHVD_ES_REQUERIMIENTO where ES_PORCENT IS NOT NULL  ";
        }
        sql += (procAcad) ? " and es_proc_acad>0" : " and es_proc_acad=0 ";
        sql += " ORDER BY TO_NUMBER(SUBSTR(ID_DGP,5,LENGTH(ID_DGP))) DESC";

        Logger.getLogger(getClass().getName()).log(Level.INFO, id_dir);
        List<V_Es_Requerimiento> Lista = new ArrayList<V_Es_Requerimiento>();
        try {
            ResultSet rs = this.conn.query(sql);
            while (rs.next()) {
                V_Es_Requerimiento v = new V_Es_Requerimiento();
                v.setId_trabajador(rs.getString("id_trabajador"));
                v.setAp_paterno(rs.getString("ap_paterno"));
                v.setAp_materno(rs.getString("ap_materno"));
                v.setNo_trabajador(rs.getString("no_trabajador"));
                v.setId_dgp(rs.getString("id_dgp"));
                v.setId_departamento(rs.getString("id_departamento"));
                v.setAr_foto(rs.getString("ar_foto"));
                v.setDe_foto(rs.getString("de_foto"));
                v.setId_foto(rs.getString("id_foto"));
                v.setNo_ar_foto(rs.getString("no_ar_foto"));
                v.setTa_ar_foto(rs.getString("ta_ar_foto"));
                v.setEs_porcent(rs.getString("ES_PORCENT"));
                v.setEs_dgp(rs.getString("ES_DGP"));
                v.setEs_proceso_aut(rs.getString("es_proceso_aut"));
                v.setId_detalle_req_proceso(rs.getString("id_detalle_req_proceso"));
                v.setAut_actual(rs.getString("aut_actual"));
                v.setMes_creacion(rs.getString("mes_creacion"));
                v.setFe_creacion(rs.getString("fe_creacion"));
                v.setNo_dep(rs.getString("no_dep"));
                v.setAnno_procesamiento(rs.getString("anno_procesamiento"));
                v.setMes_procesamiento(rs.getString("mes_procesamiento"));
                v.setEs_proc_acad(rs.getInt("es_proc_acad"));
                Lista.add(v);
            }
        } catch (SQLException ex) {
            throw new RuntimeException(ex.getMessage());
        } catch (Exception e) {
            throw new RuntimeException("ERROR : " + e.getMessage());
        } finally {
            try {
                this.conn.close();
            } catch (Exception e) {
                throw new RuntimeException(e.getMessage());
            }
        }
        return Lista;
    }