dbo.WS_subcontratistas_2024

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

9
Name Data Type Length Description
@w_username char 20
@w_accion char 1
@w_grupo int 4
@w_prov_cuit char 20
@w_sub_cuit char 20
@w_min int 4
@ip varchar 50
@pais_prov varchar 10
@pais_sub varchar 10

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from uso_ws_claro
update lN_contrapartes set vigencia_hasta = '2019-09-30' where contraparte = 182
select * from ln_contrapartes where contraparte = 182
select dateadd(minute,(-20),getdate())
select * from clientes where cli_codigo = 8907
exec [WS_subcontratistas] 'amx','A',null,null,null,'200'
exec [WS_subcontratistas] 'sistemas','T', 1


exec [WS_subcontratistas_agb2] 'wspelaez','S', null,'30710637527','30710637527'
exec [WS_subcontratistas] 'wspelaez','S', null,'30710637527','30710637527'
exec [WS_subcontratistas] 'wspelaez','S', null,'30561265255','30561265255'
exec [WS_subcontratistas] 'wspelaez','S', null,'30716843587','30716843587'
exec [WS_subcontratistas] 'wspelaez','S', null,'30698482253','30698482253'

exec [WS_subcontratistas_2024] 'wspelaez','S', null,'111111111','27338319539',null,null,'PY','AR'
exec [WS_subcontratistas_2024] 'wspelaez','S', null,'111111111','27338319539',null,null,'PY','PY'
exec [WS_subcontratistas_2024] 'wspelaez','S', null,'111111111','27338319539',null,null,'AR','PY'




exec [WS_subcontratistas_2024] 'wspelaez','T', 1,null,null,null,null,'UY',null



"usuario" => 'wspelaez',

"password" => 'AmxIngreso#ws',
"cuit_contratista" => '30710637527',
"cuit_subcontratista" => '30710637527'



select * from users where username = 'r6080'
select * from clientes where cli_codigo = 70756
select * from Uso_WS_Claro
*/


CREATE OR ALTER PROCEDUREdbo.WS_subcontratistas_2024

/* 18/06/2020: 
Trae las execpciones de la contraparte que estamos viendo 
o la cargada en otra contraparte de ese id_padron, cliente,
ya que en el sistema viejo las excepciones eran al CUIT, 
sin importar de cuantos contratistas era subcontratista */


@w_username char(20),
@w_accion   char(1), --> T=Todos, S=Subcontratista/Contratista, A=Actualizados
--> 'T'
@w_grupo integer = null,      --> devuelve todos los subcontratistas vigentes de un nro de grupo (de 50 registros) 
         --  (1=los registros 1 a 50, 2=los registros del 51 al 100....)
--> 'S'
@w_prov_cuit char(20) = null, --> prov_cuit no nulo y sub_cuit nulo, todos los subcontratistas vigentes de una contraparte
@w_sub_cuit char(20) = null,   --> prov_cuit nulo y sub_cuit no nulo, todos las contrapartes/subcontratista donde aparece vigente el subcontratista
         --> prov_cuit no nulo y sub_cuit no nulo, los datos de esa contraparte/subcontratista vigente
--> 'A'
@w_min int = null --> si se piden los actualizados desde hace cuantos minutos
,@ip varchar(50) = null ,
@pais_prov varchar(10) = null,
@pais_sub  varchar(10) = null
AS
BEGIN
--Del Proveedor-Contratista Directo:
--1. Razón Social / Apellido y Nombre del Proveedor-Contratista Directo.
--2. CUIT del Proveedor-Contratista Directo.
--3. LED (Puntaje de Score)
--4. Aprobado por Excepcion
--5. Nivel de Riesgo (Aprobado para Operar / No Aprobado para Operar)
--6. Area para donde trabaja el Proveedor-Contratista Directo (NULO)
--Del Subcontratista vinculado al Proveedor-Contratista Directo:
--1. Razón Social / Apellido y Nombre del Subcontratista.
--2. CUIT del Subcontratista
--3. Tipo de Subcontratista: Servicio o Material.
--4. Estado del Subcontratista: Si esta Aprobado, Desaprobado o en Gesti¢n.
--5. Aprobado por Excepcion.
--6. Vigencia: Desde / Hasta.

 declare @Respuesta  table ( nro_registro integer, 
                             nombre_contratista varchar(200),                                                    
        cuit_contratista varchar(20), 
        led varchar(10), 
        nivel_de_riesgo varchar(100), 
        excepcion_contratista varchar(100),                                                                                                 
        areas varchar(100),                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
        nombre_subcontratista varchar(200),                           
        cuit_subcontratista varchar(20), 
        tipo varchar(100),                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
        score_subcontratista varchar(100), 
        excepcion_subcontratista varchar(100),                                                                                                   
        vigencia_desde date, 
        vigencia_hasta date) 
 declare @W_cli_codigo            integer      = null
 declare @WS_contraparte          integer      = null
 declare @WS_padre                integer      = null
 declare @WS_prov_cuit            varchar(13)  = null
 declare @WS_prov_nombre          varchar(250)  = null
 declare @WS_sub_nombre           varchar(70)  = null
 declare @WS_sub_cuit             varchar(13)  = null 
 declare @WS_sub_tipo             varchar(100) = null
 declare @WS_fecha_desde          date         = null
 declare @WS_fecha_hasta          date         = null
 declare @WS_score_fide           varchar(20)  = null
 declare @WS_score_etico          varchar(20)  = null
 declare @WS_score_calidad        varchar(20)  = null
 declare @WS_homologacion         varchar(25)  = null
 declare @W_Tipo_Empresa          CHAR(10)   = null
 declare @WS_Tipo  varchar(70) = null
 declare @WS_Score  varchar(20) = null
 declare @W_Area      CHAR(2000) = null
 declare @W_Excepcion_padre CHAR(100)  = null
 declare @W_Excepcion_Sub CHAR(100) = null
 declare @W_Total INTEGER = null
 declare @w_desde INTEGER = null, @w_hasta INTEGER = null
 declare @cont_sub varchar(20)
 declare @minutos datetime = dateadd(minute, (@w_min*(-1)), getdate())


 if ltrim(trim(@pais_prov)) = '' set @pais_prov  = null
 if ltrim(trim(@pais_sub))  = '' set @pais_sub  = null

 set @W_Cli_Codigo = 0
    select distinct top 1 @W_Cli_Codigo = usuarios_productos.cliente 
     from users 
     left join usuarios_productos on usuarios_productos.user_id = users.user_id
    where users.username = @w_Username
  and usuarios_productos.id_producto in (select producto from productos where sigla in ('LN','LCS'))
  and users.active_user = 'Y'
  and usuarios_productos.activo = 1

 if (@w_accion = 'A') 
 begin
  set @w_prov_cuit = 'Actual 21'
  set @w_sub_cuit = '0'
 end 

 if (@w_accion = 'T') 
 begin
  set @w_prov_cuit = 'Todos'
  set @w_sub_cuit =  @w_grupo
 end 

 insert into Uso_WS_Claro VALUES (getdate(), @w_username, @w_prov_cuit, @W_sub_cuit,@ip)

 if (@W_cli_codigo = 0)
 begin
  SELECT '1' as nro_registro, 
  'CLIENTE NO AUTORIZADO A USAR ESTE SERVICIO' as nombre_contratista,                                              
  '' as cuit_contratista,
  '' as led, 
  '' as nivel_de_riesgo,
  '' as excepcion_contratista,                                                                                               
  '' as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  'CLIENTE NO AUTORIZADO A USAR ESTE SERVICIO' as nombre_subcontratista,                         
  '' as cuit_subcontratista,
  '' as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  '' as score_subcontratista,
  '' as excepcion_subcontratista,                                                                                           
  '' as vigencia_desde,
  '' as vigencia_hasta 
  return 
 end 

SET @W_Total = 0

if (@w_accion = 'S') 

begin 
 select @w_prov_cuit = (ltrim(rtrim(fidelitas.dbo.fn_StripCharacters(@w_prov_cuit, '^a-z0-9'))))
 select @w_sub_cuit  = (ltrim(rtrim(fidelitas.dbo.fn_StripCharacters(@w_sub_cuit, '^a-z0-9'))))
 
 if (@w_prov_cuit = '') set @w_prov_cuit = null
 if (@w_sub_cuit = '')  set @w_sub_cuit  = null

 
 SET @W_desde = 1
 SET @W_hasta = 9999999
 if (@w_prov_cuit is null and @w_sub_cuit is null)
 begin
  SELECT '1' as nro_registro, 
  'NO ES CONTRATISTA' as nombre_contratista,                                              
  '' as cuit_contratista,
  '' as led, 
  '' as nivel_de_riesgo,
  '' as excepcion_contratista,                                                                                               
  '' as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  'NO ES SUBCONTRATISTA' as nombre_subcontratista,                         
  '' as cuit_subcontratista,
  '' as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  '' as score_subcontratista,
  '' as excepcion_subcontratista,                                                                                           
  '' as vigencia_desde,
  '' as vigencia_hasta 
  return 
 end 
 if (@w_prov_cuit is null and @w_sub_cuit is not null) --> un subcontratista en todos los contratistas que aparece
 begin
  DECLARE Subcontratistas CURSOR FOR
  SELECT 'subcontratista', 
      ln_contrapartes.contraparte, 
      ln_contrapartes.id_padre, 
      padre.identificacion, 
      padre.nombre_persona, 
      subc.identificacion, 
      subc.nombre_persona, 
      ln_familias.nombre_familia, 
      ln_contrapartes.vigencia_desde, 
      ln_contrapartes.vigencia_hasta

    FROM LN_contrapartes 
    inner join LN_gestiones      on LN_gestiones.contraparte = ln_contrapartes.contraparte
    inner join ln_contrapartes b on b.contraparte = LN_contrapartes.id_padre
    inner join LN_gestiones c    on c.contraparte = b.contraparte
    inner join padrones subc     on subc.id_padron = ln_contrapartes.id_padron 
    inner join padrones padre    on padre.id_padron = b.id_padron 

    
    inner join identificadores subc_id     on subc_id.identificador  = subc.identificador 

    inner join LN_contraparte_familias f on f.contraparte = LN_contrapartes.contraparte

    inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.id_padre and f2.familia not in (189,195))

    inner join ln_familias       on ln_familias.familia = f.familia

    WHERE LN_contrapartes.cliente = @W_Cli_Codigo
   AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
   AND getdate() BETWEEN LN_contrapartes.vigencia_desde AND LN_contrapartes.vigencia_hasta
   AND LN_contrapartes.subcontratista = 1 
   AND LN_gestiones.vigente in (1)
   AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10

   AND b.activo = 1 and b.servicio_contratado=47 
   AND c.vigente = 1 
   AND c.desde <= getdate() AND c.hasta >= getdate() 
   AND subc.identificacion = @w_sub_cuit 
   --and iif(@pais_sub is not null,iif(@pais_sub=subc_id.country_code,1,0),1) = 1
   and iif(@pais_prov is not null,iif(@pais_prov=b.pais_servicio,1,0),1) = 1

   and b.id_padron != ln_contrapartes.id_padron 
 
  union 

  SELECT 'contratista',
      ln_contrapartes.contraparte, 
      ln_contrapartes.contraparte, 
      padre.identificacion, 
      padre.nombre_persona, 
      padre.identificacion, 
      padre.nombre_persona, 
      'contratista' as nombre_familia, 
     --(select top 1 nombre_familia from ln_familias where cliente = @w_cli_codigo and subfamilia = 1 order by len(nombre_familia) desc) as nombre_familia, 
      ln_gestiones.desde, 
      ln_gestiones.hasta

    FROM LN_contrapartes 
    inner join LN_gestiones on LN_gestiones.contraparte = ln_contrapartes.contraparte
    inner join padrones padre on padre.id_padron = LN_contrapartes.id_padron  
    inner join identificadores subc_id     on subc_id.identificador  = padre.identificador 


    inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.contraparte and f2.familia not in (189,195))

    WHERE LN_contrapartes.cliente = @W_Cli_Codigo
   AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
   AND LN_contrapartes.subcontratista = 0
   AND LN_gestiones.vigente in (1)
   AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
   AND padre.identificacion = @w_sub_cuit
   --and iif(@pais_sub is not null,iif(@pais_sub=subc_id.country_code,1,0),1) = 1
   and iif(@pais_prov is not null,iif(@pais_prov=LN_contrapartes.pais_servicio,1,0),1) = 1



   order by 4,6

 end     

 if (@w_prov_cuit is not null and @w_sub_cuit is null) --> todos los subcontratistas de un contratista
 begin 

  DECLARE Subcontratistas CURSOR FOR
  SELECT 'subcontratista', 
      ln_contrapartes.contraparte, 
      ln_contrapartes.id_padre, 
      padre.identificacion, 
      padre.nombre_persona, 
      subc.identificacion, 
      subc.nombre_persona, 
      ln_familias.nombre_familia, 
      ln_contrapartes.vigencia_desde, 
      ln_contrapartes.vigencia_hasta

    FROM LN_contrapartes 
    inner join LN_gestiones      on LN_gestiones.contraparte = ln_contrapartes.contraparte
    inner join ln_contrapartes b on b.contraparte = LN_contrapartes.id_padre
    inner join LN_gestiones c    on c.contraparte = b.contraparte
    inner join padrones subc     on subc.id_padron = ln_contrapartes.id_padron 
    inner join padrones padre    on padre.id_padron = b.id_padron 

    inner join identificadores padre_id    on padre_id.identificador = padre.identificador

    inner join LN_contraparte_familias f on f.contraparte = LN_contrapartes.contraparte
    
    inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.id_padre and f2.familia not in (189,195))


    inner join ln_familias       on ln_familias.familia = f.familia

    WHERE LN_contrapartes.cliente = @W_Cli_Codigo
   AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
   AND getdate() BETWEEN LN_contrapartes.vigencia_desde AND LN_contrapartes.vigencia_hasta
   AND LN_contrapartes.subcontratista = 1 
   AND LN_gestiones.vigente  in (1)
   AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10

   AND b.activo = 1  and b.servicio_contratado=47
   AND c.vigente = 1 
   AND c.desde <= getdate() AND c.hasta >= getdate() 
   AND padre.identificacion = @w_prov_cuit 
   and b.id_padron != ln_contrapartes.id_padron 
   --and iif(@pais_prov is not null,iif(@pais_prov=padre_id.country_code,1,0),1) = 1
   and iif(@pais_prov is not null,iif(@pais_prov=b.pais_servicio,1,0),1) = 1


 
  union 

  SELECT 'contratista',
      ln_contrapartes.contraparte, 
      ln_contrapartes.contraparte, 
      padre.identificacion, 
      padre.nombre_persona, 
      padre.identificacion, 
      padre.nombre_persona, 
      'contratista' as nombre_familia, 
     --(select top 1 nombre_familia from ln_familias where cliente = @w_cli_codigo and subfamilia = 1 order by len(nombre_familia) desc) as nombre_familia, 
      ln_gestiones.desde, 
      ln_gestiones.hasta

    FROM LN_contrapartes 
    inner join LN_gestiones on LN_gestiones.contraparte = ln_contrapartes.contraparte
    inner join padrones padre on padre.id_padron = LN_contrapartes.id_padron 
    inner join identificadores padre_id    on padre_id.identificador = padre.identificador

    inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.contraparte and f2.familia not in (189,195))

    WHERE LN_contrapartes.cliente = @W_Cli_Codigo
   AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
   AND LN_contrapartes.subcontratista = 0
   AND LN_gestiones.vigente  in (1)
   AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
   AND padre.identificacion = @w_prov_cuit
   --and iif(@pais_prov is not null,iif(@pais_prov=padre_id.country_code,1,0),1) = 1
   and iif(@pais_prov is not null,iif(@pais_prov=LN_contrapartes.pais_servicio,1,0),1) = 1


   order by 4,6
 end 

 if (@w_prov_cuit is not null and @w_sub_cuit is not null) --> un contratista/subcontratista

/*select @w_prov_cuit,@w_sub_cuit, @W_Cli_Codigo as AA*/
 begin
  DECLARE Subcontratistas CURSOR FOR
  SELECT 'subcontratista', 
      ln_contrapartes.contraparte, 
      ln_contrapartes.id_padre, 
      padre.identificacion, 
      padre.nombre_persona, 
      subc.identificacion, 
      subc.nombre_persona, 
      ln_familias.nombre_familia, 
      ln_contrapartes.vigencia_desde, 
      ln_contrapartes.vigencia_hasta

    FROM LN_contrapartes 
    inner join LN_gestiones      on LN_gestiones.contraparte = ln_contrapartes.contraparte
    inner join ln_contrapartes b on b.contraparte = LN_contrapartes.id_padre
    inner join LN_gestiones c    on c.contraparte = b.contraparte
    inner join padrones subc     on subc.id_padron = ln_contrapartes.id_padron 
    inner join padrones padre    on padre.id_padron = b.id_padron 

    inner join identificadores subc_id     on subc_id.identificador  = subc.identificador 
    inner join identificadores padre_id    on padre_id.identificador = padre.identificador

    inner join LN_contraparte_familias f on f.contraparte = LN_contrapartes.contraparte

    inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.id_padre and f2.familia not in (189,195))


    inner join ln_familias       on ln_familias.familia = f.familia

    WHERE LN_contrapartes.cliente = @W_Cli_Codigo
   AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
   AND getdate() BETWEEN LN_contrapartes.vigencia_desde AND LN_contrapartes.vigencia_hasta
   AND LN_contrapartes.subcontratista = 1 
   AND LN_gestiones.vigente  in (1)
   AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10

   AND b.activo = 1  and b.servicio_contratado=47
   AND c.vigente = 1 
   AND c.desde <= getdate() AND c.hasta >= getdate() 
   AND padre.identificacion = @w_prov_cuit
   
   --and iif(@pais_prov is not null,iif(@pais_prov=padre_id.country_code,1,0),1) = 1
   and iif(@pais_prov is not null,iif(@pais_prov=b.pais_servicio,1,0),1) = 1

   AND subc.identificacion = @w_sub_cuit 
   --and iif(@pais_sub is not null,iif(@pais_sub=subc_id.country_code,1,0),1) = 1
   
   and b.id_padron != ln_contrapartes.id_padron 
    
 
  union 

  SELECT 'contratista',
      ln_contrapartes.contraparte, 
      ln_contrapartes.contraparte, 
      padre.identificacion, 
      padre.nombre_persona, 
      padre.identificacion, 
      padre.nombre_persona, 
      'contratista' as nombre_familia, 
     --(select top 1 nombre_familia from ln_familias where cliente = @w_cli_codigo and subfamilia = 1 order by len(nombre_familia) desc) as nombre_familia, 
      ln_gestiones.desde, 
      ln_gestiones.hasta

    FROM LN_contrapartes 
    inner join LN_gestiones on LN_gestiones.contraparte = ln_contrapartes.contraparte
    inner join padrones padre on padre.id_padron = LN_contrapartes.id_padron 
    inner join identificadores padre_id    on padre_id.identificador = padre.identificador


    inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.contraparte and f2.familia not in (189,195))


    WHERE LN_contrapartes.cliente = @W_Cli_Codigo
   AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
   AND LN_contrapartes.subcontratista = 0
   AND LN_gestiones.vigente  in (1)
   AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
   AND padre.identificacion = @w_prov_cuit
   --and iif(@pais_prov is not null,iif(@pais_prov=padre_id.country_code,1,0),1) = 1
   and iif(@pais_prov is not null,iif(@pais_prov=ln_contrapartes.pais_servicio,1,0),1) = 1


   -- Traigo siempre los datos del contratista, para poder mostrarlos en caso que No exista el subcontratista
   order by 4,6
 end 
end 

if (@w_accion = 'T') --> vamos por todos o un grupo
begin  
  set @w_prov_cuit = null
  set @w_sub_cuit =  null
  if (@w_grupo = 0) set @w_grupo = null
  IF @W_Grupo IS NULL 
   begin 
   SET @W_desde = 1
   SET @W_hasta = 9999999
   end 
  ELSE
   begin
   SET @W_hasta = @W_Grupo * 50
   SET @W_desde = @W_hasta - 49
   end 

  DECLARE Subcontratistas CURSOR FOR
   SELECT 'subcontratista', 
       ln_contrapartes.contraparte, 
       ln_contrapartes.id_padre, 
       padre.identificacion, 
       padre.nombre_persona, 
       subc.identificacion, 
       subc.nombre_persona, 
       ln_familias.nombre_familia, 
       ln_contrapartes.vigencia_desde, 
       ln_contrapartes.vigencia_hasta

     FROM LN_contrapartes 
     inner join LN_gestiones      on LN_gestiones.contraparte = ln_contrapartes.contraparte
     inner join ln_contrapartes b on b.contraparte = LN_contrapartes.id_padre
     inner join LN_gestiones c    on c.contraparte = b.contraparte
     inner join padrones subc     on subc.id_padron = ln_contrapartes.id_padron 
     inner join padrones padre    on padre.id_padron = b.id_padron 


    inner join identificadores padre_id  on padre_id.identificador  = padre.identificador 




     inner join LN_contraparte_familias f on f.contraparte = LN_contrapartes.contraparte
     inner join ln_familias       on ln_familias.familia = f.familia

     inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.id_padre and f2.familia not in (189,195))


     WHERE LN_contrapartes.cliente = @W_Cli_Codigo
    AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
    AND getdate() BETWEEN LN_contrapartes.vigencia_desde AND LN_contrapartes.vigencia_hasta
    AND LN_contrapartes.subcontratista = 1 
    AND LN_gestiones.vigente  in (1)
    AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10

    AND b.activo = 1  and b.servicio_contratado=47
    AND c.vigente = 1 
    AND c.desde <= getdate() AND c.hasta >= getdate()   

    and b.id_padron != ln_contrapartes.id_padron 


    --and iif(@pais_prov is not null,iif(@pais_prov=padre_id.country_code,1,0),1) = 1
    and iif(@pais_prov is not null,iif(@pais_prov=b.pais_servicio,1,0),1) = 1




 
   union 

   SELECT 'contratista',
       ln_contrapartes.contraparte, 
       ln_contrapartes.contraparte, 
       padre.identificacion, 
       padre.nombre_persona, 
       padre.identificacion, 
       padre.nombre_persona, 
       'contratista' as nombre_familia, 
      --(select top 1 nombre_familia from ln_familias where cliente = @w_cli_codigo and subfamilia = 1 order by len(nombre_familia) desc) as nombre_familia, 
       ln_gestiones.desde, 
       ln_gestiones.hasta

     FROM LN_contrapartes 
     inner join LN_gestiones on LN_gestiones.contraparte = ln_contrapartes.contraparte
     inner join padrones padre on padre.id_padron = LN_contrapartes.id_padron 

     inner join identificadores padre_id     on padre_id.identificador  = padre.identificador 


     inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.contraparte and f2.familia not in (189,195))

     WHERE LN_contrapartes.cliente = @W_Cli_Codigo
    AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
    AND LN_contrapartes.subcontratista = 0
    AND LN_gestiones.vigente  in (1)
    AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10

    
    --and iif(@pais_prov is not null,iif(@pais_prov=padre_id.country_code,1,0),1) = 1
    and iif(@pais_prov is not null,iif(@pais_prov=LN_contrapartes.pais_servicio,1,0),1) = 1


    order by 4,6
 end 

if (@w_accion = 'A') --> vamos por todos o un grupo
begin
  set @w_prov_cuit = null
  set @w_sub_cuit =  null
  SET @W_desde = 1
  SET @W_hasta = 9999999

  DECLARE Subcontratistas CURSOR FOR

   SELECT 'subcontratista', 
       ln_contrapartes.contraparte, 
       ln_contrapartes.id_padre, 
       padre.identificacion, 
       padre.nombre_persona, 
       subc.identificacion, 
       subc.nombre_persona, 
       ln_familias.nombre_familia, 
       ln_contrapartes.vigencia_desde, 
       ln_contrapartes.vigencia_hasta

     FROM LN_contrapartes 
     inner join LN_gestiones      on LN_gestiones.contraparte = ln_contrapartes.contraparte
     inner join ln_contrapartes b on b.contraparte = LN_contrapartes.id_padre
     inner join LN_gestiones c    on c.contraparte = b.contraparte
     inner join padrones subc     on subc.id_padron = ln_contrapartes.id_padron 
     inner join padrones padre    on padre.id_padron = b.id_padron 
     inner join LN_contraparte_familias f on f.contraparte = LN_contrapartes.contraparte

     inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.id_padre and f2.familia not in (189,195))


     inner join ln_familias       on ln_familias.familia = f.familia
     left join LN_excepciones e   on --e.contraparte = ln_contrapartes.contraparte 
                                     (e.contraparte = ln_contrapartes.contraparte or 
              (isnull(e.cliente,0) = LN_contrapartes.cliente and 
               isnull(e.id_padron,0) = LN_contrapartes.id_padron))
     left join LN_excepciones be  on --be.contraparte = b.contraparte 
            (be.contraparte = b.contraparte or 
              (isnull(be.cliente,0) = b.cliente and 
               isnull(be.id_padron,0) = b.id_padron))

     WHERE LN_contrapartes.cliente = @W_cli_codigo
    AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
    AND getdate() BETWEEN LN_contrapartes.vigencia_desde AND LN_contrapartes.vigencia_hasta
    AND LN_contrapartes.subcontratista = 1 
    AND LN_gestiones.vigente  in (1)
    AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10

    AND b.activo = 1  and b.servicio_contratado=47
    AND c.vigente = 1 
    AND c.desde <= getdate() AND c.hasta >= getdate() 
    AND (ln_contrapartes.created >= @minutos or ln_contrapartes.modified >= @minutos or
      e.created >= @minutos or e.modified >= @minutos or
      be.created >= @minutos or be.modified >= @minutos) 
      
    and b.id_padron != ln_contrapartes.id_padron 
           
 
   union 

   SELECT 'contratista',
       ln_contrapartes.contraparte, 
       ln_contrapartes.contraparte, 
       padre.identificacion, 
       padre.nombre_persona, 
       padre.identificacion, 
       padre.nombre_persona, 
       'contratista' as nombre_familia, 
      --(select top 1 nombre_familia from ln_familias where cliente = @w_cli_codigo and subfamilia = 1 order by len(nombre_familia) desc) as nombre_familia, 
       ln_gestiones.desde, 
       ln_gestiones.hasta

     FROM LN_contrapartes 
     inner join LN_gestiones on LN_gestiones.contraparte = ln_contrapartes.contraparte
     inner join padrones padre on padre.id_padron = LN_contrapartes.id_padron 
     left join LN_excepciones e on (e.contraparte = ln_contrapartes.contraparte or 
            (isnull(e.cliente,0) = LN_contrapartes.cliente and 
             isnull(e.id_padron,0) = LN_contrapartes.id_padron))

   inner join LN_contraparte_familias f2 on (f2.contraparte = LN_contrapartes.contraparte and f2.familia not in (189,195))

   
     WHERE LN_contrapartes.cliente = @W_Cli_Codigo
    AND LN_contrapartes.activo = 1 AND LN_contrapartes.servicio_contratado = 47
    AND LN_contrapartes.subcontratista = 0
    AND LN_gestiones.vigente  in (1)
    AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
    AND (ln_contrapartes.created >= @minutos or ln_contrapartes.modified >= @minutos or
      e.created >= @minutos or e.modified >= @minutos) 

    order by 4,6
end 
 


 OPEN Subcontratistas 
 FETCH NEXT FROM Subcontratistas into @cont_sub, 
           @WS_contraparte, 
           @WS_padre, 
           @WS_prov_cuit,
           @ws_prov_nombre, 
           @WS_sub_cuit, 
           @WS_sub_nombre, 
           @WS_sub_tipo,
           @WS_fecha_desde,
           @WS_fecha_hasta

 WHILE @@FETCH_STATUS = 0 
 begin
 
   SET @W_Total = @W_Total + 1
   IF @W_Total < @W_desde 
   begin
    FETCH NEXT FROM Subcontratistas into @cont_sub, 
           @WS_contraparte, 
           @WS_padre, 
           @WS_prov_cuit,
           @ws_prov_nombre, 
           @WS_sub_cuit, 
           @WS_sub_nombre, 
           @WS_sub_tipo,
           @WS_fecha_desde,
           @WS_fecha_hasta
      CONTINUE
   end 
 
   IF @W_Total >  @W_hasta
      BREAK
 

   SET @WS_Score_etico  = NULL
   SET @WS_Score_calidad= NULL
   SET @WS_Score_Fide   = NULL
   SET @WS_homologacion = NULL 
   SET @W_excepcion_padre = NULL
   SET @W_excepcion_sub = NULL
   /*
    select @WS_Score_Fide  = case valor_numerico when 1 then 'APROBADO' else 'DESAPROBADO' end
      from ln_contraparte_indicadores 
     where contraparte = @ws_contraparte 
       and indicador = (select indicador from ln_indicadores where clave_indicador = 'CTRL_COMERCIAL')
   
    select @WS_Score_etico   = case valor_numerico when 1 then 'APROBADO' else 'DESAPROBADO' end 
      from ln_contraparte_indicadores 
     where contraparte = @ws_contraparte 
       and indicador = (select indicador from ln_indicadores where clave_indicador = 'CTRL_CALIDAD')
   
    select @WS_Score_calidad = case valor_numerico when 1 then 'APROBADO' else 'DESAPROBADO' end
      from ln_contraparte_indicadores 
     where contraparte = @ws_contraparte 
       and indicador = (select indicador from ln_indicadores where clave_indicador = 'CTRL_ETICO')
        */


   select @WS_homologacion = case valor_numerico when 1 then 'APROBADO' else 'DESAPROBADO' end
      from ln_contraparte_indicadores 
      inner join ln_gestiones on ln_gestiones.contraparte = ln_contraparte_indicadores.contraparte
     where ln_contraparte_indicadores.contraparte = @ws_contraparte 
       and ln_contraparte_indicadores.indicador = (select indicador from ln_indicadores where clave_indicador = 'HOMOLOG')
       and ln_contraparte_indicadores.visible = 1 
      AND LN_gestiones.vigente IN (1)
         AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
      and ln_contraparte_indicadores.gestion = ln_gestiones.gestion 
   if @WS_homologacion = 'APROBADO'
   begin 
    /* 05/12/2023: Agregado el control de los documentos del subcontratista */
    declare @doc_vencida int = 0
    declare @doc_pendiente int = 0
    if (@cont_sub = 'subcontratista')
    begin
     select @doc_vencida = count(*) 
     from ln_docs 
     inner join ln_gestiones on ln_gestiones.contraparte = ln_docs.contraparte
     where ln_docs.contraparte = @ws_contraparte and aplica = 1 
      AND LN_gestiones.vigente = 1
      AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()
      AND ln_docs.estado_doc not in('V')
      AND ln_docs.vencimiento_carga <= getdate() 
   
     select @doc_pendiente = count(*) 
     from ln_docs 
     inner join ln_gestiones on ln_gestiones.contraparte = ln_docs.contraparte
     where ln_docs.contraparte = @ws_contraparte and aplica = 1 
      AND LN_gestiones.vigente = 1 
      AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()
      AND ln_docs.estado_doc not in('V')
      AND ln_docs.vencimiento_carga > getdate()

     if (@doc_pendiente > 0) 
     begin
      set @WS_homologacion = 'DOCUMENTACION PENDIENTE'
     end

     if (@doc_vencida > 0) 
     begin
      set @WS_homologacion = 'DESAPROBADO DOC NO PRESENTADA'
     end
    end
   end 
   /**/
   /* lo pasamos arriba, porque primero tiene que ver si esta Desaprobado
    Si esta desaprobado, gana al documentacion pendiente o vencida 
    if (@doc_pendiente = 0 and @doc_vencida = 0) 
    begin
    select @WS_homologacion = case valor_numerico when 1 then 'APROBADO' else 'DESAPROBADO' end
      from ln_contraparte_indicadores 
      inner join ln_gestiones on ln_gestiones.contraparte = ln_contraparte_indicadores.contraparte
     where ln_contraparte_indicadores.contraparte = @ws_contraparte 
       and ln_contraparte_indicadores.indicador = (select indicador from ln_indicadores where clave_indicador = 'HOMOLOG')
       and ln_contraparte_indicadores.visible = 1 
      AND LN_gestiones.vigente IN (1)
          AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
      and ln_contraparte_indicadores.gestion = ln_gestiones.gestion 
    end 
    */


   select @WS_Score = convert(int, valor_numerico )
      from ln_contraparte_indicadores 
     inner join ln_gestiones on ln_gestiones.contraparte = ln_contraparte_indicadores.contraparte
     where ln_contraparte_indicadores.contraparte = @WS_padre
       and ln_contraparte_indicadores.indicador = (select indicador from ln_indicadores where clave_indicador = 'SCORE_FINAL')
       and ln_contraparte_indicadores.visible = 1
       AND LN_gestiones.vigente IN (1)
          AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
       and ln_contraparte_indicadores.gestion = ln_gestiones.gestion
  --select @WS_Score as score
   if (@WS_Score < -100 or @WS_Score is null) 
   select @WS_Score = convert(int, valor_numerico )
      from ln_contraparte_indicadores 
     inner join ln_gestiones on ln_gestiones.contraparte = ln_contraparte_indicadores.contraparte
     where ln_contraparte_indicadores.contraparte = @WS_padre
       and ln_contraparte_indicadores.indicador = (select indicador from ln_indicadores where clave_indicador = 'VALOR_FINAL_ANTERIOR')
       and ln_contraparte_indicadores.visible = 1
       AND LN_gestiones.vigente  IN (1)
          AND LN_gestiones.desde <= getdate() AND LN_gestiones.hasta >= getdate()-10
       and ln_contraparte_indicadores.gestion = ln_gestiones.gestion
      declare @WS_Score_texto varchar(100) = null
   select @WS_Score_texto = texto_largo from LN_cliente_nivel 
                          where cliente = @w_cli_codigo
          and LN_cliente_nivel.desde <= @WS_Score
             and LN_cliente_nivel.hasta > @WS_Score

   select @W_excepcion_padre =  iif (ln_excepciones.tipo_excepcion = 'V', 'APROBADO POR EXCEPCION', 
                                     iif(ln_excepciones.tipo_excepcion = 'R', 'RECHAZADO POR EXCEPCION', 'SIN EXCEPCION'))
             from LN_contrapartes 
          inner join LN_excepciones on (LN_excepciones.contraparte = LN_contrapartes.contraparte or
                                        (isnull(LN_excepciones.cliente,0) = LN_contrapartes.cliente and 
                    isnull(LN_excepciones.id_padron,0) = LN_contrapartes.id_padron))
          where LN_contrapartes.contraparte = @WS_padre
          and LN_excepciones.estado = 1
          and LN_excepciones.vigencia >= GETDATE()
          order by ln_excepciones.created desc 

   select @W_excepcion_sub =  iif (ln_excepciones.tipo_excepcion = 'V', 'APROBADO POR EXCEPCION', 
                                   iif(ln_excepciones.tipo_excepcion = 'R', 'RECHAZADO POR EXCEPCION', 'SIN EXCEPCION'))
             from LN_contrapartes 
          inner join LN_excepciones on (LN_excepciones.contraparte = LN_contrapartes.contraparte or
                                        (isnull(LN_excepciones.cliente,0) = LN_contrapartes.cliente and 
                    isnull(LN_excepciones.id_padron,0) = LN_contrapartes.id_padron))
          where LN_contrapartes.contraparte = @WS_contraparte
          and LN_excepciones.estado = 1
          and LN_excepciones.vigencia >= GETDATE()
          order by ln_excepciones.created desc 

         IF @cont_sub = 'subcontratista' and @WS_homologacion IS NULL
   begin 
      SET @WS_homologacion = 'GESTION'
      if @w_excepcion_sub IS NOT NULL 
         set @W_Excepcion_Sub = null
   end 
   
   insert into @respuesta values ( @W_total, 
          rtrim(@ws_prov_nombre), 
          rtrim(@WS_prov_cuit), 
          @ws_score, 
          rtrim(@WS_Score_texto), 
          rtrim(@W_Excepcion_padre), 
          null, 
          rtrim(@WS_sub_nombre), 
          rtrim(@WS_sub_cuit), 
          rtrim(@WS_sub_tipo),
          rtrim(@WS_homologacion), 
          rtrim(@W_Excepcion_sub), 
          @WS_fecha_desde,
          @WS_fecha_hasta) 
   FETCH NEXT FROM Subcontratistas into @cont_sub, 
          @WS_contraparte, 
          @WS_padre, 
          @WS_prov_cuit,
          @ws_prov_nombre, 
          @WS_sub_cuit, 
          @WS_sub_nombre, 
          @WS_sub_tipo,
          @WS_fecha_desde,
          @WS_fecha_hasta
      
 end
 Close Subcontratistas
 Deallocate Subcontratistas

if (@w_accion = 'S') 
begin     
 if (@w_prov_cuit is not null and @w_sub_cuit is not null) --> un contratista/subcontratista
 begin
   if exists (select * from @Respuesta where cuit_contratista = @w_prov_cuit and cuit_subcontratista = @w_sub_cuit) 
     SELECT  '1' as nro_registro, upper(isnull(nombre_contratista,'')) as nombre_contratista,                                              
       isnull(cuit_contratista,'') cuit_contratista,
       IIF(isnull(led,'')<0,'0',isnull(led,'')) as led, 
       upper(isnull(nivel_de_riesgo,'')) as nivel_de_riesgo,
       upper(isnull(excepcion_contratista,'')) as excepcion_contratista,                                                                                               
       isnull(areas,'') as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
       upper(isnull(nombre_subcontratista,'')) as nombre_subcontratista,                         
       isnull(cuit_subcontratista,'') as cuit_subcontratista,
       upper(isnull(tipo,'')) as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
       upper(isnull(score_subcontratista,'')) as score_subcontratista,
       upper(isnull(excepcion_subcontratista,'')) as excepcion_subcontratista,                                                                                           
       isnull(convert(varchar,vigencia_desde,103),'') as vigencia_desde,
       isnull(convert(varchar,vigencia_hasta,103),'') as vigencia_hasta 
       FROM @Respuesta 
      where cuit_contratista = @w_prov_cuit 
        and cuit_subcontratista = @w_sub_cuit
      

   if not exists (select * from @Respuesta where cuit_contratista = @w_prov_cuit)
     SELECT '1' as nro_registro, 'NO ES CONTRATISTA' as nombre_contratista,                                              
      rtrim(@w_prov_cuit) as cuit_contratista,
      '' as led, 
      '' as nivel_de_riesgo,
      '' as excepcion_contratista,                                                                                               
      '' as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      '' as nombre_subcontratista,                         
      '' as cuit_subcontratista,
      '' as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      '' as score_subcontratista,
      '' as excepcion_subcontratista,                                                                                           
      '' as vigencia_desde,
      '' as vigencia_hasta 


   if not exists (select * from @Respuesta where cuit_subcontratista = @w_sub_cuit)
      and exists (select * from @Respuesta where cuit_contratista = @w_prov_cuit)
   
      SELECT '1' as nro_registro, upper(isnull(nombre_contratista,'')) as nombre_contratista,                                              
       isnull(cuit_contratista,'') cuit_contratista,
       IIF(isnull(led,'')<0,0,isnull(led,'')) as led, 
       upper(isnull(nivel_de_riesgo,'')) as nivel_de_riesgo,
       upper(isnull(excepcion_contratista,'')) as excepcion_contratista,                                                                                               
       isnull(areas,'') as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
       'NO ES SUBCONTRATISTA' as nombre_subcontratista,                         
       rtrim(@w_sub_cuit) as cuit_subcontratista,
       '' as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
       '' as score_subcontratista,
       '' as excepcion_subcontratista,                                                                                           
       '' as vigencia_desde,
       '' as vigencia_hasta 
        FROM @Respuesta 
       where cuit_contratista    = @w_prov_cuit 
      and cuit_subcontratista = @w_prov_cuit

 end 

 if (@w_prov_cuit is not null and @w_sub_cuit is null) --> todos los subcontratistas de un contratista

  if not exists (select * from @Respuesta where cuit_contratista = @w_prov_cuit)
     SELECT '1' as nro_registro, 'NO ES CONTRATISTA' as nombre_contratista,                                              
      @w_prov_cuit as cuit_contratista,
      '' as led, 
      '' as nivel_de_riesgo,
      '' as excepcion_contratista,                                                                                               
      '' as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      '' as nombre_subcontratista,                         
      '' as cuit_subcontratista,
      '' as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      '' as score_subcontratista,
      '' as excepcion_subcontratista,                                                                                           
      '' as vigencia_desde,
      '' as vigencia_hasta 
  else 
     SELECT  nro_registro, upper(isnull(nombre_contratista,'')) as nombre_contratista,                                              
       isnull(cuit_contratista,'') cuit_contratista,
       IIF(isnull(led,'')<0,0,isnull(led,'')) as led,  
       upper(isnull(nivel_de_riesgo,'')) as nivel_de_riesgo,
       upper(isnull(excepcion_contratista,'')) as excepcion_contratista,                                                                                               
       isnull(areas,'') as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
       upper(isnull(nombre_subcontratista,'')) as nombre_subcontratista,                         
       isnull(cuit_subcontratista,'') as cuit_subcontratista,
       upper(isnull(tipo,'')) as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
       upper(isnull(score_subcontratista,'')) as score_subcontratista,
       upper(isnull(excepcion_subcontratista,'')) as excepcion_subcontratista,                                                                                           
       isnull(convert(varchar,vigencia_desde,103),'') as vigencia_desde,
       isnull(convert(varchar,vigencia_hasta,103),'') as vigencia_hasta 
       FROM @Respuesta 
       ORDER BY Nro_registro


 if (@w_prov_cuit is null and @w_sub_cuit is not null) --> un subcontratista en todos los contratistas que aparece
  if not exists (select * from @Respuesta where cuit_subcontratista = @w_sub_cuit)
     SELECT '1' as nro_registro, '' as nombre_contratista,                                              
      '' as cuit_contratista,
      '' as led, 
      '' as nivel_de_riesgo,
      '' as excepcion_contratista,                                                                                               
      '' as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
      'NO ES SUBCONTRATISTA' as nombre_subcontratista,                         
      @w_sub_cuit as cuit_subcontratista,
      '' as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
      '' as score_subcontratista,
      '' as excepcion_subcontratista,                                                                                           
      '' as vigencia_desde,
      '' as vigencia_hasta 
    else 
     SELECT  nro_registro, upper(isnull(nombre_contratista,'')) as nombre_contratista,                                              
       isnull(cuit_contratista,'') cuit_contratista,
       IIF(isnull(led,'')<0,0,isnull(led,'')) as led, 
       upper(isnull(nivel_de_riesgo,'')) as nivel_de_riesgo,
       upper(isnull(excepcion_contratista,'')) as excepcion_contratista,                                                                                               
       isnull(areas,'') as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
       upper(isnull(nombre_subcontratista,'')) as nombre_subcontratista,                         
       isnull(cuit_subcontratista,'') as cuit_subcontratista,
       upper(isnull(tipo,'')) as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
       upper(isnull(score_subcontratista,'')) as score_subcontratista,
       upper(isnull(excepcion_subcontratista,'')) as excepcion_subcontratista,                                                                                           
       isnull(convert(varchar,vigencia_desde,103),'') as vigencia_desde,
       isnull(convert(varchar,vigencia_hasta,103),'') as vigencia_hasta 
       FROM @Respuesta 
       ORDER BY Nro_registro

end 

if (@w_accion = 'A' or @W_accion = 'T') 

     SELECT nro_registro ,
     upper(isnull(nombre_contratista,'')) as nombre_contratista,                                              
     isnull(cuit_contratista,'') cuit_contratista,
     IIF(isnull(led,'')<0,0,isnull(led,'')) as led, 
     upper(isnull(nivel_de_riesgo,'')) as nivel_de_riesgo,
     upper(isnull(excepcion_contratista,'')) as excepcion_contratista,                                                                                               
     isnull(areas,'') as areas,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
     upper(isnull(nombre_subcontratista,'')) as nombre_subcontratista,                         
     isnull(cuit_subcontratista,'') as cuit_subcontratista,
     upper(isnull(tipo,'')) as tipo,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
     upper(isnull(score_subcontratista,'')) as score_subcontratista,
     upper(isnull(excepcion_subcontratista,'')) as excepcion_subcontratista,                                                                                           
     isnull(convert(varchar,vigencia_desde,103),'') as vigencia_desde,
     isnull(convert(varchar,vigencia_hasta,103),'') as vigencia_hasta 
     FROM @Respuesta 
     ORDER BY Nro_registro
 
END 
GO

Used By

No items found