Beispiel #1
0
        public DataTable dmlSelectSolicitudPendiente(SolBuscarMdl solBuscarMdl)
        {
            StringBuilder sbQuery = new StringBuilder();

            sbQuery.Append(" SELECT sol.solclave,  solfolio, segfecini, nodfeccreacion, segfecestimada, ");
            sbQuery.Append(" sol.sotclave AS  carac1, NVL2(solfecacl, 1,0)  AS  carac2, segmultiple AS  carac3,  ");
            sbQuery.Append(" segedoproceso AS  carac4,  NVL2(segfecamp, 1,0) AS  carac5,  NVL2(solfecrecrev, 1, 0) AS  carac6, ");
            sbQuery.Append(" segdiassemaforo, segsemaforocolor, soldes, megDescripcion, soldat, ");
            sbQuery.Append(" nod.nedclave, seg.prcclave, nod.nodclave, seg.AFDCLAVE, metclave, ");
            sbQuery.Append(" repclave as CLAVERESP, nod.nodfeclectura, sotdescripcion");
            sbQuery.Append(" FROM  SIT_SOL_SOLICITUD sol,  SIT_SOL_SEGUIMIENTO seg, SIT_red_nodo nod, ");
            sbQuery.Append(" SIT_SOL_SOLICITUDTIPO ts, SIT_sol_modoentrega te");
            sbQuery.Append(" WHERE  seg.solclave = sol.solclave  ");
            sbQuery.Append(" AND seg.prcclave = sol.prcclave ");
            sbQuery.Append(" AND ts.sotclave = sol.sotclave ");
            sbQuery.Append(" AND sol.megclave = te.megclave ");
            sbQuery.Append(" AND nod.solclave = sol.solclave ");
            sbQuery.Append(" AND nod.nodatendido = 0 ");
            sbQuery.Append(" AND nod.perclave = :P0 ");

            // Es una unidad administrativa
            if (solBuscarMdl.araClave > 0)
            {
                sbQuery.Append(" AND nod.araClave = :P1 ");
                sbQuery.Append(" AND nod.usrClave = :P2 ");
            }


            sbQuery.Append(" ORDER BY segfecini,  sol.solclave ");


            if (solBuscarMdl.araClave == 0)
            {
                return(ConsultaDML(sbQuery.ToString(), solBuscarMdl.perClave));
            }
            else
            {
                return(ConsultaDML(sbQuery.ToString(), solBuscarMdl.perClave, solBuscarMdl.araClave, solBuscarMdl.usrclave));
            }
        }
Beispiel #2
0
        public DataTable dmlSelectSolicitudSeguimiento(SolBuscarMdl solBuscarMdl)
        {
            StringBuilder sbQuery = new StringBuilder();

            sbQuery.Append(" SELECT Sol.solclave, segfecini, nodfeccreacion, segfecestimada,  sol.sotclave AS  carac1, NVL2(solfecacl, 1, 0)  AS carac2,");
            sbQuery.Append(" segmultiple AS carac3, segedoproceso AS carac4, NVL2(segfecamp, 1, 0) AS carac5, NVL2(solfecrecrev, 1, 0) AS carac6,");
            sbQuery.Append(" segdiassemaforo, segsemaforocolor, soldes, megDescripcion, soldat, nod.nedclave, seg.prcclave, nod.nodclave, seg.AFDCLAVE, metclave, ");
            sbQuery.Append(" sotdescripcion ");
            sbQuery.Append(" FROM SIT_SOL_SOLICITUD sol,  SIT_SOL_SEGUIMIENTO seg, SIT_red_nodo nod,   SIT_SOL_SOLICITUDTIPO ts, SIT_sol_modoentrega te");
            sbQuery.Append(" WHERE seg.solclave = sol.solclave   AND seg.prcclave = sol.prcclave  AND ts.sotclave = sol.sotclave");
            sbQuery.Append(" AND sol.megclave = te.megclave  AND nod.solclave = sol.solclave  AND");
            sbQuery.Append(" sol.sotclave = 1 and seg.prcclave = 1  ");
            sbQuery.Append(" and nedclave = 1 ");

            if (solBuscarMdl.SolicitudEstado == Constantes.SolicitudEstado.CONCLUIDO)
            {
                sbQuery.Append(" and SEGFECFIN is not null ");
            }
            else
            {
                sbQuery.Append(" and SEGFECFIN is null ");
                sbQuery.Append(" and nod.nodatendido = 0 ");
            }


            if (solBuscarMdl.Areas != null)
            {
                sbQuery.Append(" AND AraClave in " + solBuscarMdl.Areas);
                sbQuery.Append(solBuscarMdl.FolioIni);
            }


            if (solBuscarMdl.FolioIni > 0 && solBuscarMdl.FolioFin == 0)
            {
                sbQuery.Append(" AND seg.solclave = ");
                sbQuery.Append(solBuscarMdl.FolioIni);
            }
            else if (solBuscarMdl.FolioIni > 0 && solBuscarMdl.FolioFin > 0)
            {
                sbQuery.Append(" AND seg.solclave  between ");
                sbQuery.Append(solBuscarMdl.FolioIni);
                sbQuery.Append(" and ");
                sbQuery.Append(solBuscarMdl.FolioFin);
            }

            if (solBuscarMdl.FecIngresoIni != DateTime.MinValue && solBuscarMdl.FecIngresoFin != DateTime.MinValue)
            {
                sbQuery.Append(" and seg.segfecini between to_date('");
                sbQuery.Append(((DateTime)solBuscarMdl.FecIngresoIni).ToString("yyyy/MM/dd"));
                sbQuery.Append("','yyyy/mm/dd') and to_date('");
                sbQuery.Append(((DateTime)solBuscarMdl.FecIngresoFin).ToString("yyyy/MM/dd"));
                sbQuery.Append("','yyyy/mm/dd')");
            }
            else if (solBuscarMdl.FecIngresoFin != DateTime.MinValue)
            {
                sbQuery.Append(" and seg.segfecini >= to_date('");
                sbQuery.Append(((DateTime)solBuscarMdl.FecIngresoFin).ToString("yyyy/MM/dd"));
                sbQuery.Append("','yyyy/mm/dd') ");
            }

            if (solBuscarMdl.FecConcIni != DateTime.MinValue)
            {
                sbQuery.Append(" and TRUNC(seg.segfecfin) = to_date('");
                sbQuery.Append(((DateTime)solBuscarMdl.FecConcIni).ToString("yyyy/MM/dd"));
                sbQuery.Append("','yyyy/mm/dd') ");
            }

            if (solBuscarMdl.Periodo > 0)
            {
                sbQuery.Append(" and EXTRACT(YEAR FROM solfecsol) = ");
                sbQuery.Append(solBuscarMdl.Periodo);
            }

            if (solBuscarMdl.SolicitudEstado > 0)
            {
                sbQuery.Append(" and seg.segfecfin is not null ");
            }
            else
            {
                sbQuery.Append(" and seg.segfecfin is  null ");
            }

            if (solBuscarMdl.SolicitudTipo > 0)
            {
                sbQuery.Append(" and sol.sotclave = ");
                sbQuery.Append(solBuscarMdl.SolicitudTipo);
            }

            if (solBuscarMdl.ProcesoTipo > 0)
            {
                sbQuery.Append(" and seg.prcclave = ");
                sbQuery.Append(solBuscarMdl.ProcesoTipo);
            }

            if (solBuscarMdl.Descripcion != null)
            {
                sbQuery.Append(" and sol.soldes like  '%");
                sbQuery.Append(solBuscarMdl.Descripcion);
                sbQuery.Append("%'");
            }

            sbQuery.Append(" ORDER BY sol.solclave");


            ////sbQuery.Append(" ) a ) SELECT * from Resultado ");
            ////sbQuery.Append(" WHERE  renID  between :P1 and :P2 ");

            ////solBuscar.CalcularLimites();
            ////return ConsultaDML(sbQuery.ToString(), solBuscar.TipoPerfil, solBuscar.LimInf, solBuscar.LimSup);


            return(ConsultaDML(sbQuery.ToString(), solBuscarMdl.usrclave, solBuscarMdl.araClave));
        }