dbo.LN_panel_control_excel_2020

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_cliente int 4
@p_lista varchar -1
@p_fecha_gestion_char varchar 10

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
[LN_panel_control_excel] 110864291, '8637'
select * from users where username  = 'LEDDEMO'
select * from clientes where cli_codigo =5680
*/

CREATE OR ALTER PROCEDURE dbo.LN_panel_control_excel_2020 
 -- Add the parameters for the stored procedure here
 @p_cliente         int,
 @p_lista         varchar(max) = null, 
 @p_fecha_gestion_char varchar(10) = null 
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
 declare @p_fecha_gestion date
 if isnull(@p_fecha_gestion_char,'') = '' 
    begin 
  set @p_fecha_gestion = getdate()
    end 
 else
  begin 
  set @p_fecha_gestion = convert(date, @p_fecha_gestion_char) 
  end 

    -- Insert statements for procedure here

 if (@p_cliente is not null) begin

  if (@p_lista is null)

   SELECT LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.id_padron,
    identificadores.country_code, country.country_name, padrones.nombre_persona,
    identificadores.abreviatura, padrones.identificador, padrones.identificacion as numero, clientes.nombre_cliente,
    LN_contraparte_familias.codigo_agrupacion,
    LN_contraparte_familias.estado_homologacion,
    LN_contraparte_familias.activo,
    LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto, 
    LN_contrapartes.activo, LN_contrapartes.vigencia_desde, LN_contrapartes.vigencia_hasta,
    LN_familias.familia, LN_familias.nombre_familia, LN_familias.visible,
    CONVERT(VARCHAR(19), LN_contraparte_familias.created, 121) AS created,
    CONVERT(VARCHAR(19), LN_contraparte_familias.modified, 121) AS modified,
    users.first_name + ' ' + users.last_name AS created_by_user,
    users1.first_name + ' ' + users1.last_name AS modified_by_user,
    convert(varchar(10),ln_gestiones.desde,103) as inicio_gestion, 
    datediff(dd,ln_gestiones.desde,convert(date,getdate())) AS dias_gestion, 
    dd.detalle as detalle_killer

   FROM LN_contrapartes
   left join LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte and
                                                     LN_gestiones.desde <= @p_fecha_gestion and LN_gestiones.hasta >= @p_fecha_gestion
   INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
   INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
   INNER JOIN country ON identificadores.country_code = country.country_code
   INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
   INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia and LN_familias.cliente = ln_contrapartes.cliente
   INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
   INNER JOIN users ON LN_contraparte_familias.created_by = users.user_id
   LEFT OUTER JOIN users as users1 ON LN_contraparte_familias.modified_by = users1.user_id
   left join (SELECT contraparte, detalle=STUFF(
        (SELECT '; ' + detalle_killer AS [text()]
        FROM ln_score_detalle_killer XT
        WHERE XT.contraparte = T.contraparte and XT.visible = 1
        FOR XML PATH('')), 1, 2, '') 
      FROM ln_score_detalle_killer T where T.visible = 1
      GROUP BY contraparte) dd on dd.contraparte = ln_contrapartes.contraparte 
   where LN_contrapartes.cliente = @p_cliente
   and LN_contrapartes.activo = 1
   and LN_contrapartes.subcontratista = 0


   --ORDER BY country.country_name, LN_familias.nombre_familia, padrones.nombre_persona

  else

   SELECT LN_contrapartes.contraparte, LN_contrapartes.cliente, LN_contrapartes.id_padron,
    identificadores.country_code, country.country_name, padrones.nombre_persona,
    identificadores.abreviatura, padrones.identificador, padrones.identificacion as numero, clientes.nombre_cliente,
    LN_contraparte_familias.codigo_agrupacion,
    LN_contraparte_familias.estado_homologacion,
    LN_contraparte_familias.activo,
    LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto, 
    LN_contrapartes.activo, LN_contrapartes.vigencia_desde, LN_contrapartes.vigencia_hasta,
    LN_familias.familia, LN_familias.nombre_familia, LN_familias.visible,
    CONVERT(VARCHAR(19), LN_contraparte_familias.created, 121) AS created,
    CONVERT(VARCHAR(19), LN_contraparte_familias.modified, 121) AS modified,
    users.first_name + ' ' + users.last_name AS created_by_user,
    users1.first_name + ' ' + users1.last_name AS modified_by_user, 
    convert(varchar(10),ln_gestiones.desde,103) as inicio_gestion, 
    datediff(dd,ln_gestiones.desde,convert(date,getdate())) AS dias_gestion,
    dd.detalle as detalle_killer 

   FROM LN_contrapartes
   left join LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte and
                                                     LN_gestiones.desde <= @p_fecha_gestion and LN_gestiones.hasta >= @p_fecha_gestion
   INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
   INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
   INNER JOIN country ON identificadores.country_code = country.country_code
   INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
   INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia and LN_familias.cliente = ln_contrapartes.cliente
   INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
   INNER JOIN users ON LN_contraparte_familias.created_by = users.user_id

   INNER JOIN dbo.DelimitedSplit8K(@p_lista, ',') Contrapartes ON LN_contrapartes.contraparte = Contrapartes.Item
   left join (SELECT contraparte, detalle=STUFF(
        (SELECT '; ' + detalle_killer AS [text()]
        FROM ln_score_detalle_killer XT 
        WHERE XT.contraparte = T.contraparte and XT.visible = 1
        FOR XML PATH('')), 1, 2, '') 
      FROM ln_score_detalle_killer T where T.visible = 1
      GROUP BY contraparte) dd on dd.contraparte = ln_contrapartes.contraparte 

   LEFT OUTER JOIN users as users1 ON LN_contraparte_familias.modified_by = users1.user_id
   where LN_contrapartes.cliente = @p_cliente
   and LN_contrapartes.activo = 1
   order by itemNumber

   --ORDER BY country.country_name, LN_familias.nombre_familia, padrones.nombre_persona


 end
 
END

GO

Used By

No items found