dbo.apikey_abm_2022

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

27
Name Data Type Length Description
@action varchar 20
@p_clienteid int 4
@p_topeclidiario int 4
@p_topeclimensual int 4
@p_topeclianual int 4
@p_bloqueacliente bit 1
@p_vigenciacliente varchar 10
@p_estadocliprod bit 1
@p_productoid varchar 10
@p_userid_apikey int 4
@p_estadouserprod bit 1
@p_tokenid int 4
@p_tokenkey varchar 20
@p_topetokendiario bigint 8
@p_topetokenmensual bigint 8
@p_topetokenanual bigint 8
@p_bloqueatoken bit 1
@p_vigenciatoken datetime 8
@p_estadotoken bit 1
@p_token_rango_ip varchar -1
@p_fecha_alta datetime 8
@p_tipo_api char 1
@p_tipo_contrato char 1
@p_moneda varchar 10
@p_precio_unitario decimal 13
@p_userid int 4
@p_id_producto int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from apikey where id_api_key = 54
select * from trazabilidad where doc_id = 54 order by created desc
select * from apikey_marita where id_api_key = 54
*/

/*

exec apikey_abm 'UPDAPIDATA','2254875','0','0','0','1','','1','0','94437923','1','54','99B59DCFLED79786',
'30000','0','0','0','2035-06-02','1','ALL','2022-01-01','I','C','ARS','180'
*/


CREATE OR ALTER PROCEDURE dbo.apikey_abm_2022
@action varchar(20)='LISTAR',
@p_clienteid int = null,
@p_topeclidiario int = 0,
@p_topeclimensual int = 0,
@p_topeclianual int = 0,
@p_bloqueacliente bit = 1,
@p_vigenciacliente varchar(10) = null,
@p_estadocliprod bit = 1,
@p_productoid varchar(10) = null,
@p_userid_apikey int = null,
@p_estadouserprod bit = 1,
@p_tokenid int = null,
@p_tokenkey varchar(20) = null,
@p_topetokendiario bigint = 0,
@p_topetokenmensual bigint = 0,
@p_topetokenanual bigint = 0,
@p_bloqueatoken bit = 1,
@p_vigenciatoken datetime = null,
@p_estadotoken bit = 1,
@p_token_rango_ip varchar(max) = 'ALL',
@p_fecha_alta datetime = null, 
@p_tipo_api char(1) = 'C', -- C=CLIENTES, I=INTERNAS, P=PROVEEDORES
@p_tipo_contrato char(1) = null, -- C=POR CONSUMO, P=PREPAGO
@p_moneda varchar(10) = null,
@p_precio_unitario decimal(20,2) = null, 
@p_userid int = null,
@p_id_producto int = 0 
 
AS

BEGIN
    SET NOCOUNT ON;

/*

@p_topeuserdiario int = null,
@p_topeusermensual int = null,
@p_topeuseranual int = null,
@p_bloqueauser bit = null,
@p_vigenciauser datetime = null,

SELECT TOP 5 * FROM APIKEY 
SELECT TOP 5 * FROM usuarios_productos
SELECT TOP 5 * FROM clientes_productos

alter table APIKEY add topediario int null
alter table APIKEY add topemensual int null
alter table APIKEY add topeanual int null
alter table APIKEY add bloquea bit default(1)

alter table APIKEY add vigencia datetime null default(getdate()+30)

*/


 declare 
 @tokenid int,
 @tokenkey varchar(20),
 @topetokendiario bigint,
 @topetokenmensual bigint,
 @topetokenanual bigint,
 @bloqueatoken bit,
 @vigenciatoken datetime,
 @estadotoken bit,
 @token_rango_ip varchar(100),
 @fecha_alta datetime,
 @rango_ip varchar(max),
 @tipo_api char(1),
 @tipo_contrato char(1),
 @moneda varchar(10),
 @precio_unitario decimal(20,2)

 declare @txt varchar(500)

 IF (@action = 'UPDAPIDATA') 
    BEGIN

  select 
  @topetokendiario  = topediario,
  @topetokenmensual = topemensual,
  @topetokenanual  = topeanual,
  @bloqueatoken = bloquea,
  @vigenciatoken = vigencia,
  @fecha_alta = vigencia_desde, 
  @estadotoken = activo,
  @rango_ip = apikey.ip, 
  @tipo_api  = tipo_api,
  @tipo_contrato = tipo_contrato,
  @moneda = moneda,
  @precio_unitario = precio_unitario

  from apikey 
  where id_api_key=@p_tokenid

  if (@topetokendiario is null)  set @topetokendiario = 0
  if (@topetokenmensual is null) set @topetokenmensual = 0
  if (@topetokenanual is null)   set @topetokenanual = 0
  if (@bloqueatoken is null)     set @bloqueatoken = 0
  if (@estadotoken is null)      set @estadotoken = 1
  if (@fecha_alta is null)       set @fecha_alta = '1901-01-01'
  if (@vigenciatoken is null)    set @vigenciatoken = '1901-01-01'
  if (@rango_ip is null)         set @rango_ip = ''
  if (@tipo_api is null)         set @tipo_api = ''
  if (@tipo_contrato is null)    set @tipo_contrato = ''
  if (@moneda is null)           set @moneda = ''
  if (@precio_unitario is null)  set @precio_unitario = '0.00'


 
  --LECT TOP 10 * FROM apikey
  update apikey set topediario=@p_topetokendiario,topemensual=@p_topetokenmensual,topeanual=@p_topetokenanual,
                    vigencia_desde=@p_fecha_alta,vigencia=@p_vigenciatoken,bloquea=@p_bloqueatoken,activo=@p_estadotoken, 
        tipo_api = @p_tipo_api,
        tipo_contrato = @p_tipo_contrato, 
        moneda = @p_moneda,
        precio_unitario = @p_precio_unitario, 
        apikey.ip = upper(@p_token_rango_ip) 
  where id_api_key=@p_tokenid

  if (@topetokendiario != @p_topetokendiario) 
  begin 
   set @txt = 'Cambio tope diario de ' + CONVERT(varchar,@topetokendiario) + ' a ' + CONVERT(varchar,@p_topetokendiario)
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_numerico_old, valor_numerico_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@topetokendiario,@p_topetokendiario,@p_tokenid)
  end 

  if (@topetokenmensual != @p_topetokenmensual) 
  begin 
   set @txt = 'Cambio tope mensual de ' + CONVERT(varchar,@topetokenmensual) + ' a ' + CONVERT(varchar,@p_topetokenmensual)
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_numerico_old, valor_numerico_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@topetokenmensual,@p_topetokenmensual,@p_tokenid)
  end 

  if (@topetokenanual != @p_topetokenanual) 
  begin 
   set @txt = 'Cambio tope anual de ' + CONVERT(varchar,@topetokenanual) + ' a ' + CONVERT(varchar,@p_topetokenanual)
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_numerico_old, valor_numerico_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@topetokenanual,@p_topetokenanual,@p_tokenid)
  end 

  if (@bloqueatoken != @p_bloqueatoken) 
  begin 
   set @txt = 'Cambio bloquea de ' + iif(@bloqueatoken=1,'SI','NO') + ' a ' + iif(@p_bloqueatoken=1,'SI','NO')
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_numerico_old, valor_numerico_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@bloqueatoken,@p_bloqueatoken,@p_tokenid)
  end 

  if (@vigenciatoken != @p_vigenciatoken) 
  begin 
   set @txt = 'Cambio vigencia hasta de ' +  convert(varchar,@vigenciatoken,103) + ' a ' + convert(varchar,@p_vigenciatoken,103)
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_fecha_old, valor_fecha_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@vigenciatoken,@p_vigenciatoken,@p_tokenid)
  end 

  if (@fecha_alta != @p_fecha_alta) 
  begin 
   set @txt = 'Cambio vigencia desde de ' + convert(varchar,@fecha_alta,103) + ' a ' + convert(varchar,@p_fecha_alta,103)
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_fecha_old, valor_fecha_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@fecha_alta,@p_fecha_alta,@p_tokenid)
  end 

  if (@estadotoken != @p_estadotoken) 
  begin 
   set @txt = 'Cambio estado token de ' + iif(@estadotoken=0,'INACTIVO','ACTIVO') + ' a ' + iif(@p_estadotoken=0,'INACTIVO','ACTIVO')
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_numerico_old, valor_numerico_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@estadotoken,@p_estadotoken,@p_tokenid)
  end 

  if (isnull(@rango_ip,'') != isnull(@p_token_rango_ip,'')) 
  begin 
  set @txt = 'Cambio rango IP de ' + isnull(@rango_ip,'') + ' a ' + isnull(@p_token_rango_ip,'')
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_memo_old, valor_memo_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@rango_ip,@p_token_rango_ip,@p_tokenid)
  end 


  if (isnull(@tipo_api,'') != isnull(@p_tipo_api,'')) 
  begin 
  set @txt = 'Cambio tipo de api de ' + iif(@tipo_api='P','PROVEEDORES',(iif(@tipo_api='I','INTERNA',(iif(@tipo_api='C','CLIENTES',isnull(@tipo_api,'null'))))))
  + ' a ' + iif(@p_tipo_api='P','PROVEEDORES',(iif(@p_tipo_api='I','INTERNA',(iif(@p_tipo_api='C','CLIENTES',isnull(@p_tipo_api,'null'))))))
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_texto_old, valor_texto_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@tipo_api,@p_tipo_api,@p_tokenid)
  end 

  if (isnull(@tipo_contrato,'') != isnull(@p_tipo_contrato,'')) 
  begin 
  set @txt = 'Cambio tipo de contrato de ' + iif(@tipo_contrato='C','X CONSUMO',iif(@tipo_contrato='P','PREPAGO',isnull(@tipo_contrato,'null'))) 
             + ' a ' + iif(@p_tipo_contrato='C','X CONSUMO',iif(@p_tipo_contrato='P','PREPAGO',isnull(@p_tipo_contrato,'null'))) 
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_texto_old, valor_texto_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@tipo_contrato,@p_tipo_contrato,@p_tokenid)
  end 

  if (isnull(@moneda,'') != isnull(@p_moneda,'')) 
  begin 
   set @txt = 'Cambio moneda de ' + isnull(@moneda,'null') + ' a ' + isnull(@p_moneda,'null')
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_texto_old, valor_texto_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@moneda,@p_moneda,@p_tokenid)
  end 

  if (isnull(@precio_unitario,'0.00') != isnull(@p_precio_unitario,'0.00')) 
  begin 
   set @txt = 'Cambio precio unitario de ' + convert(varchar,isnull(@precio_unitario,'0.00')) + ' a ' + convert(varchar,isnull(@p_precio_unitario,'0.00'))
   insert into 
   trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, valor_texto_old, valor_texto_new,doc_id)
   values
   (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@precio_unitario,@p_precio_unitario,@p_tokenid)
  end 


  --select @txt
 END


 IF (@action = 'ALTA') 
    BEGIN

  
  insert into apikey (topediario ,topemensual ,topeanual ,
                    vigencia_desde ,vigencia ,bloquea ,activo , 
        tipo_api ,
        tipo_contrato , 
        moneda ,
        precio_unitario , 
        ip, 
        api_key,producto)
    values  (@p_topetokendiario,@p_topetokenmensual,@p_topetokenanual,
                   @p_fecha_alta,@p_vigenciatoken,@p_bloqueatoken,@p_estadotoken, 
       @p_tipo_api,
       @p_tipo_contrato, 
       @p_moneda,
       @p_precio_unitario, 
       upper(@p_token_rango_ip), 
       @p_tokenkey,@p_id_producto) 

  SET @p_tokenid = SCOPE_IDENTITY()
  set @txt = 'Alta nuevo registro en apikey' 
  insert into 
  trazabilidad (cliente,texto,accion,id_plataforma,user_id,created, doc_id)
  values
  (@p_clienteid,@txt,'APIKEY_ABM','API',@p_userid,getdate(),@p_tokenid)
  
 END



 
END 


/*
[apikey_abm] 'UPDAPIDATA',2254875,0,0,0,1,null,1,null,970439242,1,78,'3D1CT02N1NjaS1V1',20000,100000,3000000,0,'2035-06-02',1,'ALL','2022-01-01'
select   * from trazabilidad where id_plataforma = 'API' order by created desc
*/

GO

Depends On

1

Used By

No items found