Script e Imagen AyA
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C545
This commit is contained in:
parent
c3f0e59687
commit
4a576ef8b1
2 changed files with 407 additions and 0 deletions
407
ReportesSIGPC/Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql
Normal file
407
ReportesSIGPC/Query/PA_TRABAJOACTIVIDAD 09 03 2021.sql
Normal file
|
|
@ -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
|
||||||
|
|
||||||
BIN
ReportesSIGPC/Query/Untitled.png
Normal file
BIN
ReportesSIGPC/Query/Untitled.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.4 KiB |
Loading…
Add table
Reference in a new issue