Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
3| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_accion | varchar | 30 | |
| @p_fecha | datetime | 8 | |
| @p_plataforma | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
EXEC [Dashboard_backend_informes_tareas] 'INFORMES_POR_SEMANA','2024-07-31',47
EXEC [Dashboard_backend_informes_tareas] 'INFORMES_VENCIDOS_PREFECHA','2024-07-12',47
EXEC [Dashboard_backend_informes_tareas] 'INFORMES_VENCIDOS_PREDIA','2024-07-31',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_POR_SEMANA','2024-07-12',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_POR_DIA','2024-07-23',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_VENCIDOS_PREDIA','2024-07-23',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_CATEGORIA_DIA','2024-07-23',47
*/
-- Create the stored procedure in the specified schema
CREATE OR ALTER PROCEDURE dbo.Dashboard_backend_informes_tareas
@p_accion VARCHAR(30),
@p_fecha DATETIME,
@p_plataforma INT
--@p_categoria VARCHAR(20)=NULL -- lista separada por comas roles al cual le pertenecen las tareas
-- add more stored procedure parameters here
AS
BEGIN
-- body of the stored procedure
DECLARE @accion VARCHAR(30) = UPPER(@p_accion);
DECLARE @fecha_loop DATETIME = @p_fecha;
DECLARE @StartWeek DATETIME;
DECLARE @EndWeek DATETIME;
DECLARE @i INT = 0;
--
DECLARE @temp_informes_semana TABLE (
cant_informes INT,
fecha_semana DATETIME,
estado CHAR(1)
);
--
IF ( @accion = 'INFORMES_POR_SEMANA' )
BEGIN
--SET @StartWeek=@fecha_loop
--SET @EndWeek=DATEADD(WEEK, 1, DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop))
--
WHILE @i < 24
BEGIN
SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
SET @EndWeek=DATEADD(WEEK, 1, @StartWeek)
--select @StartWeek, @EndWeek
-- Informes Por estado
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
@EndWeek as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
--iPPAL.estado_informe IN ('A','E','P','W')
iPPAL.estado_informe IN ('P')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) >= CONVERT(DATE,GETDATE())
AND CONVERT(DATE,iPPAL.fecha_comprometida) > CONVERT(DATE,@StartWeek)
AND CONVERT(DATE,iPPAL.fecha_comprometida) <= CONVERT(DATE,@EndWeek)
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='A') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'A'
)
END */
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'E'
)
END */
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='P') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'P'
)
END
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'W'
)
END */
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(WEEK,1,@fecha_loop)
--
--SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
--SET @EndWeek=DATEADD(WEEK, 1, @StartWeek)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'INFORMES_POR_DIA' )
BEGIN
--
WHILE @i < 24
BEGIN
-- Informes Por estado
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
@fecha_loop as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
--iPPAL.estado_informe IN ('A','E','P','W')
iPPAL.estado_informe IN ('A','E','W')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='A') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'A'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'E'
)
END
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='P') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'P'
)
END */
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'W'
)
END
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(DAY,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'INFORMES_VENCIDOS_PREFECHA' )
BEGIN
-- informes con fecha comprometida anterior a la dada
--SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
SET @StartWeek=@fecha_loop
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
NULL as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe IN ('P')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) < @StartWeek
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'INFORMES_VENCIDOS_PREDIA' )
BEGIN
-- informes con fecha comprometida anterior a la dada
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
NULL as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe IN ('A','E','W')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_POR_SEMANA' )
BEGIN
WHILE @i < 24
BEGIN
SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
SET @EndWeek=DATEADD(WEEK, 1, @StartWeek)
-- Tareas en Espera y En proceso
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@EndWeek as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
--AND informes.ready_to_start=1
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) > @StartWeek
AND CONVERT(DATE,informes.fecha_comprometida) <= @EndWeek
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@EndWeek as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) > @StartWeek
AND CONVERT(DATE,informes.fecha_comprometida) <= @EndWeek
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='Z') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'Z'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'E'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'W'
)
END
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(WEEK,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_VENCIDOS_PRESEMANA' )
BEGIN
-- tareas con fecha comprometida anterior a la dada
SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
--
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) <= @StartWeek
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) <= @StartWeek
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_POR_DIA' )
BEGIN
WHILE @i < 24
BEGIN
-- Tareas con fecha comprometida anterior a la dada (por dias)
-- Tareas en Espera y En proceso
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
--AND informes.ready_to_start=1
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='Z') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'Z'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'E'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'W'
)
END
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(DAY,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_VENCIDOS_PREDIA' )
BEGIN
-- tareas con fecha comprometida anterior a la dada (por dias)
--
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_CATEGORIA_DIA' )
BEGIN
-- tareas con fecha comprometida de 24 dÃas en adelante
WHILE @i < 24
BEGIN
-- Tareas Call Center por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'C' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('2',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Redacción por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'R' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('3,7,9',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Control por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'O' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('1',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(DAY,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_CATEGORIA_PREDIA' )
BEGIN
-- tareas con fecha comprometida anterior a la dada (por dias)
-- Tareas Call Center por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'C' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('2',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Redacción por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'R' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('3,7,9',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Control por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'O' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('1',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
END
GO
GO
/*
EXEC [Dashboard_backend_informes_tareas] 'INFORMES_POR_SEMANA','2024-07-31',47
EXEC [Dashboard_backend_informes_tareas] 'INFORMES_VENCIDOS_PREFECHA','2024-07-12',47
EXEC [Dashboard_backend_informes_tareas] 'INFORMES_VENCIDOS_PREDIA','2024-07-31',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_POR_SEMANA','2024-07-12',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_POR_DIA','2024-07-23',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_VENCIDOS_PREDIA','2024-07-23',47
EXEC [Dashboard_backend_informes_tareas] 'TAREAS_CATEGORIA_DIA','2024-07-23',47
*/
-- Create the stored procedure in the specified schema
CREATE OR ALTER PROCEDURE dbo.Dashboard_backend_informes_tareas
@p_accion VARCHAR(30),
@p_fecha DATETIME,
@p_plataforma INT
--@p_categoria VARCHAR(20)=NULL -- lista separada por comas roles al cual le pertenecen las tareas
-- add more stored procedure parameters here
AS
BEGIN
-- body of the stored procedure
DECLARE @accion VARCHAR(30) = UPPER(@p_accion);
DECLARE @fecha_loop DATETIME = @p_fecha;
DECLARE @StartWeek DATETIME;
DECLARE @EndWeek DATETIME;
DECLARE @i INT = 0;
--
DECLARE @temp_informes_semana TABLE (
cant_informes INT,
fecha_semana DATETIME,
estado CHAR(1)
);
--
IF ( @accion = 'INFORMES_POR_SEMANA' )
BEGIN
--SET @StartWeek=@fecha_loop
--SET @EndWeek=DATEADD(WEEK, 1, DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop))
--
WHILE @i < 24
BEGIN
SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
SET @EndWeek=DATEADD(WEEK, 1, @StartWeek)
--select @StartWeek, @EndWeek
-- Informes Por estado
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
@EndWeek as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
--iPPAL.estado_informe IN ('A','E','P','W')
iPPAL.estado_informe IN ('P')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) >= CONVERT(DATE,GETDATE())
AND CONVERT(DATE,iPPAL.fecha_comprometida) > CONVERT(DATE,@StartWeek)
AND CONVERT(DATE,iPPAL.fecha_comprometida) <= CONVERT(DATE,@EndWeek)
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='A') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'A'
)
END */
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'E'
)
END */
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='P') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'P'
)
END
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'W'
)
END */
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(WEEK,1,@fecha_loop)
--
--SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
--SET @EndWeek=DATEADD(WEEK, 1, @StartWeek)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'INFORMES_POR_DIA' )
BEGIN
--
WHILE @i < 24
BEGIN
-- Informes Por estado
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
@fecha_loop as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
--iPPAL.estado_informe IN ('A','E','P','W')
iPPAL.estado_informe IN ('A','E','W')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='A') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'A'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'E'
)
END
--
/* IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='P') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'P'
)
END */
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'W'
)
END
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(DAY,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'INFORMES_VENCIDOS_PREFECHA' )
BEGIN
-- informes con fecha comprometida anterior a la dada
--SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
SET @StartWeek=@fecha_loop
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
NULL as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe IN ('P')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) < @StartWeek
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'INFORMES_VENCIDOS_PREDIA' )
BEGIN
-- informes con fecha comprometida anterior a la dada
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe_padre) AS cant_informes,
NULL as fecha_semana,
iPPAL.estado_informe
FROM informes
INNER JOIN informes iPPAL on informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo on ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN LN_gestiones ON LN_gestiones.gestion=LN_demo.gestion
INNER JOIN padrones on padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes on ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas on informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones on fuentes_descripciones.idTipo_informe=LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe IN ('A','E','W')
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,iPPAL.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND LN_gestiones.vigente=1
AND (fuentes_descripciones.id_fuente_descripcion IS NULL OR fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY iPPAL.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_POR_SEMANA' )
BEGIN
WHILE @i < 24
BEGIN
SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
SET @EndWeek=DATEADD(WEEK, 1, @StartWeek)
-- Tareas en Espera y En proceso
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@EndWeek as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
--AND informes.ready_to_start=1
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) > @StartWeek
AND CONVERT(DATE,informes.fecha_comprometida) <= @EndWeek
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@EndWeek as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) > @StartWeek
AND CONVERT(DATE,informes.fecha_comprometida) <= @EndWeek
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='Z') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'Z'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'E'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@EndWeek AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@EndWeek,
'W'
)
END
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(WEEK,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_VENCIDOS_PRESEMANA' )
BEGIN
-- tareas con fecha comprometida anterior a la dada
SET @StartWeek=DATEADD(DD,1-DATEPART(DW, @fecha_loop), @fecha_loop)
--
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) <= @StartWeek
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) <= @StartWeek
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_POR_DIA' )
BEGIN
WHILE @i < 24
BEGIN
-- Tareas con fecha comprometida anterior a la dada (por dias)
-- Tareas en Espera y En proceso
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
--AND informes.ready_to_start=1
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='Z') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'Z'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='E') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'E'
)
END
--
IF ( (SELECT COUNT(*) FROM @temp_informes_semana WHERE fecha_semana=@fecha_loop AND estado='W') = 0 )
BEGIN
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
) VALUES (
0,
@fecha_loop,
'W'
)
END
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(DAY,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_VENCIDOS_PREDIA' )
BEGIN
-- tareas con fecha comprometida anterior a la dada (por dias)
--
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
informes.estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe IN ('E','W') AND
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
-- Tareas Listas para iniciar
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'Z' as estado_informe
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
informes.estado_informe='A'
AND iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.ready_to_start=1
AND clientes.cliente NOT IN (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=@p_plataforma
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND isnull(LN_demo.visible,0)=0
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
GROUP BY informes.estado_informe;
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_CATEGORIA_DIA' )
BEGIN
-- tareas con fecha comprometida de 24 dÃas en adelante
WHILE @i < 24
BEGIN
-- Tareas Call Center por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'C' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('2',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Redacción por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'R' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('3,7,9',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Control por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
@fecha_loop as fecha_semana,
'O' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('1',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) = CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
--
SET @i = @i + 1
SET @fecha_loop = DATEADD(DAY,1,@fecha_loop)
END
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
IF ( @accion = 'TAREAS_CATEGORIA_PREDIA' )
BEGIN
-- tareas con fecha comprometida anterior a la dada (por dias)
-- Tareas Call Center por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'C' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('2',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Redacción por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'R' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('3,7,9',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
-- Tareas Control por dia
INSERT INTO @temp_informes_semana (
cant_informes,
fecha_semana,
estado
)
SELECT
COUNT(DISTINCT informes.informe) AS cant_tareas,
NULL as fecha_semana,
'O' as estado
FROM informes
INNER JOIN informes iPPAL ON informes.informe_padre=iPPAL.informe
INNER JOIN LN_demo ON ln_demo.informe = iPPAL.informe
INNER JOIN ln_contrapartes ON ln_demo.contraparte=ln_contrapartes.contraparte
INNER JOIN padrones ON padrones.id_padron=ln_contrapartes.id_padron
INNER JOIN clientes ON ln_contrapartes.cliente=clientes.cliente
LEFT JOIN LN_tareas ON informes.idTarea=LN_tareas.idTarea
INNER JOIN LN_tipo_informes ON iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
INNER JOIN dbo.DelimitedSplit8K('1',',') tipos_roles ON ln_tareas.perfil_usr_default = (tipos_roles.Item)
LEFT JOIN fuentes_descripciones ON fuentes_descripciones.idTipo_informe = LN_tipo_informes.idTipoInforme
WHERE
iPPAL.estado_informe NOT IN ('F','K','N','X','C')
AND informes.estado_informe NOT IN ('K','N','X')
AND clientes.cliente not in (110864291,3920694)
AND ln_contrapartes.activo=1
AND ln_contrapartes.servicio_contratado=47
AND isnull(LN_demo.visible,0)=0
AND CONVERT(DATE,informes.fecha_comprometida) < CONVERT(DATE,@fecha_loop)
AND (fuentes_descripciones.id_fuente_descripcion is null or fuentes_descripciones.mostrar_en_paneles_tareas = 1)
--
SELECT * FROM @temp_informes_semana;
--
RETURN;
END
--
END
GO
Depends On
10Used By
No items found