Пример #1
0
function GrillaPedidos($all_tickets, $pending_tickets, $pending_moreinfo_tickets, $pending_auth_tickets, $numeroTicket, $fechaDesde, $fechaHasta, $ss_notas, $PlanAccion, $TipoPedido, $DetallePedido, $employees, $sistema, $back_button, $close_button, $pagina, $MNUselect)
{
    if ($all_tickets != "yes") {
        $where = " AND ss_idestadoactual in (1,2,3,4,5,9,10,11) ";
    } else {
        $where = " AND ss_idestadoactual in (6,7,8) ";
    }
    if ($pending_tickets == "yes") {
        $employees = "no";
        $where = " AND ss_idestadoactual = 5 ";
    }
    if ($pending_moreinfo_tickets == "yes") {
        $where = " AND ss_idestadoactual = 11 ";
    }
    if ($pending_auth_tickets == "yes") {
        $where = " AND ss_idestadoactual = 2 ";
    }
    if ($numeroTicket != "") {
        $where = " AND ss_nro_ticket = " . $numeroTicket;
    }
    //----------------------NUEVOS-FILTROS---------------------------------------------------------------
    if ($pending_tickets == "no") {
        if ($fechaDesde != "" and $fechaHasta != "") {
            //$fechaDesde = date("d-m-Y", strtotime($fechaDesde));
            //$fechaHasta = date("d-m-Y", strtotime($fechaHasta));
            $where .= " AND ss_fecha_solicitud >= TO_DATE('" . $fechaDesde . "', 'DD/MM/YYYY')  ";
            $where .= " AND ss_fecha_solicitud <= TO_DATE('" . $fechaHasta . "', 'DD/MM/YYYY')  ";
        }
        if (trim($ss_notas) != '') {
            $where .= " AND UPPER(ss_notas) like UPPER('%" . trim($ss_notas) . "%') ";
        }
        if (trim($PlanAccion) != '') {
            $where .= $PlanAccion;
        }
        if (intval($TipoPedido) > 0) {
            $where .= " AND motivodetalle.ms_id = " . $TipoPedido . " ";
        }
        if (intval($DetallePedido) > 0) {
            $where .= " AND motivooriginal.ms_id = " . $DetallePedido . " ";
        }
    }
    //--------------------------------------------------------------------------------------
    $where = $where . " AND ss_idsistematicket = " . $sistema;
    /*GetWindowsLoginName = GetUsuarioAplicacion */
    $sql = "SELECT /*+ INDEX(css_solicitudsistemas NDX_CSS_GRILLAWEB)*/\n\t\t\t\t\t [ss_id], ss_nro_ticket as [nro_ticket], TO_CHAR(ss_fecha_solicitud, 'DD/MM/YYYY') [fecha_solicitud],\n\t\t\t\t\t motivodetalle.ms_descripcion [motivo], motivooriginal.ms_descripcion [detalle],\n\t\t\t\t\t es_descripcion [estado], [se_nombre], [ss_fecha_carga], [ss_notas]\n\t\t\t\tFROM art.use_usuarios usuarios, computos.cse_sector sector, computos.cms_motivosolicitud motivooriginal,\n\t\t\t\t\t computos.cms_motivosolicitud motivodetalle, computos.ces_estadosolicitud,\n\t\t\t\t\t computos.css_solicitudsistemas\n\t\t\t   WHERE usuarios.se_idsector = sector.se_id(+)\n\t\t\t\t AND usuarios.se_usuario = UPPER('" . GetUsuarioAplicacion() . "')\n\t\t\t\t AND ss_idmotivosolicitud = motivooriginal.ms_id\n\t\t\t\t AND motivooriginal.ms_idpadre = motivodetalle.ms_id\n\t\t\t\t AND ss_idestadoactual = es_id\n\t\t\t\t AND ss_idusuario_solicitud = usuarios.se_id " . $where;
    if ($pending_auth_tickets == "yes" or $employees == "yes") {
        $sql = $sql . " UNION ALL\n          SELECT /*+ INDEX(css_solicitudsistemas NDX_CSS_GRILLAWEB)*/\n                 ss_id, ss_nro_ticket AS nro_ticket, TO_CHAR(ss_fecha_solicitud, 'DD/MM/YYYY') fecha_solicitud,\n                 motivodetalle.ms_descripcion motivo, motivooriginal.ms_descripcion detalle, es_descripcion estado, se_nombre,\n                 ss_fecha_carga, ss_notas\n            FROM art.use_usuarios usuarios, computos.cse_sector sector, computos.cms_motivosolicitud motivooriginal,\n                 computos.cms_motivosolicitud motivodetalle, computos.ces_estadosolicitud, computos.css_solicitudsistemas\n           WHERE usuarios.se_idsector = sector.se_id(+)\n             AND ss_idmotivosolicitud = motivooriginal.ms_id\n             AND motivooriginal.ms_idpadre = motivodetalle.ms_id\n             AND ss_idestadoactual = es_id\n             AND (SELECT gerente.se_id\n                    FROM art.use_usuarios gerente\n                   WHERE gerente.se_usuario = (SELECT jefe.se_respondea\n                                                 FROM art.use_usuarios jefe\n                                                WHERE jefe.se_id = computos.general.get_usuarioresponsable(NVL((SELECT DECODE(hs_idestado, 2, hs_idusuario_cambio, ss_idusuario_solicitud)\n                                                                                                                  FROM computos.chs_historicosolicitud chs1\n                                                                                                                 WHERE chs1.hs_idsolicitud = ss_id\n                                                                                                                   AND chs1.hs_fecha_cambio =\n                                                                                                                         (SELECT MAX(chs2.hs_fecha_cambio)\n                                                                                                                            FROM computos.chs_historicosolicitud chs2\n                                                                                                                           WHERE chs1.hs_idsolicitud = chs2.hs_idsolicitud\n                                                                                                                             AND chs2.hs_idusuario_cambio NOT IN(SELECT usuario.se_id\n                                                                                                                                                                   FROM art.use_usuarios usuario\n                                                                                                                                                                  WHERE usuario.se_sector = 'COMPUTOS')\n                                                                                                                             AND chs2.hs_idestado = 2)),\n                                                                                                               ss_idusuario_solicitud),\n                                                                                                           motivooriginal.ms_nivel + 10))) = " . GetUserID() . "\n             AND ss_idusuario_solicitud = usuarios.se_id " . $where . "\n             AND ss_fecha_carga > TRUNC(SYSDATE) - 365\n       UNION\n      SELECT /*+ INDEX(css_solicitudsistemas NDX_CSS_GRILLAWEB)*/\n                 ss_id, ss_nro_ticket AS nro_ticket, TO_CHAR(ss_fecha_solicitud, 'DD/MM/YYYY') fecha_solicitud,\n                 motivodetalle.ms_descripcion motivo, motivooriginal.ms_descripcion detalle, es_descripcion estado, se_nombre,\n                 ss_fecha_carga, ss_notas\n            FROM art.use_usuarios usuarios, computos.cse_sector sector, computos.cms_motivosolicitud motivooriginal,\n                 computos.cms_motivosolicitud motivodetalle, computos.ces_estadosolicitud, computos.css_solicitudsistemas\n           WHERE art.usuarios.se_idsector = sector.se_id(+)\n             AND ss_idmotivosolicitud = motivooriginal.ms_id\n             AND motivooriginal.ms_idpadre = motivodetalle.ms_id\n             AND ss_idestadoactual = es_id\n             AND usuarios.se_id = ss_idusuario_solicitud\n             AND EXISTS(SELECT 1\n                          FROM computos.cps_permisosolicitud\n                         WHERE ps_idsolicitud = ss_id\n                           AND ps_fechaautorizacion IS NULL\n                           AND ps_idusuario = " . GetUserID() . ")" . $where . " UNION \n          SELECT /*+ INDEX(css_solicitudsistemas NDX_CSS_GRILLAWEB)*/\n                 ss_id, ss_nro_ticket AS nro_ticket, TO_CHAR(ss_fecha_solicitud, 'DD/MM/YYYY') fecha_solicitud,\n                 motivodetalle.ms_descripcion motivo, motivooriginal.ms_descripcion detalle, es_descripcion estado, se_nombre,\n                 ss_fecha_carga, ss_notas\n            FROM art.use_usuarios usuarios, computos.cse_sector sector, computos.cms_motivosolicitud motivooriginal,\n                 computos.cms_motivosolicitud motivodetalle, computos.ces_estadosolicitud, computos.css_solicitudsistemas\n           WHERE usuarios.se_idsector = sector.se_id(+)\n             AND ss_idmotivosolicitud = motivooriginal.ms_id\n             AND motivooriginal.ms_idpadre = motivodetalle.ms_id\n             AND ss_idestadoactual = es_id\n             AND NOT EXISTS(SELECT 1\n                              FROM computos.cps_permisosolicitud\n                             WHERE ps_idsolicitud = ss_id\n                               AND ps_fechaautorizacion IS NULL)\n             AND computos.general.get_usuarioresponsable(NVL((SELECT DECODE(hs_idestado, 2, hs_idusuario_cambio, ss_idusuario_solicitud)\n                                                                FROM computos.chs_historicosolicitud chs1\n                                                               WHERE chs1.hs_idsolicitud = ss_id\n                                                                 AND chs1.hs_fecha_cambio =\n                                                                       (SELECT MAX(chs2.hs_fecha_cambio)\n                                                                          FROM computos.chs_historicosolicitud chs2\n                                                                         WHERE chs1.hs_idsolicitud = chs2.hs_idsolicitud\n                                                                           AND chs2.hs_idusuario_cambio NOT IN(SELECT usuario.se_id\n                                                                                                                 FROM art.use_usuarios usuario\n                                                                                                                WHERE usuario.se_sector = 'COMPUTOS')\n                                                                           AND chs2.hs_idestado = 2)),\n                                                             ss_idusuario_solicitud),\n                                                         motivooriginal.ms_nivel + 10) = " . GetUserID() . "\n             AND ss_fecha_carga > TRUNC(SYSDATE) - 365\n             AND ss_idusuario_solicitud = usuarios.se_id " . $where;
    }
    $sql = $sql . " ORDER BY ss_fecha_carga desc ";
    $sql = ReemplazaCorchetesQRY($sql);
    set_time_limit(100);
    $grilla = new gridAjax();
    $psistema = $sistema;
    $urlIndex = "index.php?sistema=" . $psistema . "&MNU=" . $MNUselect . "&ticket_detail=yes&amp;all_tickets=" . $all_tickets . "&amp;pending_tickets=" . $pending_tickets . "&amp;back_button=" . $back_button . "&amp;close_button=" . $close_button;
    $grilla->addColumn(new columnAjax("", 8, TRUE, FALSE, 9, "btnTicket", $urlIndex, "gridFirstColumn"));
    $grilla->addColumn(new columnAjax("Num. de Ticket"));
    $grilla->addColumn(new columnAjax("Fecha"));
    $grilla->addColumn(new columnAjax("Motivo"));
    $grilla->addColumn(new columnAjax("Detalle"));
    $grilla->addColumn(new columnAjax("Estado"));
    $grilla->addColumn(new columnAjax("Pedido por"));
    $grilla->addColumn(new columnAjax("", 0, FALSE));
    $grilla->addColumn(new columnAjax("", 0, FALSE));
    $grilla->setColsSeparator(TRUE);
    $grilla->setPageNumber($pagina);
    $grilla->setRowsSeparator(TRUE);
    $grilla->SetFooterSelected('GIgridFooterFontSelected');
    $grilla->setShowTotalRegistros(TRUE);
    $grilla->setSql($sql);
    //$grilla->SetCurrentURL($urlIndex.'&id='.$grilla->GetLastID() );
    $grilla->SetCurrentURL($urlIndex . '&id=227');
    $grilla->setFuncionAjaxJS("BuscarPedidos");
    return $grilla;
}