dbo.LN_contrapartes_login

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

5
Name Data Type Length Description
@identificador varchar 10
@numero varchar 30
@clave varchar 30
@p_contraparte int 4
@p_fecha_expira date 3

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_contrapartes_login 
 -- Add the parameters for the stored procedure here

 @identificador        varchar(10) = null,
 @numero          varchar(30) = null,
 @clave          varchar(30) = null,
 @p_contraparte        int = NULL,
 @p_fecha_expira        date = NULL
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 DECLARE @result        int = 0
 DECLARE @errortext       varchar(100) = 'Sin error'
 DECLARE @contraparte      int = NULL
 DECLARE @cliente       int = NULL
 DECLARE @cantidad       int = 0


 IF (@clave IS NOT NULL) BEGIN

  SELECT @cantidad = COUNT(*)
  FROM LN_contrapartes
  INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
  INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
  INNER JOIN country ON LN_contrapartes.country_code = country.country_code
  INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
 
  INNER JOIN (SELECT clientes_productos.cli_codigo, clientes.cliente
        FROM clientes_productos
        INNER JOIN clientes ON clientes_productos.cliente = clientes.cliente
        WHERE clientes_productos.id_producto IN (47, 10)
        AND clientes_productos.activo = 1
        AND clientes_productos.fecha_desde <= CONVERT(DATE,GETDATE())
        AND clientes_productos.fecha_hasta >= CONVERT(DATE,GETDATE())
        GROUP BY clientes_productos.cli_codigo, clientes.cliente ) SUSCR
     ON LN_contrapartes.cliente = SUSCR.cliente
  INNER JOIN LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte
         /*AND LN_contrapartes.vigencia_desde = LN_gestiones.desde
          AND LN_contrapartes.vigencia_hasta = LN_gestiones.hasta*/
)

  WHERE LN_contrapartes.activo = 1
  AND clientes.estado_cliente = 'A'
  AND padrones.identificador = @identificador
  AND padrones.IDENTIFICACION = @numero
  AND LN_contrapartes.clave = @clave
  /*AND LN_contrapartes.vigencia_desde <= CONVERT(DATE,GETDATE())
   AND LN_contrapartes.vigencia_hasta >= CONVERT(DATE,GETDATE())*/

  AND LN_gestiones.desde <= CONVERT(DATE,GETDATE())
  AND LN_gestiones.hasta >= CONVERT(DATE,GETDATE())
  and ln_contrapartes.subcontratista = 0
 
 
  IF (@cantidad > 0) BEGIN

   /*IF (@cantidad > 1) BEGIN
   
    SET @result = 2
    SET @errortext = 'La identificación fiscal del proveedor se encuentra registrada más de una vez bajo la misma contraseña de acceso.'
   
    END*/


   SET @cantidad = 1

  END ELSE BEGIN

   SET @result = 1
   SET @errortext = 'No se encuentra proveedor activo registrado bajo esa identificación fiscal y contraseña.'

  END

  IF (@cantidad > 0) 

   if (@p_contraparte is null)

    SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
    LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
    LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
    ISNULL(LN_contrapartes.carga_inicial, 0) as carga_inicial, 
    LN_contrapartes.limite_carga_inicial as fecha_carga_inicial,
    CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) as limite_carga_inicial,
    LN_contrapartes.fecha_ultimo_cierre,
    LN_contrapartes.periodicidad_ejercicio,
    LN_gestiones.desde AS vigencia_desde,
    LN_gestiones.hasta AS vigencia_hasta,
    LN_contrapartes.clave, LN_contrapartes.clave_temporal, 
    LN_contrapartes.clave_cambio, LN_contrapartes.codigo_idioma,
    CONVERT(VARCHAR, LN_contrapartes.clave_expira, 103) AS clave_expira,
    iif (LN_contrapartes.clave_expira < GETDATE(), 1, 0) AS clave_expirada,
    LN_contrapartes.last_login, LN_gestiones.gestion,
    padrones.identificador, padrones.identificacion  as numero, padrones.nombre_persona, identificadores.abreviatura,
    country.country_name, clientes.nombre_cliente, 
    LN_contrapartes.created, LN_contrapartes.created_by,
    LN_contrapartes.modified, LN_contrapartes.modified_by,
    users1.first_name + ' ' + users1.last_name as created_by_user,
    users2.first_name + ' ' + users2.last_name as modified_by_user,
    @result AS result, @errortext AS errortext

    FROM LN_contrapartes
    INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
    INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
    INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
    INNER JOIN country ON LN_contrapartes.country_code = country.country_code
    INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
    INNER JOIN (SELECT clientes_productos.cli_codigo, clientes.cliente
          FROM clientes_productos
          INNER JOIN clientes ON clientes_productos.cliente = clientes.cliente
          WHERE clientes_productos.id_producto IN (47, 10)
          AND clientes_productos.activo = 1
          AND clientes_productos.fecha_desde <= CONVERT(DATE,GETDATE())
          AND clientes_productos.fecha_hasta >= CONVERT(DATE,GETDATE())
          GROUP BY clientes_productos.cli_codigo, clientes.cliente ) SUSCR
       ON LN_contrapartes.cliente = SUSCR.cliente


    INNER JOIN LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte
           /*AND LN_contrapartes.vigencia_desde = LN_gestiones.desde
            AND LN_contrapartes.vigencia_hasta = LN_gestiones.hasta*/
)

    LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

    WHERE LN_contrapartes.activo = 1
    AND clientes.estado_cliente = 'A'
    AND padrones.identificador = @identificador
    AND padrones.identificacion = @numero
    AND LN_contrapartes.clave = @clave
    and ln_contrapartes.subcontratista = 0
    /*AND LN_contrapartes.vigencia_desde <= CONVERT(DATE,GETDATE())
     AND LN_contrapartes.vigencia_hasta >= CONVERT(DATE,GETDATE())*/

    AND LN_gestiones.desde <= CONVERT(DATE,GETDATE())
    AND LN_gestiones.hasta >= CONVERT(DATE,GETDATE())
 
   else

    /* caso particular cuando se pasa ID de contraparte : chequeo que el cliente correspondiente esté asociado a productos LED NUEVO o INQUIRO */
    select @cliente = cliente from LN_contrapartes where contraparte = @p_contraparte

    if exists (SELECT clientes_productos.cli_codigo, clientes.cliente
          FROM clientes_productos
          INNER JOIN clientes ON clientes_productos.cliente = clientes.cliente
          WHERE clientes_productos.id_producto IN (47, 10)
          AND clientes_productos.activo = 1
          AND clientes_productos.fecha_desde <= CONVERT(DATE,GETDATE())
          AND clientes_productos.fecha_hasta >= CONVERT(DATE,GETDATE())
          AND clientes_productos.cliente = @cliente)

     SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
     LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
     LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
     ISNULL(LN_contrapartes.carga_inicial, 0) as carga_inicial,
     LN_contrapartes.limite_carga_inicial as fecha_carga_inicial,
     CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) as limite_carga_inicial,
     LN_contrapartes.fecha_ultimo_cierre,
     LN_contrapartes.periodicidad_ejercicio,
     LN_contrapartes.vigencia_desde,
     LN_contrapartes.vigencia_hasta,
     LN_contrapartes.clave, LN_contrapartes.clave_temporal, 
     LN_contrapartes.clave_cambio, LN_contrapartes.codigo_idioma,
     CONVERT(VARCHAR, LN_contrapartes.clave_expira, 103) AS clave_expira,
     iif (LN_contrapartes.clave_expira < GETDATE(), 1, 0) AS clave_expirada,
     LN_contrapartes.last_login, LN_gestiones.gestion,
     padrones.identificador, padrones.identificacion  as numero, padrones.nombre_persona, identificadores.abreviatura,
     country.country_name, clientes.nombre_cliente, 
     LN_contrapartes.created, LN_contrapartes.created_by,
     LN_contrapartes.modified, LN_contrapartes.modified_by,
     users1.first_name + ' ' + users1.last_name as created_by_user,
     users2.first_name + ' ' + users2.last_name as modified_by_user,
     @result AS result, @errortext AS errortext

     FROM LN_contrapartes
     INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
     INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
     INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
     INNER JOIN country ON LN_contrapartes.country_code = country.country_code
     INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
     /*INNER JOIN (SELECT clientes_productos.cli_codigo, clientes.cliente
      FROM clientes_productos
      INNER JOIN clientes ON clientes_productos.cliente = clientes.cliente
      WHERE clientes_productos.id_producto IN (47, 10)
      AND clientes_productos.activo = 1
      AND clientes_productos.fecha_desde <= CONVERT(DATE,GETDATE())
      AND clientes_productos.fecha_hasta >= CONVERT(DATE,GETDATE()) ) SUSCR
      ON LN_contrapartes.cliente = SUSCR.cliente*/



     INNER JOIN LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte
            /*AND LN_contrapartes.vigencia_desde = LN_gestiones.desde
             AND LN_contrapartes.vigencia_hasta = LN_gestiones.hasta*/
)

     LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

     WHERE LN_contrapartes.activo = 1
     AND clientes.estado_cliente = 'A'
     AND padrones.identificador = @identificador
     AND padrones.identificacion = @numero
     AND LN_contrapartes.clave = @clave
     AND LN_contrapartes.contraparte = @p_contraparte
     /*AND LN_contrapartes.vigencia_desde <= CONVERT(DATE,GETDATE())
      AND LN_contrapartes.vigencia_hasta >= CONVERT(DATE,GETDATE())*/

     AND LN_gestiones.desde <= CONVERT(DATE,GETDATE())
     AND LN_gestiones.hasta >= CONVERT(DATE,GETDATE())
     and ln_contrapartes.subcontratista = 0


  ELSE

   SELECT @result AS result, @errortext AS errortext, NULL AS clave_temporal

 END ELSE BEGIN

  /* Parámetro de clave nula, caso para login remoto mediante link provisto por mail, ya que 
   en backend se loguea remoto con los datos */


  IF (@identificador is not null AND @numero is not null AND @p_contraparte is not null AND @p_fecha_expira IS NOT NULL) BEGIN
 
   SELECT @cantidad = COUNT(*)
   FROM LN_contrapartes
   INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
   INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
   INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
   INNER JOIN country ON LN_contrapartes.country_code = country.country_code
   INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
   INNER JOIN (SELECT clientes_productos.cli_codigo, clientes.cliente
         FROM clientes_productos
         INNER JOIN clientes ON clientes_productos.cliente = clientes.cliente
         WHERE clientes_productos.id_producto IN (47, 10)
         AND clientes_productos.activo = 1
         AND clientes_productos.fecha_desde <= CONVERT(DATE,GETDATE())
         AND clientes_productos.fecha_hasta >= CONVERT(DATE,GETDATE()) ) SUSCR
      ON LN_contrapartes.cliente = SUSCR.cliente


   INNER JOIN LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte
          /*AND LN_contrapartes.vigencia_desde = LN_gestiones.desde
           AND LN_contrapartes.vigencia_hasta = LN_gestiones.hasta*/
)

   LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

   WHERE LN_contrapartes.activo = 1
   AND clientes.estado_cliente = 'A'
   AND padrones.identificador = @identificador
   AND padrones.identificacion = @numero
   /*AND LN_contrapartes.clave = @clave*/
   AND LN_contrapartes.contraparte = @p_contraparte
   /*AND LN_contrapartes.vigencia_desde <= CONVERT(DATE,GETDATE())
    AND LN_contrapartes.vigencia_hasta >= CONVERT(DATE,GETDATE())*/

   AND LN_gestiones.desde <= CONVERT(DATE,GETDATE())
   AND LN_gestiones.hasta >= CONVERT(DATE,GETDATE())
   AND CONVERT(DATE, GETDATE()) <= @p_fecha_expira
   and ln_contrapartes.subcontratista = 0



   IF (@cantidad > 0)

    SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
    LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
    LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
    ISNULL(LN_contrapartes.carga_inicial, 0) as carga_inicial,
    LN_contrapartes.limite_carga_inicial as fecha_carga_inicial,
    CONVERT(VARCHAR, LN_contrapartes.limite_carga_inicial, 103) as limite_carga_inicial,
    LN_contrapartes.fecha_ultimo_cierre,
    LN_contrapartes.periodicidad_ejercicio,
    LN_contrapartes.vigencia_desde,
    LN_contrapartes.vigencia_hasta,
    LN_contrapartes.clave, LN_contrapartes.clave_temporal, 
    LN_contrapartes.clave_cambio, LN_contrapartes.codigo_idioma,
    CONVERT(VARCHAR, LN_contrapartes.clave_expira, 103) AS clave_expira,
    iif (LN_contrapartes.clave_expira < GETDATE(), 1, 0) AS clave_expirada,
    LN_contrapartes.last_login, LN_gestiones.gestion,
    padrones.identificador, padrones.identificacion  as numero, padrones.nombre_persona, identificadores.abreviatura,
    country.country_name, clientes.nombre_cliente, 
    LN_contrapartes.created, LN_contrapartes.created_by,
    LN_contrapartes.modified, LN_contrapartes.modified_by,
    users1.first_name + ' ' + users1.last_name as created_by_user,
    users2.first_name + ' ' + users2.last_name as modified_by_user,
    @result AS result, @errortext AS errortext

    FROM LN_contrapartes
    INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
    INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
    INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
    INNER JOIN country ON LN_contrapartes.country_code = country.country_code
    INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
    /*INNER JOIN (SELECT clientes_productos.cli_codigo, clientes.cliente
     FROM clientes_productos
     INNER JOIN clientes ON clientes_productos.cliente = clientes.cliente
     WHERE clientes_productos.id_producto IN (47, 10)
     AND clientes_productos.activo = 1
     AND clientes_productos.fecha_desde <= CONVERT(DATE,GETDATE())
     AND clientes_productos.fecha_hasta >= CONVERT(DATE,GETDATE()) ) SUSCR
     ON LN_contrapartes.cliente = SUSCR.cliente*/



    INNER JOIN LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte
           /*AND LN_contrapartes.vigencia_desde = LN_gestiones.desde
            AND LN_contrapartes.vigencia_hasta = LN_gestiones.hasta*/
)

    LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

    WHERE LN_contrapartes.activo = 1
    AND clientes.estado_cliente = 'A'
    AND padrones.identificador = @identificador
    AND padrones.identificacion = @numero
    /*AND LN_contrapartes.clave = @clave*/
    AND LN_contrapartes.contraparte = @p_contraparte
    /*AND LN_contrapartes.vigencia_desde <= CONVERT(DATE,GETDATE())
     AND LN_contrapartes.vigencia_hasta >= CONVERT(DATE,GETDATE())*/

    AND LN_gestiones.desde <= CONVERT(DATE,GETDATE())
    AND LN_gestiones.hasta >= CONVERT(DATE,GETDATE())
    AND CONVERT(DATE, GETDATE()) <= @p_fecha_expira
    and ln_contrapartes.subcontratista = 0




   ELSE

    SELECT 1 AS result, 'No se encuentran datos para la contraparte indicada o el link se encuentra expirado.' AS errortext, NULL AS clave_temporal

  END ELSE BEGIN

   SET @result = 1
   SET @errortext = 'Los parámetros son inválidos.'

   SELECT @result AS result, @errortext AS errortext, NULL AS clave_temporal

  END

 END
 
END

GO

Used By

No items found