dbo.obtener_usuarios_tareas_cantidades

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

Used By

No items found