From 4a576ef8b12d9deb832b3b4c7a7f18b435293cfc Mon Sep 17 00:00:00 2001 From: kledezma Date: Tue, 9 Mar 2021 19:35:02 +0000 Subject: [PATCH] Script e Imagen AyA git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C545 --- .../Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql | 407 ++++++++++++++++++ ReportesSIGPC/Query/Untitled.png | Bin 0 -> 7570 bytes 2 files changed, 407 insertions(+) create mode 100644 ReportesSIGPC/Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql create mode 100644 ReportesSIGPC/Query/Untitled.png diff --git a/ReportesSIGPC/Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql b/ReportesSIGPC/Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql new file mode 100644 index 000000000..7cff3147c --- /dev/null +++ b/ReportesSIGPC/Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql @@ -0,0 +1,407 @@ +USE [SIGPC] +GO + +/****** Object: StoredProcedure [dbo].[PA_TRABAJOACTIVIDAD] Script Date: 3/9/2021 1:34:17 PM ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +-- ============================================= +-- Author: Juan Pablo Monge Delgado CR-ATESA 13/07/2020 +-- Create date: 14/02/2018 +-- Description: Carga el último consecutivo obtenido por sigla +-- Modificado: Juan Pablo Monge Delgado CR-ATESA 13/07/2020 +-- Actualiza el consecutivo en la tabla dependencia +-- Construye el nombre del documento +-- Se agrega codigo para el manejo de las transacciones y el aislamiento de recursos para evitar lectura sucia o fantasma. +-- ============================================= + + + +CREATE PROCEDURE [dbo].[PA_TRABAJOACTIVIDAD] +@p_status VARCHAR(2) = '' OUTPUT +,@p_message VARCHAR(500) = '' OUTPUT +,@FKREGION INT +,@FKDEPENDENCIA INT + ,@ANNOINICIO INT +,@MESINICIO INT +,@ANNOFINAL INT +,@MESFINAL INT + +WITH EXECUTE AS OWNER +AS + + + +BEGIN + -- CONFIGURACION DE LA CONSULTA + SET NOCOUNT ON -- ACTIVA EL CONTEO DE REGISTROS QUE SE VERAN AFECTADOS EN LA TRANSACCION + SET XACT_ABORT ON -- SI UNA INSTRUCCION TRANSACT-SQL GENERA UN ERROR EN TIEMPO DE EJECUCION, SE TERMINA TODA LA TRANSACCION Y SE REVIERTE + SET TRANSACTION ISOLATION LEVEL SERIALIZABLE ; --NO PERMITE LECTURA DEL REGISTRO ACTUAL, NI MODIFICACION O INSERCION DE OTRO REGISTRO QUE PUDIESE TENER CLAVE DUPLICADA +BEGIN TRY +--DECLARACION DE VARIABLES +DECLARE @ErrorMessage NVARCHAR(4000); +DECLARE @ErrorSeverity INT; +DECLARE @ErrorState INT; + +IF @ANNOFINAL < @ANNOINICIO + BEGIN + SET @ANNOFINAL=@ANNOINICIO + END + + +DECLARE @DateInicio DATE = CAST('01/'+CONVERT(varchar,@MESINICIO )+'/'+CONVERT(varchar,@ANNOINICIO ) as datetime); +DECLARE @DateFinal DATE = CAST('01/'+CONVERT(varchar,@MESFINAL )+'/'+CONVERT(varchar,@ANNOFINAL ) as datetime); + +--DECLARE @DateInicio DATE = CAST(CONVERT(varchar,@ANNOINICIO )+'/'+CONVERT(varchar,@MESINICIO )+'/01' as datetime); +--DECLARE @DateFinal DATE = CAST(CONVERT(varchar,@ANNOFINAL )+'/'+CONVERT(varchar,@MESFINAL )+'/01' as datetime); + + + + + + BEGIN TRANSACTION --EN CASO DE REALIZAR MODIFICACIONES A LA BASE DE DATOS INSERT UPDATE DELETE + +IF (@FKDEPENDENCIA IS NULL OR @FKDEPENDENCIA = 0) OR + (@FKREGION IS NULL OR @FKREGION = 0) OR (@MESINICIO IS NULL OR @MESINICIO = 0) OR + (@ANNOINICIO IS NULL OR @ANNOINICIO = 0) OR (@MESFINAL IS NULL OR @MESFINAL = 0) OR + (@ANNOFINAL IS NULL OR @ANNOFINAL = 0) + BEGIN + + SELECT + F.ORDENACTIVIDAD + ,(SELECT COUNT(PKSOLICITUD) FROM t_adm_actividad G INNER JOIN + --t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO NOT IN (5,8) ) AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND F.PKACTIVIDAD = G.PKACTIVIDAD + t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO NOT IN (5,8) ) AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND D.FKACTIVIDAD IN (9,1) + AND D.PKRESPONSABLEACTIVIDAD IN (SELECT MAX( H.PKRESPONSABLEACTIVIDAD) FROM t_sgm_responsableactividad H WHERE D.FKPROGRAMACIONSOLICITUD = H.FKPROGRAMACIONSOLICITUD AND D.FKACTIVIDAD = H.FKACTIVIDAD AND (H.FKESTADO NOT IN (5,8) )) + LEFT OUTER JOIN + t_sgm_programacionsolicitud ON D.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd M ON t_dis_solicitud.FKDEPENDENCIASIGDD = M.PKDEPENDENCIASIGDD AND M.DESCRIPCIONDEPENDENCIASIGDD = A.DESCRIPCIONDEPENDENCIASIGDD INNER JOIN + t_adm_region ON M.FKREGION = t_adm_region.PKREGION --INNER JOIN + WHERE + --t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + --AND + (dbo.t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) NOT IN (3,5)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + GROUP BY G.ORDENACTIVIDAD , DESCRIPCIONREGION, + DESCRIPCIONDEPENDENCIASIGDD,G.NOMBREACTIVIDAD )AS 'Solicitudes Pendientes' + ,(SELECT COUNT(PKSOLICITUD) FROM t_adm_actividad G INNER JOIN + --t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO IN (5,8) ) + --AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO IN (5,8) ) AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND D.FKACTIVIDAD IN (9,1) + AND D.PKRESPONSABLEACTIVIDAD IN (SELECT MAX( H.PKRESPONSABLEACTIVIDAD) FROM t_sgm_responsableactividad H WHERE D.FKPROGRAMACIONSOLICITUD = H.FKPROGRAMACIONSOLICITUD AND D.FKACTIVIDAD = H.FKACTIVIDAD AND (H.FKESTADO IN (5,8) )) + LEFT OUTER JOIN + t_sgm_programacionsolicitud ON D.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd M ON t_dis_solicitud.FKDEPENDENCIASIGDD = M.PKDEPENDENCIASIGDD AND M.DESCRIPCIONDEPENDENCIASIGDD = A.DESCRIPCIONDEPENDENCIASIGDD INNER JOIN + t_adm_region ON M.FKREGION = t_adm_region.PKREGION --INNER JOIN + WHERE + --t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + --AND + (dbo.t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) IN (3)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + GROUP BY G.ORDENACTIVIDAD , DESCRIPCIONREGION, + DESCRIPCIONDEPENDENCIASIGDD,G.NOMBREACTIVIDAD )AS 'Solicitudes Finalizadas' + ,F.NOMBREACTIVIDAD AS 'Actividad en que se encuentra ' + + + ,(SELECT AVG(datediff(DD,[FECHAASIGNACIONRESPONSABLEACTIVIDAD],GETDATE() )) + FROM t_adm_actividad E INNER JOIN + t_sgm_responsableactividad C ON E.PKACTIVIDAD = C.FKACTIVIDAD AND F.PKACTIVIDAD = E.PKACTIVIDAD AND C.FKESTADO NOT IN (5,8) + AND C.PKRESPONSABLEACTIVIDAD IN (SELECT MAX( H.PKRESPONSABLEACTIVIDAD) FROM t_sgm_responsableactividad H WHERE C.FKPROGRAMACIONSOLICITUD = H.FKPROGRAMACIONSOLICITUD AND C.FKACTIVIDAD = H.FKACTIVIDAD AND (H.FKESTADO NOT IN (5,8) )) INNER JOIN + t_sgm_programacionsolicitud ON C.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd B ON t_dis_solicitud.FKDEPENDENCIASIGDD = B.PKDEPENDENCIASIGDD + AND A.DESCRIPCIONDEPENDENCIASIGDD = B.DESCRIPCIONDEPENDENCIASIGDD AND E.NOMBREACTIVIDAD = F.NOMBREACTIVIDAD + WHERE + --t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + --AND + (t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) NOT IN (3,5)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + --AND C.FKESTADO = 3 + ) AS 'Duración promedio por actividad pendiente' + ,(SELECT AVG(datediff(DD,[FECHAASIGNACIONRESPONSABLEACTIVIDAD],[FECHADEVOLUCIONRESPONSABLEACTIVIDAD] )) + FROM t_adm_actividad E INNER JOIN + t_sgm_responsableactividad C ON E.PKACTIVIDAD = C.FKACTIVIDAD AND F.PKACTIVIDAD = E.PKACTIVIDAD INNER JOIN + t_sgm_programacionsolicitud ON C.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd B ON t_dis_solicitud.FKDEPENDENCIASIGDD = B.PKDEPENDENCIASIGDD + AND A.DESCRIPCIONDEPENDENCIASIGDD = B.DESCRIPCIONDEPENDENCIASIGDD AND E.NOMBREACTIVIDAD = F.NOMBREACTIVIDAD + WHERE + --t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + --AND + (t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) IN (3)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + AND C.FKESTADO IN (5,8) + ) AS 'Duración promedio por actividad finalizada' + + + ,A.DESCRIPCIONDEPENDENCIASIGDD AS 'Oficina', + t_adm_region.DESCRIPCIONREGION AS 'Región' + + ,(SELECT AVG(datediff(DD,FECHAINSERTASOLICITUD,[FECHADEVOLUCIONRESPONSABLEACTIVIDAD] )) + FROM t_adm_actividad E INNER JOIN + t_sgm_responsableactividad C ON E.PKACTIVIDAD = C.FKACTIVIDAD INNER JOIN + t_sgm_programacionsolicitud ON C.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd B ON t_dis_solicitud.FKDEPENDENCIASIGDD = B.PKDEPENDENCIASIGDD + AND A.DESCRIPCIONDEPENDENCIASIGDD = B.DESCRIPCIONDEPENDENCIASIGDD AND C.FKACTIVIDAD = 9 + WHERE + --t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + --AND + (t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) IN (3)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + AND C.FKESTADO IN (5,8) + ) AS 'Duración Promedio por solicitud finalizadas' + + + FROM t_adm_actividad F INNER JOIN + t_sgm_responsableactividad D ON F.PKACTIVIDAD = D.FKACTIVIDAD LEFT OUTER JOIN + t_sgm_programacionsolicitud ON D.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd A ON t_dis_solicitud.FKDEPENDENCIASIGDD = A.PKDEPENDENCIASIGDD INNER JOIN + t_adm_region ON A.FKREGION = t_adm_region.PKREGION --INNER JOIN + WHERE + --t_dis_solicitud.FKDEPENDENCIASIGDD = @FKDEPENDENCIA + --AND t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + --AND + (dbo.t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) NOT IN (3,5)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) +--AND DESCRIPCIONDEPENDENCIASIGDD = 'Tilarán' + GROUP BY F.ORDENACTIVIDAD , DESCRIPCIONREGION, + DESCRIPCIONDEPENDENCIASIGDD,F.NOMBREACTIVIDAD , F.PKACTIVIDAD + --,t_dis_solicitud.FECHAINSERTASOLICITUD + order by F.ORDENACTIVIDAD ASC ,DESCRIPCIONDEPENDENCIASIGDD DESC + + + + + END +ELSE + + BEGIN + + SELECT + F.ORDENACTIVIDAD + ,(SELECT COUNT(PKSOLICITUD) FROM t_adm_actividad G INNER JOIN + --t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO NOT IN (5,8) ) AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND F.PKACTIVIDAD = G.PKACTIVIDAD + t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO NOT IN (5,8) ) AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND D.FKACTIVIDAD IN (9,1) + AND D.PKRESPONSABLEACTIVIDAD IN (SELECT MAX( H.PKRESPONSABLEACTIVIDAD) FROM t_sgm_responsableactividad H WHERE D.FKPROGRAMACIONSOLICITUD = H.FKPROGRAMACIONSOLICITUD AND D.FKACTIVIDAD = H.FKACTIVIDAD AND (H.FKESTADO NOT IN (5,8) )) + LEFT OUTER JOIN + t_sgm_programacionsolicitud ON D.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd M ON t_dis_solicitud.FKDEPENDENCIASIGDD = M.PKDEPENDENCIASIGDD AND M.DESCRIPCIONDEPENDENCIASIGDD = A.DESCRIPCIONDEPENDENCIASIGDD INNER JOIN + t_adm_region ON M.FKREGION = t_adm_region.PKREGION --INNER JOIN + WHERE + t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + AND + (dbo.t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) NOT IN (3,5)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + GROUP BY G.ORDENACTIVIDAD , DESCRIPCIONREGION, + DESCRIPCIONDEPENDENCIASIGDD,G.NOMBREACTIVIDAD )AS 'Solicitudes Pendientes' + ,(SELECT COUNT(PKSOLICITUD) FROM t_adm_actividad G INNER JOIN + --t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO IN (5,8) ) + --AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + t_sgm_responsableactividad D ON G.PKACTIVIDAD = D.FKACTIVIDAD AND (D.FKESTADO IN (5,8) ) AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND F.NOMBREACTIVIDAD = G.NOMBREACTIVIDAD + --AND D.FKACTIVIDAD IN (9,1) + AND D.PKRESPONSABLEACTIVIDAD IN (SELECT MAX( H.PKRESPONSABLEACTIVIDAD) FROM t_sgm_responsableactividad H WHERE D.FKPROGRAMACIONSOLICITUD = H.FKPROGRAMACIONSOLICITUD AND D.FKACTIVIDAD = H.FKACTIVIDAD AND (H.FKESTADO IN (5,8) )) + LEFT OUTER JOIN + t_sgm_programacionsolicitud ON D.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd M ON t_dis_solicitud.FKDEPENDENCIASIGDD = M.PKDEPENDENCIASIGDD AND M.DESCRIPCIONDEPENDENCIASIGDD = A.DESCRIPCIONDEPENDENCIASIGDD INNER JOIN + t_adm_region ON M.FKREGION = t_adm_region.PKREGION --INNER JOIN + WHERE + t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + AND + (dbo.t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) IN (3)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + GROUP BY G.ORDENACTIVIDAD , DESCRIPCIONREGION, + DESCRIPCIONDEPENDENCIASIGDD,G.NOMBREACTIVIDAD )AS 'Solicitudes Finalizadas' + ,F.NOMBREACTIVIDAD AS 'Actividad en que se encuentra ' + + + ,(SELECT AVG(datediff(DD,[FECHAASIGNACIONRESPONSABLEACTIVIDAD],GETDATE() )) + FROM t_adm_actividad E INNER JOIN + t_sgm_responsableactividad C ON E.PKACTIVIDAD = C.FKACTIVIDAD AND F.PKACTIVIDAD = E.PKACTIVIDAD AND C.FKESTADO NOT IN (5,8) + AND C.PKRESPONSABLEACTIVIDAD IN (SELECT MAX( H.PKRESPONSABLEACTIVIDAD) FROM t_sgm_responsableactividad H WHERE C.FKPROGRAMACIONSOLICITUD = H.FKPROGRAMACIONSOLICITUD AND C.FKACTIVIDAD = H.FKACTIVIDAD AND (H.FKESTADO NOT IN (5,8) )) INNER JOIN + t_sgm_programacionsolicitud ON C.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd B ON t_dis_solicitud.FKDEPENDENCIASIGDD = B.PKDEPENDENCIASIGDD + AND A.DESCRIPCIONDEPENDENCIASIGDD = B.DESCRIPCIONDEPENDENCIASIGDD AND E.NOMBREACTIVIDAD = F.NOMBREACTIVIDAD + WHERE + t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + AND + (t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) NOT IN (3,5)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + --AND C.FKESTADO = 3 + ) AS 'Duración promedio por actividad pendiente' + ,(SELECT AVG(datediff(DD,[FECHAASIGNACIONRESPONSABLEACTIVIDAD],[FECHADEVOLUCIONRESPONSABLEACTIVIDAD] )) + FROM t_adm_actividad E INNER JOIN + t_sgm_responsableactividad C ON E.PKACTIVIDAD = C.FKACTIVIDAD AND F.PKACTIVIDAD = E.PKACTIVIDAD INNER JOIN + t_sgm_programacionsolicitud ON C.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd B ON t_dis_solicitud.FKDEPENDENCIASIGDD = B.PKDEPENDENCIASIGDD + AND A.DESCRIPCIONDEPENDENCIASIGDD = B.DESCRIPCIONDEPENDENCIASIGDD AND E.NOMBREACTIVIDAD = F.NOMBREACTIVIDAD + WHERE + t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + AND + (t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) IN (3)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + AND C.FKESTADO IN (5,8) + ) AS 'Duración promedio por actividad finalizada' + + + ,A.DESCRIPCIONDEPENDENCIASIGDD AS 'Oficina', + t_adm_region.DESCRIPCIONREGION AS 'Región' + + ,(SELECT AVG(datediff(DD,FECHAINSERTASOLICITUD,[FECHADEVOLUCIONRESPONSABLEACTIVIDAD] )) + FROM t_adm_actividad E INNER JOIN + t_sgm_responsableactividad C ON E.PKACTIVIDAD = C.FKACTIVIDAD INNER JOIN + t_sgm_programacionsolicitud ON C.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd B ON t_dis_solicitud.FKDEPENDENCIASIGDD = B.PKDEPENDENCIASIGDD + AND A.DESCRIPCIONDEPENDENCIASIGDD = B.DESCRIPCIONDEPENDENCIASIGDD AND C.FKACTIVIDAD = 9 + WHERE + t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + AND + (t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) IN (3)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) + AND C.FKESTADO IN (5,8) + ) AS 'Duración Promedio por solicitud finalizadas' + + + FROM t_adm_actividad F INNER JOIN + t_sgm_responsableactividad D ON F.PKACTIVIDAD = D.FKACTIVIDAD LEFT OUTER JOIN + t_sgm_programacionsolicitud ON D.FKPROGRAMACIONSOLICITUD = t_sgm_programacionsolicitud.PKPROGRAMACIONSOLICITUD INNER JOIN + t_dis_solicitud ON t_sgm_programacionsolicitud.FKSOLICITUD = t_dis_solicitud.PKSOLICITUD INNER JOIN + t_adm_dependenciasigdd A ON t_dis_solicitud.FKDEPENDENCIASIGDD = A.PKDEPENDENCIASIGDD INNER JOIN + t_adm_region ON A.FKREGION = t_adm_region.PKREGION --INNER JOIN + WHERE + t_dis_solicitud.FKDEPENDENCIASIGDD = @FKDEPENDENCIA + AND t_dis_solicitud.[FECHAINSERTASOLICITUD] BETWEEN @DateInicio AND @DateFinal--Filtro + AND + (dbo.t_dis_solicitud.PKSOLICITUD NOT IN + (SELECT FKSOLICITUD + FROM dbo.t_dis_cancelarsolicitud + WHERE (FKSOLICITUD = dbo.t_dis_solicitud.PKSOLICITUD))) + AND (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) NOT IN (3,5)) + AND (dbo.t_dis_solicitud.ASTATESOLICITUD = 1) AND + (ISNULL(dbo.t_sgm_programacionsolicitud.FKESTADOPROGRAMACION, 1) <> 6) +--AND DESCRIPCIONDEPENDENCIASIGDD = 'Tilarán' + GROUP BY F.ORDENACTIVIDAD , DESCRIPCIONREGION, + DESCRIPCIONDEPENDENCIASIGDD,F.NOMBREACTIVIDAD , F.PKACTIVIDAD + --,t_dis_solicitud.FECHAINSERTASOLICITUD + order by F.ORDENACTIVIDAD ASC ,DESCRIPCIONDEPENDENCIASIGDD DESC + + + + + END + + + --EN CASO DE OCUPAR SUBIR UN ERROR PERSONALIZADO UTILIZAR EL RAISERROR + --EJEMPLO + --SELECT @ErrorMessage = 'El consecutivo ya existe en la base de datos. Consecutivo actual:' + convert( NVARCHAR(100), @CONSECUTIVODOCUMENTO) + -- SET @p_status = '99' + -- SET @p_message = @ErrorMessage + + -- RAISERROR(@ErrorMessage,14,16) + + COMMIT TRANSACTION --CONVIERTE LOS CAMBIOS DE LA TRANSACCION EN PARTE PERMANENTE DE LA BD Y LIBERA LOS RECURSOS POR EJEMPLO BLOQUEOS + +END TRY +BEGIN CATCH + + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION + + SET @p_status = '99' + + SET @p_message = 'Error Número: '+CONVERT(VARCHAR(10),ERROR_NUMBER())+', '+ERROR_MESSAGE() + + + + SELECT @ErrorMessage = ERROR_MESSAGE(), + @ErrorSeverity = ERROR_SEVERITY(), + @ErrorState = ERROR_STATE(); + RAISERROR (@ErrorMessage, -- Message text. + @ErrorSeverity, -- Severity. + @ErrorState -- State. + ); + + +END CATCH +END + +GO + diff --git a/ReportesSIGPC/Query/Untitled.png b/ReportesSIGPC/Query/Untitled.png new file mode 100644 index 0000000000000000000000000000000000000000..7391981c2aadf498ad0295a03343b6aa0a197172 GIT binary patch literal 7570 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 literal 0 HcmV?d00001