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)); } }
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)); }