Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
7| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 50 | |
| @p_contratista | int | 4 | |
| @p_contratista_1 | int | 4 | |
| @p_subcontratista_de | int | 4 | |
| @p_estado_contratista | varchar | 1 | |
| @p_cliente | int | 4 | |
| @p_tipo_contratista | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- exec Imperium_buscar_contratistas 'search', 1003
CREATE OR ALTER PROCEDURE dbo.Imperium_buscar_contratistas
-- Add the parameters for the stored procedure here
@accion varchar(50) = null,
@p_contratista int = null,
@p_contratista_1 int = null,
@p_subcontratista_de int = null, /** pasar un ID para buscar subcontratistas || Uso especial cuando @p_cliente > 0 **/
@p_estado_contratista varchar(1) = 'A',
@p_cliente int = null,
@p_tipo_contratista int = 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
if (@accion = 'search') begin
IF (@p_cliente is null) BEGIN
if (@p_contratista is not null) begin
if (@p_estado_contratista is not null)
begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.contratista = @p_contratista
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
end
else
begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.contratista = @p_contratista
order by padrones.nombre_persona
end
end else
if (@p_contratista_1 is not null) begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.contratista_1 = @p_contratista_1
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
end else
if (@p_subcontratista_de is not null) begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.subcontratista_de = @p_subcontratista_de
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
end
END ELSE BEGIN
-- buscando por cliente
/*
@p_subcontratista_de:
= 0: Sólo contratistas principales del cliente
< 0: Todos los subcontratistas de un cliente
> 0: Subcontratistas de un contratista directo específico del cliente
*/
if (@p_subcontratista_de = 0)
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
inner join ln_contrapartes LNC on LNC.id_imperium = led_contratistas.contratista
inner join LN_contraparte_familias LNCF on LNCF.contraparte=LNC.contraparte
inner join ln_familias LNF on (LNF.familia = LNCF.familia and LNF.visible=1)
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
and led_contratistas.subcontratista_de IS NULL
and LNC.activo=1
order by padrones.nombre_persona
else if (@p_subcontratista_de < 0)
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
and led_contratistas.subcontratista_de IS NOT NULL
order by padrones.nombre_persona
else if (@p_subcontratista_de > 0)
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
and led_contratistas.subcontratista_de = @p_subcontratista_de
order by padrones.nombre_persona
else
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
END
end else
if (@accion = 'update') begin
update led_contratistas set
tipo_contratista = @p_tipo_contratista,
subcontratista_de = @p_subcontratista_de
where contratista = @p_contratista
declare @p_userID int
select top 1 @p_cliente=cliente,@p_userID = created_by from led_contratista_multi where contratista = @p_contratista and contratista_1=@p_subcontratista_de
delete led_contratista_multi where contratista = @p_contratista and contratista_1=@p_subcontratista_de
insert into led_contratista_multi (contratista,id,tipo_contratista,id_dep,vigencia_desde,contratista_1,cliente,activo,created)
values (@p_contratista,1,@p_tipo_contratista,0,getdate(),@p_subcontratista_de,@p_cliente,1,getdate())
/* agb
select * from led_contratistas where contratista = 4354
select * from led_contratista_multi where contratista = 4354 and contratista_1=1308
*/
end
END
GO
GO
-- exec Imperium_buscar_contratistas 'search', 1003
CREATE OR ALTER PROCEDURE dbo.Imperium_buscar_contratistas
-- Add the parameters for the stored procedure here
@accion varchar(50) = null,
@p_contratista int = null,
@p_contratista_1 int = null,
@p_subcontratista_de int = null, /** pasar un ID para buscar subcontratistas || Uso especial cuando @p_cliente > 0 **/
@p_estado_contratista varchar(1) = 'A',
@p_cliente int = null,
@p_tipo_contratista int = 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
if (@accion = 'search') begin
IF (@p_cliente is null) BEGIN
if (@p_contratista is not null) begin
if (@p_estado_contratista is not null)
begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.contratista = @p_contratista
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
end
else
begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.contratista = @p_contratista
order by padrones.nombre_persona
end
end else
if (@p_contratista_1 is not null) begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.contratista_1 = @p_contratista_1
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
end else
if (@p_subcontratista_de is not null) begin
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.subcontratista_de = @p_subcontratista_de
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
end
END ELSE BEGIN
-- buscando por cliente
/*
@p_subcontratista_de:
= 0: Sólo contratistas principales del cliente
< 0: Todos los subcontratistas de un cliente
> 0: Subcontratistas de un contratista directo específico del cliente
*/
if (@p_subcontratista_de = 0)
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
inner join ln_contrapartes LNC on LNC.id_imperium = led_contratistas.contratista
inner join LN_contraparte_familias LNCF on LNCF.contraparte=LNC.contraparte
inner join ln_familias LNF on (LNF.familia = LNCF.familia and LNF.visible=1)
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
and led_contratistas.subcontratista_de IS NULL
and LNC.activo=1
order by padrones.nombre_persona
else if (@p_subcontratista_de < 0)
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
and led_contratistas.subcontratista_de IS NOT NULL
order by padrones.nombre_persona
else if (@p_subcontratista_de > 0)
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
and led_contratistas.subcontratista_de = @p_subcontratista_de
order by padrones.nombre_persona
else
select led_contratistas.*,
padrones.identificador, padrones.numero, padrones.nombre_persona, padrones.identificacion,
padrones.tipo_persona, identificadores.abreviatura, clientes.nombre_cliente, identificadores.country_code,
country.country_name, led_tipos_contratista.nombre_tipo_contratista,
users.first_name, users.last_name, users.email, users.cookie_id,
padron_d.nombre_persona AS nombre_persona_contratista_d,
padron_d.numero AS numero_contratista_d,
identificador_d.abreviatura AS abreviatura_contratista_d,
padron_1.nombre_persona AS nombre_persona_contratista_1,
padron_1.numero AS numero_contratista_1,
identificador_1.abreviatura AS abreviatura_contratista_1
from led_contratistas inner join padrones on led_contratistas.id_padron = padrones.id_padron
inner join identificadores on padrones.identificador = identificadores.identificador
inner join country on identificadores.country_code = country.country_code
inner join clientes on led_contratistas.cliente = clientes.cliente
inner join led_tipos_contratista on led_contratistas.tipo_contratista = led_tipos_contratista.tipo_contratista
inner join led_contratistas AS contratista_1 on led_contratistas.contratista_1 = contratista_1.contratista
inner join padrones as padron_1 on contratista_1.id_padron = padron_1.id_padron
inner join identificadores as identificador_1 on padron_1.identificador = identificador_1.identificador
left outer join led_contratistas AS contratista_d on led_contratistas.subcontratista_de = contratista_d.contratista
left outer join padrones as padron_d on contratista_d.id_padron = padron_d.id_padron
left outer join identificadores as identificador_d on padron_d.identificador = identificador_d.identificador
left outer join users on led_contratistas.user_id = users.user_id
where led_contratistas.cliente = @p_cliente
and led_contratistas.estado_contratista = @p_estado_contratista
order by padrones.nombre_persona
END
end else
if (@accion = 'update') begin
update led_contratistas set
tipo_contratista = @p_tipo_contratista,
subcontratista_de = @p_subcontratista_de
where contratista = @p_contratista
declare @p_userID int
select top 1 @p_cliente=cliente,@p_userID = created_by from led_contratista_multi where contratista = @p_contratista and contratista_1=@p_subcontratista_de
delete led_contratista_multi where contratista = @p_contratista and contratista_1=@p_subcontratista_de
insert into led_contratista_multi (contratista,id,tipo_contratista,id_dep,vigencia_desde,contratista_1,cliente,activo,created)
values (@p_contratista,1,@p_tipo_contratista,0,getdate(),@p_subcontratista_de,@p_cliente,1,getdate())
/* agb
select * from led_contratistas where contratista = 4354
select * from led_contratista_multi where contratista = 4354 and contratista_1=1308
*/
end
END
GO
Depends On
11Used By
No items found