dbo.LN_demo_fidecheck_ANT

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

12
Name Data Type Length Description
@accion varchar 30
@p_id int 4
@p_contraparte int 4
@p_nombre varchar 250
@p_seccion varchar 1
@p_tax_id varchar 50
@p_nacionalidad varchar 30
@p_porcentaje decimal 5
@p_tipo_relacion varchar 100
@p_cargo varchar 100
@p_fidecheck varchar 1
@p_detalle varchar 300

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_demo_fidecheck_ANT 
 -- Add the parameters for the stored procedure here

 @accion        varchar(30) = null,
 @p_id        int = null,
 @p_contraparte      int = null,
 @p_nombre       varchar(250) = null,
 @p_seccion       varchar(1) = null,
 @p_tax_id       varchar(50) = null,
 @p_nacionalidad      varchar(30) = null,
 @p_porcentaje      decimal(5,2) = null,
 @p_tipo_relacion     varchar(100) = null,
 @p_cargo       varchar(100) = null,
 @p_fidecheck      varchar(1) = null,
 @p_detalle       varchar(300) = 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 @id int = null, @ord int = null, @contraparte int = null, @sec varchar(1) = NULL

 IF (@accion = 'SEARCH') BEGIN

  if (@p_seccion is null)

   select LN_demo_fidecheck.*, 
     CASE
      WHEN LN_demo_fidecheck.seccion = 'S' THEN 'Socios / Accionistas'
      WHEN LN_demo_fidecheck.seccion = 'R' THEN 'Vinculaciones / Empresas relacionadas'
      WHEN LN_demo_fidecheck.seccion = 'D' THEN 'Directivos'
      ELSE NULL
     END AS nombre_seccion,
     CASE 
      WHEN LN_demo_fidecheck.fidecheck = 'N' THEN 'Negative'
      WHEN LN_demo_fidecheck.fidecheck = 'R' THEN 'Relative'
      WHEN LN_demo_fidecheck.fidecheck = 'P' THEN 'Positive'
      ELSE NULL
     END AS pep,
     CASE 
      WHEN LN_demo_fidecheck.fidecheck = 'P' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
      WHEN LN_demo_fidecheck.fidecheck = 'E' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
      WHEN LN_demo_fidecheck.fidecheck = 'N' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
      ELSE NULL
     END AS estado,
    clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador,
    padrones.numero, padrones.identificacion, identificadores.abreviatura, 
    identificadores.country_code, country.country_name, 
    LN_contrapartes.id_padron, LN_contrapartes.cliente

   from LN_demo_fidecheck
   inner join LN_contrapartes on LN_demo_fidecheck.contraparte = LN_contrapartes.contraparte
   inner join clientes on LN_contrapartes.cliente = clientes.cliente
   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
   where LN_demo_fidecheck.contraparte = @p_contraparte
   and LN_demo_fidecheck.visible = 1
   order by LN_demo_fidecheck.seccion, LN_demo_fidecheck.orden, 
      LN_demo_fidecheck.porcentaje desc, LN_demo_fidecheck.nombre

  else


   select LN_demo_fidecheck.*, 
     CASE
      WHEN LN_demo_fidecheck.seccion = 'S' THEN 'Socios / Accionistas'
      WHEN LN_demo_fidecheck.seccion = 'R' THEN 'Vinculaciones / Empresas relacionadas'
      WHEN LN_demo_fidecheck.seccion = 'D' THEN 'Directivos'
     END AS nombre_seccion,
     CASE 
      WHEN LN_demo_fidecheck.fidecheck = 'N' THEN 'Negative'
      WHEN LN_demo_fidecheck.fidecheck = 'R' THEN 'Relative'
      WHEN LN_demo_fidecheck.fidecheck = 'P' THEN 'Positive'
     END AS pep,
     CASE 
      WHEN LN_demo_fidecheck.fidecheck = 'P' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
      WHEN LN_demo_fidecheck.fidecheck = 'E' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
      WHEN LN_demo_fidecheck.fidecheck = 'N' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
      ELSE NULL
     END AS estado,
    clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador,
    padrones.numero, padrones.identificacion, identificadores.abreviatura, 
    identificadores.country_code, country.country_name, 
    LN_contrapartes.id_padron, LN_contrapartes.cliente

   from LN_demo_fidecheck
   inner join LN_contrapartes on LN_demo_fidecheck.contraparte = LN_contrapartes.contraparte
   inner join clientes on LN_contrapartes.cliente = clientes.cliente
   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
   where LN_demo_fidecheck.contraparte = @p_contraparte
   and LN_demo_fidecheck.seccion = @p_seccion
   and LN_demo_fidecheck.visible = 1
   order by LN_demo_fidecheck.seccion, LN_demo_fidecheck.orden, 
      LN_demo_fidecheck.porcentaje desc, LN_demo_fidecheck.nombre


 END

 IF (@accion = 'SELECT') BEGIN

   select LN_demo_fidecheck.*, 
     CASE
      WHEN LN_demo_fidecheck.seccion = 'S' THEN 'Socios / Accionistas'
      WHEN LN_demo_fidecheck.seccion = 'R' THEN 'Vinculaciones / Empresas relacionadas'
      WHEN LN_demo_fidecheck.seccion = 'D' THEN 'Directivos'
     END AS nombre_seccion,
     CASE 
      WHEN LN_demo_fidecheck.fidecheck = 'N' THEN 'Negative'
      WHEN LN_demo_fidecheck.fidecheck = 'R' THEN 'Relative'
      WHEN LN_demo_fidecheck.fidecheck = 'P' THEN 'Positive'
     END AS pep,
     CASE 
      WHEN LN_demo_fidecheck.fidecheck = 'P' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
      WHEN LN_demo_fidecheck.fidecheck = 'E' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
      WHEN LN_demo_fidecheck.fidecheck = 'N' THEN '<svg height="20" width="20"><circle cx="10" cy="10" r="9" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
      ELSE NULL
     END AS estado,
    clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador,
    padrones.numero, padrones.identificacion, identificadores.abreviatura, 
    identificadores.country_code, country.country_name, 
    LN_contrapartes.id_padron, LN_contrapartes.cliente

   from LN_demo_fidecheck
   inner join LN_contrapartes on LN_demo_fidecheck.contraparte = LN_contrapartes.contraparte
   inner join clientes on LN_contrapartes.cliente = clientes.cliente
   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
   where LN_demo_fidecheck.id_fidecheck = @p_id

 END

 IF (@accion = 'up') BEGIN

  SELECT @ord = orden, @contraparte = contraparte FROM LN_demo_fidecheck WHERE id_fidecheck = @p_id

  if (@ord > 1 and @contraparte is not null) begin
   
   select @id = id_fidecheck 
   from LN_demo_fidecheck 
   where contraparte = @contraparte 
   and seccion = 'R'
   and orden = @ord - 1

   if (@id is not null) begin

    update LN_demo_fidecheck SET
     orden = @ord - 1
    where id_fidecheck = @p_id

    update LN_demo_fidecheck SET
     orden = @ord
    where id_fidecheck = @id

   end

  end

 END


 IF (@accion = 'down') BEGIN

  SELECT @ord = orden, @contraparte = contraparte FROM LN_demo_fidecheck WHERE id_fidecheck = @p_id

  if (@ord is not null and @contraparte is not null) begin
   
   select @id = id_fidecheck 
   from LN_demo_fidecheck 
   where contraparte = @contraparte 
   and seccion = 'R'
   and orden = @ord + 1

   if (@id is not null) begin

    update LN_demo_fidecheck SET
     orden = @ord + 1
    where id_fidecheck = @p_id

    update LN_demo_fidecheck SET
     orden = @ord
    where id_fidecheck = @id

   end

  end

 END


 IF (@accion = 'INSERT') BEGIN

  IF (@p_seccion != 'R')

   INSERT INTO LN_demo_fidecheck
   (contraparte, nombre, seccion, tax_id, nacionalidad, orden, porcentaje, tipo_relacion, cargo, fidecheck, detalle)
   VALUES
   (@p_contraparte, @p_nombre, @p_seccion, @p_tax_id, @p_nacionalidad, NULL, @p_porcentaje, @p_tipo_relacion, @p_cargo, @p_fidecheck, @p_detalle)

  ELSE BEGIN

   SELECT @ord = ISNULL(MAX(orden),0)+1 FROM LN_demo_fidecheck
   WHERE contraparte = @p_contraparte AND seccion = 'R'

   INSERT INTO LN_demo_fidecheck
   (contraparte, nombre, seccion, tax_id, nacionalidad, orden, porcentaje, tipo_relacion, cargo, fidecheck, detalle)
   VALUES
   (@p_contraparte, @p_nombre, @p_seccion, @p_tax_id, @p_nacionalidad, @ord, @p_porcentaje, @p_tipo_relacion, @p_cargo, @p_fidecheck, @p_detalle)

  END

 END

 IF (@accion = 'UPDATE') BEGIN

  UPDATE LN_demo_fidecheck SET

     contraparte = @p_contraparte,
     nombre = @p_nombre,
     seccion = @p_seccion,
     tax_id = @p_tax_id,
     nacionalidad = @p_nacionalidad,
     porcentaje = @p_porcentaje,
     tipo_relacion = @p_tipo_relacion,
     cargo = @p_cargo,
     fidecheck = @p_fidecheck,
     detalle = @p_detalle

  WHERE id_fidecheck = @p_id

 END


 IF (@accion = 'DELETE') BEGIN

  select @sec = seccion, 
    @contraparte = contraparte,
    @ord = orden
  from LN_demo_fidecheck 
  where id_fidecheck = @p_id


  if (@sec is not null AND @contraparte is not null) begin

   if (@sec != 'R')

    DELETE FROM LN_demo_fidecheck WHERE id_fidecheck = @p_id

   else begin

    if (@ord is not null) begin

     DELETE FROM LN_demo_fidecheck WHERE id_fidecheck = @p_id

     UPDATE LN_demo_fidecheck SET
      orden = orden - 1
     WHERE seccion = 'R' 
     AND contraparte = @contraparte
     AND orden > @ord
    
    end  

   end


  end

 END

 IF (@accion = 'STATUS') BEGIN

  IF (select count(*) from LN_demo_fidecheck
   where contraparte = @p_contraparte
   and fidecheck = 'P') > 0

   SELECT 'P' AS fidecheck

  ELSE

   IF (select count(*) from LN_demo_fidecheck
    where contraparte = @p_contraparte
    and fidecheck = 'E') > 0

    SELECT 'P' AS fidecheck

   ELSE

    IF (select count(*) from LN_demo_fidecheck
     where contraparte = @p_contraparte
     and fidecheck = 'N') > 0

     SELECT 'N' AS fidecheck

    ELSE

     SELECT NULL AS fidecheck


 END
 
END

GO

Used By

No items found