Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
1| Name | Data Type | Length | Description |
|---|---|---|---|
| @tipo_tarea | varchar | 50 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
--exec [obtener_usuarios_tareas_cantidades] 'balance'
CREATE OR ALTER PROCEDURE dbo.obtener_usuarios_tareas_cantidades
@tipo_tarea varchar(50)
AS
BEGIN
declare @user_id int
declare @usuario varchar(200)
declare @sin_comenzar int
declare @en_proceso int
declare @finalizadas int
declare @aprobadas int
declare @rechazadas int
declare @resultado table (usuario varchar(200),
sin_comenzar int,
en_proceso int,
finalizadas int,
aprobadas int,
rechazadas int)
DECLARE bn CURSOR
FOR select distinct user_id from tareas_usuarios_documentos where tipo = @tipo_tarea
OPEN bn
Fetch next from bn INTO @user_id
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @usuario = (select (first_name + ' ' + last_name) from users where user_id = @user_id)
set @sin_comenzar =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_inicio_tarea is null
and fecha_fin_tarea is null
and fecha_rechazo is null)
set @en_proceso =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_inicio_tarea is not null
and fecha_fin_tarea is null
and fecha_aprobacion is null)
-- and fecha_rechazo is null)
set @finalizadas =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_inicio_tarea is not null
and fecha_fin_tarea is not null
and fecha_aprobacion is null
and fecha_rechazo is null)
set @aprobadas =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
-- and fecha_inicio_tarea is not null
-- and fecha_fin_tarea is not null
and fecha_aprobacion is not null )
-- and fecha_rechazo is null)
set @rechazadas =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_rechazo is not null
and fecha_fin_tarea is not null
and fecha_aprobacion is null)
insert into @resultado
select @usuario as usuario,
@sin_comenzar as sin_comenzar,
@en_proceso as en_proceso,
@finalizadas as finalizadas,
@aprobadas as aprobadas,
@rechazadas as rechazadas
Fetch next from bn INTO @user_id
END
CLOSE bn
DEALLOCATE bn
select * from @resultado
END
GO
GO
--exec [obtener_usuarios_tareas_cantidades] 'balance'
CREATE OR ALTER PROCEDURE dbo.obtener_usuarios_tareas_cantidades
@tipo_tarea varchar(50)
AS
BEGIN
declare @user_id int
declare @usuario varchar(200)
declare @sin_comenzar int
declare @en_proceso int
declare @finalizadas int
declare @aprobadas int
declare @rechazadas int
declare @resultado table (usuario varchar(200),
sin_comenzar int,
en_proceso int,
finalizadas int,
aprobadas int,
rechazadas int)
DECLARE bn CURSOR
FOR select distinct user_id from tareas_usuarios_documentos where tipo = @tipo_tarea
OPEN bn
Fetch next from bn INTO @user_id
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @usuario = (select (first_name + ' ' + last_name) from users where user_id = @user_id)
set @sin_comenzar =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_inicio_tarea is null
and fecha_fin_tarea is null
and fecha_rechazo is null)
set @en_proceso =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_inicio_tarea is not null
and fecha_fin_tarea is null
and fecha_aprobacion is null)
-- and fecha_rechazo is null)
set @finalizadas =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_inicio_tarea is not null
and fecha_fin_tarea is not null
and fecha_aprobacion is null
and fecha_rechazo is null)
set @aprobadas =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
-- and fecha_inicio_tarea is not null
-- and fecha_fin_tarea is not null
and fecha_aprobacion is not null )
-- and fecha_rechazo is null)
set @rechazadas =
(select COUNT(*) as cantidad
from tareas_usuarios_documentos tud
where tud.user_id = @user_id
and tipo = @tipo_tarea
and fecha_rechazo is not null
and fecha_fin_tarea is not null
and fecha_aprobacion is null)
insert into @resultado
select @usuario as usuario,
@sin_comenzar as sin_comenzar,
@en_proceso as en_proceso,
@finalizadas as finalizadas,
@aprobadas as aprobadas,
@rechazadas as rechazadas
Fetch next from bn INTO @user_id
END
CLOSE bn
DEALLOCATE bn
select * from @resultado
END
GO
Depends On
2Used By
No items found