dbo.LED_Clientes

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

7
Name Data Type Length Description
@p_action varchar 20
@p_cliente int 4
@p_nombre_cliente varchar 50
@p_identificacion varchar 30
@p_acceso_gdl tinyint 1
@p_producto_fidelitas int 4
@plataforma varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
LED_Clientes 'SELECT',5546348,NULL,NULL,NULL,47
LED_Clientes 'SELECT',NULL,NULL,NULL,NULL,null
*/

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LED_Clientes 
 -- Add the parameters for the stored procedure here
 @p_action       varchar(20),
 @p_cliente       int,
 @p_nombre_cliente     varchar(50),
 @p_identificacion     varchar(30),
 @p_acceso_gdl      tinyint,

 /* tabla productos : 47 = LED / 10 = InquiroVitae */
 @p_producto_fidelitas    int = 47,
 @plataforma       varchar(20) = null
 
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

 if (@plataforma is null)
 begin
  set @plataforma = '47,10,73'
  set @p_producto_fidelitas = 0 
 end


    -- Insert statements for procedure here
IF (@p_action = 'contrapartes') 
BEGIN
 SELECT clientes.nombre_cliente, LN_contrapartes.contraparte,
    LN_contrapartes.country_code, padrones.identificador,
    padrones.identificacion,
    padrones.nombre_persona, clave_cambio, clave_temporal,
    iif(clave_temporal > 0, 'SI','NO') as es_clave_temporal, carga_inicial, 
    nombre_contacto, email_contacto, telefono_contacto, 
    nombre_familia, 
    CONVERT(VARCHAR(17),ultimo_acceso,113) AS ultimo_acceso,
    clave, 
    CONVERT(VARCHAR(17),CLAVE_EXPIRA,113) AS CLAVE_EXPIRACION,
    IIF(carga_inicial=1,'SI','NO') AS es_carga_inicial, CONVERT(VARCHAR(17),limite_carga_inicial,113) AS VENCE_CARGA_INICIAL
    FROM LN_contrapartes 
    inner join padrones on LN_contrapartes.id_padron=padrones.id_padron
    inner join clientes on LN_contrapartes.cliente = clientes.cliente
    inner join LN_contraparte_familias on ln_contraparte_familias.contraparte = LN_contrapartes.contraparte
    inner join ln_familias on (ln_familias.familia = ln_contraparte_familias.familia
             and ln_contrapartes.cliente = ln_familias.cliente)
    WHERE LN_contrapartes.activo = 1 AND LN_contrapartes.cliente = @p_cliente 
    and LN_contraparte_familias.activo = 1
    and ln_contrapartes.subcontratista = 0
    ORDER BY padrones.nombre_persona ASC
END 
ELSE 
BEGIN
 IF (@p_action = 'SELECT') BEGIN
 
  IF (@p_cliente IS NULL AND @p_nombre_cliente IS NULL AND @p_identificacion IS NULL) BEGIN

   if (@p_producto_fidelitas = 0)
   /*exec LED_Clientes 'SELECT',NULL,NULL,NULL,NULL,47*/
    SELECT '1' as PL, clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion/*, activos.modalidad_pago*/
    FROM clientes 
    INNER JOIN (select clientes_productos.cliente/*, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago*/
     from clientes_productos inner join clientes on clientes_productos.cliente = clientes.cliente
     inner JOIN dbo.DelimitedSplit8K(@plataforma, ',') plataforma ON clientes_productos.id_producto = convert(int,plataforma.Item) 
     where clientes.estado_cliente = 'A'
     /*and clientes_productos.id_producto IN (10,47,73)*/ /* and clientes.cliente = 4390310*/
     group by clientes_productos.cliente/*, clientes_productos.modalidad_pago*/) activos ON clientes.cliente = activos.cliente
    INNER JOIN country ON clientes.country_code = country.country_code
    INNER JOIN padrones ON clientes.cuit = padrones.identificacion
       
    ORDER BY padrones.nombre_persona


   else
    /*
     SELECT @plataforma as PL,clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, activos.modalidad_pago
     FROM clientes 
     INNER JOIN 
     (select clientes_productos.cliente, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
     from clientes_productos inner join clientes
     on clientes_productos.cliente = clientes.cliente
     LEFT OUTER JOIN dbo.DelimitedSplit8K(@plataforma, ',') plataforma ON clientes_productos.id_producto = convert(int,plataforma.Item)
     where clientes.estado_cliente = 'A'
     /*and clientes_productos.id_producto = @p_producto_fidelitas */

     group by clientes_productos.cliente, clientes_productos.modalidad_pago) activos ON clientes.cliente = activos.cliente
    
     INNER JOIN country ON clientes.country_code = country.country_code
     INNER JOIN padrones ON clientes.cuit = padrones.identificacion
     ORDER BY padrones.nombre_persona
     */

    SELECT @plataforma as PL,clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, clientes_productos.modalidad_pago
    FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
    INNER JOIN padrones ON clientes.cuit = padrones.identificacion
    inner join clientes_productos on clientes.cliente= clientes_productos.cliente 
    INNER  JOIN dbo.DelimitedSplit8K(@plataforma, ',') plataforma ON clientes_productos.id_producto = convert(int,plataforma.Item) 
    ORDER BY padrones.nombre_persona

  END ELSE

   IF (@p_nombre_cliente IS NULL AND @p_identificacion IS NULL) BEGIN

    SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, activos.modalidad_pago
    FROM clientes 
    INNER JOIN 
     (select distinct clientes_productos.cliente, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
     from clientes_productos inner join clientes
     on clientes_productos.cliente = clientes.cliente
     where clientes.estado_cliente = 'A'
     and clientes_productos.id_producto IN (10,47,73)
     and clientes_productos.cliente = @p_cliente
     group by clientes_productos.cliente, clientes_productos.modalidad_pago) activos ON clientes.cliente = activos.cliente
    
    INNER JOIN country ON clientes.country_code = country.country_code
    INNER JOIN padrones ON clientes.cuit = padrones.identificacion
    ORDER BY padrones.nombre_persona

   END ELSE

    IF (@p_cliente IS NULL AND @p_identificacion IS NULL) BEGIN

     SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
     FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
     INNER JOIN padrones ON clientes.cuit = padrones.identificacion

     INNER JOIN clientes_productos on clientes.cliente = clientes_productos.cliente
     
     WHERE clientes.estado_cliente = 'A'
     -- AND clientes.acceso_gdl = 1
     and clientes_productos.id_producto = @p_producto_fidelitas
     AND CONTAINS(padrones.nombre_persona, @p_nombre_cliente)
     ORDER BY padrones.nombre_persona

    END ELSE

     BEGIN

      SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
      FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
      INNER JOIN padrones ON clientes.cuit = padrones.identificacion

      INNER JOIN clientes_productos on clientes.cliente = clientes_productos.cliente

      WHERE clientes.estado_cliente = 'A' 
      -- AND clientes.acceso_gdl = 1
      and clientes_productos.id_producto = @p_producto_fidelitas
      AND CONTAINS(padrones.identificacion, @p_identificacion)
      ORDER BY padrones.nombre_persona

     END


 END ELSE

  IF (@p_action = 'activar') BEGIN

   IF (@p_cliente > 0) BEGIN

    UPDATE clientes SET acceso_gdl = 1 WHERE cliente = @p_cliente

   END

  END ELSE

   IF (@p_action = 'desactivar') BEGIN

    IF (@p_cliente > 0) BEGIN

     UPDATE clientes SET acceso_gdl = 0 WHERE cliente = @p_cliente

    END

   END ELSE

    IF (@p_action = 'SEARCH') BEGIN

     IF (@p_cliente IS NULL AND @p_nombre_cliente IS NULL AND @p_identificacion IS NULL) BEGIN
  
      SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
      FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
      INNER JOIN padrones ON clientes.cuit = padrones.identificacion

      INNER JOIN clientes_productos on clientes.cliente = clientes_productos.cliente

      WHERE clientes.estado_cliente = 'A'
      --AND  clientes.acceso_gdl = 1
      and clientes_productos.id_producto = @p_producto_fidelitas
      ORDER BY padrones.nombre_persona

     END ELSE

      IF (@p_nombre_cliente IS NULL AND @p_identificacion IS NULL) BEGIN

       SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
       FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
       INNER JOIN padrones ON clientes.cuit = padrones.identificacion

       INNER JOIN clientes_productos on clientes.cliente = clientes_productos.cliente

       WHERE clientes.cliente = @p_cliente
       --AND clientes.acceso_gdl = 1
       and clientes_productos.id_producto = @p_producto_fidelitas
       ORDER BY padrones.nombre_persona


      END ELSE

       IF (@p_cliente IS NULL AND @p_identificacion IS NULL) BEGIN

        SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
        FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
        INNER JOIN padrones ON clientes.cuit = padrones.identificacion

        INNER JOIN clientes_productos on clientes.cliente = clientes_productos.cliente

        WHERE clientes.estado_cliente = 'A'
        --AND clientes.acceso_gdl = 1
        and clientes_productos.id_producto = @p_producto_fidelitas
        AND CONTAINS(padrones.nombre_persona, @p_nombre_cliente)
        ORDER BY padrones.nombre_persona

       END ELSE

        BEGIN

         SELECT clientes.*, country.country_name, padrones.nombre_persona, padrones.identificacion, ISNULL(clientes_productos.modalidad_pago, 'CC') as modalidad_pago
         FROM clientes INNER JOIN country ON clientes.country_code = country.country_code
         INNER JOIN padrones ON clientes.cuit = padrones.identificacion

         INNER JOIN clientes_productos on clientes.cliente = clientes_productos.cliente

         WHERE clientes.estado_cliente = 'A' 
         --AND clientes.acceso_gdl = 1
         and clientes_productos.id_producto = @p_producto_fidelitas
         AND CONTAINS(padrones.identificacion, @p_identificacion)
         ORDER BY padrones.nombre_persona

        END







    END
END 
END
GO

Used By

No items found