dbo.LN_Teams_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

17
Name Data Type Length Description
@accion varchar 20
@userID int 4
@idTeam int 4
@idRol int 4
@idRolUsuario int 4
@UserRole int 4
@idTeamMember int 4
@servicio_contratado varchar 100
@nombre varchar 50
@descripcion varchar 250
@activo bit 1
@idioma varchar 100
@idFamilia int 4
@isDefault bit 1
@idFamilyTeam int 4
@TeamDefault bit 1
@country_code_list varchar 150

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.LN_Teams_  
@accion  varchar(20), /* LSTTEAMS / TEAMBYID / ADDTEAMS / EDITTEAMS / LSTROLES / ROLEBYID / LSTROLUID / ROLUIDBYID / ROLEBYUID / ADDROLE / EDITROLE / ADDROLUID / EDITROLUID / ADDTEAMMEMBER / EDITTEAMMEMBER / LSTTEAMMEMBER  */
@userID int, /* ESTE USUARIO ES EL USER ID DE LA SESION, EL QUE ESTÁ LOGUEADO */
@idTeam int = null,
@idRol int = null,
@idRolUsuario int = null, /* ESTE USUARIO ES EL USER ID DEL ROL */
@UserRole int = null,
@idTeamMember int = null,
@servicio_contratado varchar(100) = null,
@nombre varchar (50) = null,
@descripcion varchar(250) = null,
@activo bit = 1,
@idioma varchar(100) = null,
@idFamilia int = null,
@isDefault bit = 0 ,
@idFamilyTeam int = null,
@TeamDefault bit = null,
@country_code_list varchar(150)=null

/* 
acciones agregadas 19-01-2023

FAMILIESBYTEAM LISTA TODAS LAS FAMILIAS DE UN TEAM SE FILTRA POR IDTEAM
LSTFAMILYTEAMS LISTA LOS TEAMS DE UNA FAMILIA SE FILTRA POR FAMILIA
ADDFAMILYTEAMS ALTA DE TEAM EN UNA FAMILIA
EDITFAMILYTEAMS EDITA UN REGISTRO DE TEAM/FAMILIA POR @idFamilyTeam

*/


AS
BEGIN
  SET NOCOUNT ON;
declare @idTipoInforme int
declare @idElem int  = NULL
declare @TipoElem varchar(1) = NULL
declare @duracion int =3
declare @orden int =1

declare @idLNInformeDesign int = null
declare @prioridad tinyint = null
declare @tipo_tarea varchar(1) =null

declare @contraparte int = null
declare @gestion int = null

if (@servicio_contratado is null)  set @servicio_contratado = 10 

if (@TeamDefault is null)
begin
 set @TeamDefault = 0
end

 set @accion=upper(@accion)

 -- accion que devuelve el Team Default de la Familia
    IF ( @accion='DEFAULTTEAMFAMILIA' )
        BEGIN
            SELECT
                LN_Familia_teams.id_team
            FROM LN_Familia_teams
                INNER JOIN LN_Teams ON LN_Teams.id_team=LN_Familia_teams.id_team
            WHERE 
                LN_Familia_teams.familia=@idFamilia
                AND LN_Familia_teams.isDefault=1
                AND LN_Familia_teams.activo=1
                AND LN_Teams.activo=1
            --
            RETURN;
        END




    IF ( @accion='DEFAULTROLETEAMBR' ) -- Accion que devuelve si el team tiene default para un role
        BEGIN
            SELECT idTeamMember FROM LN_Team_Members
            WHERE id_team = @idTeam AND
            id_rol = @idRol AND
            isdefault = 1
        END

 if (@accion='FAMILIESBYTEAM')
 BEGIN
  SELECT LN_Familia_teams.*,LN_Teams.nombre AS NOMBRE_TEAM,LN_Familias.nombre_familia,clientes.nombre_cliente,ln_familias.visible as familia_activa,clientes.estado_cliente,LN_Teams.activo as team_activo 
  FROM LN_Teams inner join LN_Familia_teams on LN_Familia_teams.id_team=LN_Teams.id_team
  inner join LN_Familias on LN_Familias.familia=LN_Familia_teams.familia
  inner join clientes on ln_familias.cliente = clientes.cliente
  where LN_Familia_teams.id_team = @idTeam 
 END

 if (@accion='LSTFAMILYTEAMS')
 BEGIN
  SELECT LN_Familia_teams.*,LN_Teams.nombre AS NOMBRE_TEAM,LN_Familias.nombre_familia,clientes.nombre_cliente,ln_familias.visible as familia_activa,clientes.estado_cliente,LN_Teams.activo as team_activo 
  FROM LN_Teams inner join LN_Familia_teams on LN_Familia_teams.id_team=LN_Teams.id_team
  inner join LN_Familias on LN_Familias.familia=LN_Familia_teams.familia
  inner join clientes on ln_familias.cliente = clientes.cliente
  where LN_Familia_teams.familia = @idFamilia 
 END

 if (@accion='ADDFAMILYTEAMS')
  BEGIN
   INSERT INTO LN_Familia_teams (FAMILIA,id_team,isDefault,activo,created,created_by)
   values (@idFamilia, @idTeam,@isDefault,@activo,getdate(),@userID)
   select @@IDENTITY as idFamilyTeam 
  END

 if (@accion='EDITFAMILYTEAMS' and @idFamilyTeam is not null)
  BEGIN
   UPDATE LN_Familia_teams set activo=@activo,isDefault=@isDefault, modified=getdate(),modified_by=@userID
   where LN_Familia_teams.idFamilyTeam = @idFamilyTeam 
  END


 if (@accion='LSTTEAMS')
  BEGIN
   SELECT LN_TEAMS.*,users.email,users.last_name,users.first_name,UModif.email as email_modif,UModif.last_name last_name_modif,UModif.first_name as first_name_modif
   FROM LN_TEAMS inner join users on ln_teams.created_by=users.user_id
   left join users UModif on ln_teams.modified_by=UModif.user_id
  END
 if (@accion='TEAMBYID' and @idTeam is not null)
  BEGIN
   SELECT * FROM LN_TEAMS WHERE id_team= @idTeam
  END
 
 if (@accion='ADDTEAMS')
  BEGIN
   INSERT INTO LN_Teams (nombre,descripcion,activo,idioma,servicio_contratado,created,created_by,country_code_list)
   values (@nombre,@descripcion,@activo,@idioma,@servicio_contratado,getdate(),@userID,@country_code_list)
   select @@IDENTITY as id_team
   
  END
 if (@accion='EDITTEAMS' and @idTeam is not null)
  BEGIN
   UPDATE LN_Teams set nombre = @nombre,descripcion=@descripcion,activo=@activo,idioma=@idioma,servicio_contratado=@servicio_contratado,modified=getdate(),modified_by=@userID,country_code_list=@country_code_list
   where id_team = @idTeam
  END

 if (@accion='LSTROLES')
  BEGIN
-- SELECT * FROM LN_ROLES
   SELECT LN_ROLES.*,users.email,users.last_name,users.first_name,UModif.email as email_modif,UModif.last_name last_name_modif,UModif.first_name as first_name_modif
   FROM LN_ROLES inner join users on LN_ROLES.created_by=users.user_id
   left join users UModif on LN_ROLES.modified_by=UModif.user_id

  END

 if (@accion='ROLEBYID' AND @idRol IS NOT NULL)
  BEGIN
   SELECT * FROM LN_ROLES where id_rol=@idRol
  END

 if (@accion='LSTROLUID')
  BEGIN
   SELECT LN_ROLES.id_rol,LN_Rol_User.user_id as id_usuario,LN_Rol_User.idUserRole,LN_ROLES.nombre,LN_ROLES.activo as rol_activo,LN_Rol_User.activo AS user_rol_activo,users.username,users.last_name,users.first_name
   FROM LN_ROLES INNER JOIN LN_Rol_User ON ln_ROLES.id_rol=LN_Rol_User.id_rol
   INNER JOIN USERS ON USERS.user_id=LN_Rol_User.user_id
  END

 if (@accion='ROLUIDBYID' AND @idRol IS NOT null )
  BEGIN
   SELECT LN_ROLES.id_rol,LN_Rol_User.user_id as id_usuario,LN_Rol_User.idUserRole,LN_ROLES.nombre,LN_ROLES.activo as rol_activo,LN_Rol_User.activo AS user_rol_activo,users.username,users.last_name,users.first_name
   FROM LN_ROLES INNER JOIN LN_Rol_User ON ln_ROLES.id_rol=LN_Rol_User.id_rol
   INNER JOIN USERS ON USERS.user_id=LN_Rol_User.user_id
   where LN_Roles.id_rol=@idRol 

  END

 if (@accion='ROLEBYUID' AND @idRolUsuario IS NOT null )
  BEGIN
   SELECT LN_ROLES.id_rol,LN_Rol_User.user_id as id_usuario,LN_Rol_User.idUserRole,LN_ROLES.nombre,LN_ROLES.activo as rol_activo,LN_Rol_User.activo AS user_rol_activo,users.username,users.last_name,users.first_name
   FROM LN_ROLES INNER JOIN LN_Rol_User ON ln_ROLES.id_rol=LN_Rol_User.id_rol
   INNER JOIN USERS ON USERS.user_id=LN_Rol_User.user_id
   where LN_Rol_User.user_id=@idRolUsuario 

  END

 if (@accion='ADDROLE')
  BEGIN
   INSERT INTO LN_Roles (nombre,descripcion,activo,created,created_by)
   values (@nombre,@descripcion,@activo,getdate(),@userID)
   select @@IDENTITY as id_rol 
  END
 if (@accion='EDITROLE' and @idRol is not null)
  BEGIN
   UPDATE LN_Roles set nombre = @nombre,descripcion=@descripcion,activo=@activo,modified=getdate(),modified_by=@userID
   where id_rol = @idRol
  END
  
-- select * from LN_Rol_User
 if (@accion='ADDROLUID')
  BEGIN
   INSERT INTO LN_Rol_User (id_rol,user_id,activo,created,created_by)
   values (@idRol,@idRolUsuario,@activo,getdate(),@userID)
   select @@IDENTITY as idUserRole 
  END
 if (@accion='EDITROLUID' and @UserRole is not null)
  BEGIN
   UPDATE LN_Rol_User set activo=@activo,modified=getdate(),modified_by=@userID
   where idUserRole = @UserRole 
  END
 if (@accion='LSTTEAMMEMBER')
  BEGIN
   SELECT LN_Team_Members.*,users.username,users.last_name,users.first_name,LN_Roles.nombre AS NOMBRE_ROL,LN_Teams.nombre as nombre_team 
   FROM LN_Team_Members inner join users on LN_Team_Members.user_id=users.user_id
   INNER JOIN LN_Roles on LN_Team_Members.id_rol=LN_Roles.id_rol
   INNER JOIN LN_Teams on LN_Team_Members.id_team=LN_Teams.id_team 
   where LN_Team_Members.id_team = @idTeam 
  END

 if (@accion='ADDTEAMMEMBER')
  BEGIN
   INSERT INTO LN_Team_Members (id_team,id_rol,user_id,activo,created,created_by,isdefault)
   values (@idTeam, @idRol,@idRolUsuario,@activo,getdate(),@userID,@TeamDefault)
   select @@IDENTITY as idTeamMember 
  END

 if (@accion='EDITTEAMMEMBER' and @idTeamMember is not null)
  BEGIN
   UPDATE LN_Team_Members set activo=@activo,modified=getdate(),modified_by=@userID,isdefault=@TeamDefault
   where idTeamMember = @idTeamMember 
  END


  if (upper(@accion) = 'VISTA_EDIT_INFORME')
  BEGIN
     SELECT LN_tipo_informes.nombre_tipo_informe,LN_tipo_informes.descripcion,LN_tipo_informes.familia,LN_tipo_informes.idioma, 
     LN_informe_design.idLNInformeDesign,LN_informe_design.idTipoInforme,LN_informe_design.tipo_elem,LN_informe_design.duracion,LN_informe_design.orden,LN_informe_design.prioridad,LN_informe_design.tipo_tarea,
     iif(LN_informe_design.tipo_elem = 'T',idElem,null) as idTarea,
     iif(LN_informe_design.tipo_elem = 'C',idElem,null) as idComponente,
     LN_componente.nombre_componente,LN_componente.descripcion as descrip_componente,LN_componente.cliente,LN_componente.idTarea_dependiente,LN_componente.idTipoDoc_dependiente,LN_componente.ruta,
     LN_tareas.nombre_tarea,LN_tareas.descripcion as descrip_tarea,LN_tareas.perfil_usr_default as perfil_default_tarea,LN_componente.country_code,LN_componente.tipo_componente,LN_componente.secciones_ic
     /*,LN_tareas.prioridad as tarea_prioridad*/
     FROM LN_informe_design INNER JOIN LN_tipo_informes ON LN_tipo_informes.idTipoInforme=LN_informe_design.idTipoInforme
     INNER JOIN LN_CONTRAPARTE_FAMILIAS ON LN_CONTRAPARTE_FAMILIAS.familia = LN_tipo_informes.familia
     inner join ln_gestiones on (LN_gestiones.contraparte= LN_CONTRAPARTE_FAMILIAS.contraparte and ln_gestiones.gestion = @gestion)
     LEFT JOIN LN_componente ON (LN_informe_design.idElem = LN_componente.idComponente AND LN_informe_design.tipo_elem = 'C')
     LEFT JOIN LN_tareas ON (LN_informe_design.idElem = LN_tareas.idTarea AND LN_informe_design.tipo_elem = 'T')
     where LN_informe_design.activo=1
     order by LN_informe_design.orden asc

  END



  if (@accion='AGREGAR')
  BEGIN
   INSERT INTO LN_informe_design (idTipoInforme,idElem,tipo_elem,duracion,orden,activo,prioridad,tipo_tarea,created,created_by) 
   VALUES (@idTipoInforme,@idElem,@TipoElem,@duracion,@orden,@activo,@prioridad,@tipo_tarea,getdate(),@UserID)
   
   select @@IDENTITY as idLNInformeDesign

  END

  if (@accion='EDITAR')
  BEGIN
-- SELECT * FROM LN_informe_design where idLNInformeDesign = 1@idLNInformeDesign

   SELECT LN_informe_design.*,LN_componente.nombre_componente,LN_componente.descripcion as descrip_componente,LN_componente.cliente,LN_componente.idTarea_dependiente,LN_componente.idTipoDoc_dependiente,LN_componente.ruta,
   LN_tareas.nombre_tarea,LN_tareas.descripcion as descrip_tarea,LN_tareas.perfil_usr_default as perfil_default_tarea,LN_tareas.prioridad as tarea_prioridad,LNTHijo.idTarea as idTareaHijo,
   LNTHijo.nombre_tarea as nombre_tarea_hijo,LNTHijo.descripcion as desc_tarea_hijo,LN_tipos_doc.nombre_tipo_doc 
   FROM LN_informe_design LEFT JOIN LN_componente ON (LN_informe_design.idElem = LN_componente.idComponente AND LN_informe_design.tipo_elem = 'C')
   LEFT JOIN LN_tareas ON (LN_informe_design.idElem = LN_tareas.idTarea AND LN_informe_design.tipo_elem = 'T')
   left join LN_tareas LNTHijo on LNTHijo.idTarea_Padre=LN_tareas.idTarea
   left join LN_tipos_doc on LN_componente.idTipoDoc_dependiente = LN_tipos_doc.tipo_doc 
    where idLNInformeDesign = @idLNInformeDesign 

  END
  

  if (@accion='ACTUALIZAR')
  BEGIN
   UPDATE LN_informe_design SET @idTipoInforme=@idTipoInforme,
   idElem=@idElem,
   tipo_elem= @TipoElem, 
   duracion= @duracion, 
   orden=@orden,
   activo=@activo,
   prioridad= @prioridad,
   tipo_tarea = @tipo_tarea,
   modified =getdate(),
   modified_by = @UserID

   where idLNInformeDesign = @idLNInformeDesign

  END
  
  
  if (@accion='IVUSRTEAMS')
  BEGIN

   select distinct user_id from LN_Team_Members where activo = 1 and user_id>3

  END


if (@accion='IVNOTIFJSON')
BEGIN
 declare @tiporol int = 0
 select @tiporol = count(*) from LN_Team_Members where user_id=@userID and id_rol=1
 if (@tiporol = 0) /*LISTA SOLO TAREAS */
  BEGIN
   select distinct informes.informe as idtarea,clientes.nombre_cliente,padrones.nombre_persona,LN_tareas.nombre_tarea,
   informes.informe_padre
   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
   inner join LN_tareas on informes.idTarea=LN_tareas.idTarea
   where informes.estado_informe='A' and iPPAL.estado_informe not in ('N','K') and informes.asignado=@userID
   and ln_contrapartes.activo=1 and ln_contrapartes.servicio_contratado=@servicio_contratado
  END
 if (@tiporol > 0) /*LISTA informes y TAREAS */
  BEGIN
  select distinct informes.informe as idtarea,clientes.nombre_cliente,padrones.nombre_persona,LN_tareas.nombre_tarea,
   informes.informe_padre,'T' as tipo
   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
   inner join LN_tareas on informes.idTarea=LN_tareas.idTarea
   where informes.estado_informe='A' and iPPAL.estado_informe not in ('N','K') and informes.asignado=@userID
   and ln_contrapartes.activo=1 and ln_contrapartes.servicio_contratado=@servicio_contratado
   union
   select distinct iPPAL.informe as idtarea,clientes.nombre_cliente,padrones.nombre_persona,LN_tipo_informes.nombre_tipo_informe as nombre_tarea,
   iPPAL.informe_padre,'I' as tipo
   from informes iPPAL 
   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
   inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme
   where iPPAL.estado_informe='A'/* and informes.asignado=436897241*/
   and ln_contrapartes.activo=1 and ln_contrapartes.servicio_contratado=@servicio_contratado
 
  END


END







END 
GO

Used By

No items found