function get_listado_filtro($filtro = null)
 {
     $where = "";
     if (isset($filtro['uni_acad']['valor'])) {
         $where = " WHERE uni_acad = " . quote($filtro['uni_acad']['valor']);
     }
     if (isset($filtro['anio']['valor'])) {
         $pdia = dt_mocovi_periodo_presupuestario::primer_dia_periodo_anio($filtro['anio']['valor']);
         $udia = dt_mocovi_periodo_presupuestario::ultimo_dia_periodo_anio($filtro['anio']['valor']);
         $where .= " and fec_desde <='" . $udia . "' and fec_hasta >='" . $pdia . "' ";
     }
     if (isset($filtro['denominacion']['valor'])) {
         switch ($filtro['denominacion']['condicion']) {
             case 'es_distinto_de':
                 $where .= " and denominacion  !='" . $filtro['denominacion']['valor'] . "'";
                 break;
             case 'es_igual_a':
                 $where .= " and denominacion = '" . $filtro['denominacion']['valor'] . "'";
                 break;
             case 'termina_con':
                 $where .= " and denominacion ILIKE '%" . $filtro['denominacion']['valor'] . "'";
                 break;
             case 'comienza_con':
                 $where .= " and denominacion ILIKE '" . $filtro['denominacion']['valor'] . "%'";
                 break;
             case 'no_contiene':
                 $where .= " and denominacion NOT ILIKE '%" . $filtro['denominacion']['valor'] . "%'";
                 break;
             case 'contiene':
                 $where .= " and denominacion ILIKE '%" . $filtro['denominacion']['valor'] . "%'";
                 break;
         }
     }
     if (isset($filtro['codigo']['valor'])) {
         switch ($filtro['codigo']['condicion']) {
             case 'es_distinto_de':
                 $where .= " and codigo  !='" . $filtro['codigo']['valor'] . "'";
                 break;
             case 'es_igual_a':
                 $where .= " and codigo = '" . $filtro['codigo']['valor'] . "'";
                 break;
             case 'termina_con':
                 $where .= " and codigo ILIKE '%" . $filtro['codigo']['valor'] . "'";
                 break;
             case 'comienza_con':
                 $where .= " and codigo ILIKE '" . $filtro['codigo']['valor'] . "%'";
                 break;
             case 'no_contiene':
                 $where .= " and codigo NOT ILIKE '%" . $filtro['codigo']['valor'] . "%'";
                 break;
             case 'contiene':
                 $where .= " and codigo ILIKE '%" . $filtro['codigo']['valor'] . "%'";
                 break;
         }
     }
     $sql = "SELECT\n\t\t\tt_p.id_pinv,\n\t\t\tt_p.codigo,\n                        case when t_p.es_programa=1 then 'PROGRAMA' else case when b.id_proyecto is not null then 'SUB-PROYECTO' else 'PROYECTO' end end es_programa,\n\t\t\tt_p.denominacion,\n\t\t\tt_p.nro_resol,\n\t\t\tt_p.fec_resol,\n\t\t\tt_ua.descripcion as uni_acad_nombre,\n\t\t\tt_p.fec_desde,\n\t\t\tt_p.fec_hasta,\n\t\t\tt_p.nro_ord_cs,\n\t\t\tt_p.fecha_ord_cs,\n\t\t\tt_p.duracion,\n\t\t\tt_p.objetivo\n\t\tFROM\n\t\t\tpinvestigacion as t_p\n                        LEFT OUTER JOIN unidad_acad as t_ua ON (t_p.uni_acad = t_ua.sigla)\n                        LEFT OUTER JOIN subproyecto as b ON (t_p.id_pinv=b.id_proyecto)\n                {$where}        \n\t\tORDER BY codigo,es_programa";
     return toba::db('designa')->consultar($sql);
 }
 function get_equipos_tut($filtro = array())
 {
     $where = "";
     if (isset($filtro['anio'])) {
         $udia = dt_mocovi_periodo_presupuestario::ultimo_dia_periodo_anio($filtro['anio']);
         $pdia = dt_mocovi_periodo_presupuestario::primer_dia_periodo_anio($filtro['anio']);
     }
     $where .= " AND t_d.desde <= '" . $udia . "' and (t_d.hasta >= '" . $pdia . "' or hasta is null)";
     if (isset($filtro['uni_acad'])) {
         $where .= " AND t_d.uni_acad = " . quote($filtro['uni_acad']);
     }
     if (isset($filtro['id_departamento'])) {
         $where .= " AND t_d.id_departamento = " . $filtro['id_departamento'];
     }
     $sql = "select distinct t_d.id_designacion, t_doc.apellido||', '||t_doc.nombre as docente_nombre,t_doc.legajo,t_d.cat_mapuche,t_d.cat_estat||t_d.dedic as cat_est,t_d.carac,t_d.uni_acad,t_d.desde,t_d.hasta,t_d3.descripcion as id_departamento,t_ma.descripcion as id_area,t_o.descripcion as id_orientacion ,t_m.descripcion, t_p.descripcion as periodo,t_a.carga_horaria,t_a.rol" . " from designacion t_d" . " LEFT OUTER JOIN departamento as t_d3 ON (t_d.id_departamento = t_d3.iddepto)" . " LEFT OUTER JOIN area as t_ma ON (t_d.id_area = t_ma.idarea) " . " LEFT OUTER JOIN orientacion as t_o ON (t_d.id_orientacion = t_o.idorient and t_o.idarea=t_ma.idarea) " . ",  docente t_doc,asignacion_tutoria t_a,tutoria t_m, periodo t_p,unidad_acad t_u" . " where  t_d.id_designacion=t_a.id_designacion\n                    and t_d.id_docente=t_doc.id_docente\n                    and t_a.id_tutoria=t_m.id_tutoria\n                    and t_a.periodo=t_p.id_periodo\n                    and t_d.uni_acad=t_u.sigla\n            \n              ";
     $sql = toba::perfil_de_datos()->filtrar($sql);
     $sql = $sql . $where;
     return toba::db('designa')->consultar($sql);
 }