Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
10| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 20 | |
| @p_set_doc | int | 4 | |
| @p_tipo_doc | int | 4 | |
| @p_tolerancia_carga | tinyint | 1 | |
| @p_verifica_backend | tinyint | 1 | |
| @p_verifica_cliente | tinyint | 1 | |
| @p_peso_score | decimal | 5 | |
| @p_activo | tinyint | 1 | |
| @p_user_id | int | 4 | |
| @p_killer | bit | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_set_tipo_doc_ant_
-- Add the parameters for the stored procedure here
@accion varchar(20),
@p_set_doc int = null,
@p_tipo_doc int = null,
@p_tolerancia_carga tinyint = 15,
@p_verifica_backend tinyint = 1,
@p_verifica_cliente tinyint = 0,
@p_peso_score decimal(5,2) = 0,
@p_activo tinyint = 1,
@p_user_id int = null,
@p_killer bit = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @orden int, @tipo_doc int, @cant int
if (@accion = 'insert') begin
begin try
select @orden = ISNULL(MAX(orden), 0)+1
from LN_set_tipo_doc
where set_doc = @p_set_doc
insert into LN_set_tipo_doc
(set_doc, tipo_doc, tolerancia_carga, orden, verifica_backend,
verifica_cliente, peso_score, killer, activo, created, created_by)
values
(@p_set_doc, @p_tipo_doc, @p_tolerancia_carga, @orden, @p_verifica_backend,
@p_verifica_cliente, @p_peso_score, @p_killer, @p_activo, GETDATE(), @p_user_id)
select 0 as error
end try
begin catch
select 1 as error
end catch
end else
if (@accion = 'update') begin
begin try
update LN_set_tipo_doc set
tolerancia_carga = @p_tolerancia_carga,
verifica_backend = @p_verifica_backend,
verifica_cliente = @p_verifica_cliente,
peso_score = @p_peso_score,
killer = @p_killer,
activo = @p_activo,
modified = GETDATE(),
modified_by = @p_user_id
where set_doc = @p_set_doc
and tipo_doc = @p_tipo_doc
select 0 as error
end try
begin catch
select 1 as error
end catch
end else
if (@accion = 'select') begin
select LN_set_tipo_doc.*,
LN_set_docs.nombre_set,
clientes.nombre_cliente,
LN_tipos_doc.nombre_tipo_doc,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_set_tipo_doc
inner join LN_set_docs on LN_set_tipo_doc.set_doc = LN_set_docs.set_doc
inner join LN_tipos_doc on LN_set_tipo_doc.tipo_doc = LN_tipos_doc.tipo_doc
left outer join clientes on LN_set_docs.cliente = clientes.cliente
left outer join users as users1 on LN_set_tipo_doc.created_by = users1.user_id
left outer join users as users2 on LN_set_tipo_doc.modified_by = users2.user_id
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
end else
if (@accion = 'search') begin
select LN_set_tipo_doc.*,
LN_set_docs.nombre_set,
clientes.nombre_cliente,
LN_tipos_doc.nombre_tipo_doc,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_set_tipo_doc
inner join LN_set_docs on LN_set_tipo_doc.set_doc = LN_set_docs.set_doc
inner join LN_tipos_doc on LN_set_tipo_doc.tipo_doc = LN_tipos_doc.tipo_doc
left outer join clientes on LN_set_docs.cliente = clientes.cliente
left outer join users as users1 on LN_set_tipo_doc.created_by = users1.user_id
left outer join users as users2 on LN_set_tipo_doc.modified_by = users2.user_id
where LN_set_tipo_doc.set_doc = @p_set_doc
order by LN_set_tipo_doc.orden
end else
if (@accion = 'up') begin
select @orden = LN_set_tipo_doc.orden
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
if (@orden > 1) begin
select @tipo_doc = tipo_doc
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.orden = @orden - 1
if (@tipo_doc is not null) begin
update LN_set_tipo_doc set orden = @orden - 1
where set_doc = @p_set_doc
and tipo_doc = @p_tipo_doc
update LN_set_tipo_doc set orden = @orden
where set_doc = @p_set_doc
and tipo_doc = @tipo_doc
end
end
select 0 as error
end else
if (@accion = 'down') begin
select @cant = COUNT(*)
from LN_set_tipo_doc
where set_doc = @p_set_doc
select @orden = LN_set_tipo_doc.orden
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
if (@orden < @cant) begin
select @tipo_doc = tipo_doc
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.orden = @orden + 1
if (@tipo_doc is not null) begin
update LN_set_tipo_doc set orden = @orden + 1
where set_doc = @p_set_doc
and tipo_doc = @p_tipo_doc
update LN_set_tipo_doc set orden = @orden
where set_doc = @p_set_doc
and tipo_doc = @tipo_doc
end
end
select 0 as error
end else
if (@accion = 'delete') begin
begin try
select @orden = LN_set_tipo_doc.orden
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
if (@orden is not null) begin
update LN_set_tipo_doc set orden = orden - 1
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.orden > @orden
delete from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
end
select 0 as error
end try
begin catch
select 1 as error
end catch
end else
if (@accion = 'available') begin
select LN_tipos_doc.*
from LN_tipos_doc
where LN_tipos_doc.tipo_doc NOT IN
(select tipo_doc
from LN_set_tipo_doc
where set_doc = @p_set_doc)
order by LN_tipos_doc.nombre_tipo_doc
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_set_tipo_doc_ant_
-- Add the parameters for the stored procedure here
@accion varchar(20),
@p_set_doc int = null,
@p_tipo_doc int = null,
@p_tolerancia_carga tinyint = 15,
@p_verifica_backend tinyint = 1,
@p_verifica_cliente tinyint = 0,
@p_peso_score decimal(5,2) = 0,
@p_activo tinyint = 1,
@p_user_id int = null,
@p_killer bit = 0
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @orden int, @tipo_doc int, @cant int
if (@accion = 'insert') begin
begin try
select @orden = ISNULL(MAX(orden), 0)+1
from LN_set_tipo_doc
where set_doc = @p_set_doc
insert into LN_set_tipo_doc
(set_doc, tipo_doc, tolerancia_carga, orden, verifica_backend,
verifica_cliente, peso_score, killer, activo, created, created_by)
values
(@p_set_doc, @p_tipo_doc, @p_tolerancia_carga, @orden, @p_verifica_backend,
@p_verifica_cliente, @p_peso_score, @p_killer, @p_activo, GETDATE(), @p_user_id)
select 0 as error
end try
begin catch
select 1 as error
end catch
end else
if (@accion = 'update') begin
begin try
update LN_set_tipo_doc set
tolerancia_carga = @p_tolerancia_carga,
verifica_backend = @p_verifica_backend,
verifica_cliente = @p_verifica_cliente,
peso_score = @p_peso_score,
killer = @p_killer,
activo = @p_activo,
modified = GETDATE(),
modified_by = @p_user_id
where set_doc = @p_set_doc
and tipo_doc = @p_tipo_doc
select 0 as error
end try
begin catch
select 1 as error
end catch
end else
if (@accion = 'select') begin
select LN_set_tipo_doc.*,
LN_set_docs.nombre_set,
clientes.nombre_cliente,
LN_tipos_doc.nombre_tipo_doc,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_set_tipo_doc
inner join LN_set_docs on LN_set_tipo_doc.set_doc = LN_set_docs.set_doc
inner join LN_tipos_doc on LN_set_tipo_doc.tipo_doc = LN_tipos_doc.tipo_doc
left outer join clientes on LN_set_docs.cliente = clientes.cliente
left outer join users as users1 on LN_set_tipo_doc.created_by = users1.user_id
left outer join users as users2 on LN_set_tipo_doc.modified_by = users2.user_id
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
end else
if (@accion = 'search') begin
select LN_set_tipo_doc.*,
LN_set_docs.nombre_set,
clientes.nombre_cliente,
LN_tipos_doc.nombre_tipo_doc,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_set_tipo_doc
inner join LN_set_docs on LN_set_tipo_doc.set_doc = LN_set_docs.set_doc
inner join LN_tipos_doc on LN_set_tipo_doc.tipo_doc = LN_tipos_doc.tipo_doc
left outer join clientes on LN_set_docs.cliente = clientes.cliente
left outer join users as users1 on LN_set_tipo_doc.created_by = users1.user_id
left outer join users as users2 on LN_set_tipo_doc.modified_by = users2.user_id
where LN_set_tipo_doc.set_doc = @p_set_doc
order by LN_set_tipo_doc.orden
end else
if (@accion = 'up') begin
select @orden = LN_set_tipo_doc.orden
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
if (@orden > 1) begin
select @tipo_doc = tipo_doc
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.orden = @orden - 1
if (@tipo_doc is not null) begin
update LN_set_tipo_doc set orden = @orden - 1
where set_doc = @p_set_doc
and tipo_doc = @p_tipo_doc
update LN_set_tipo_doc set orden = @orden
where set_doc = @p_set_doc
and tipo_doc = @tipo_doc
end
end
select 0 as error
end else
if (@accion = 'down') begin
select @cant = COUNT(*)
from LN_set_tipo_doc
where set_doc = @p_set_doc
select @orden = LN_set_tipo_doc.orden
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
if (@orden < @cant) begin
select @tipo_doc = tipo_doc
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.orden = @orden + 1
if (@tipo_doc is not null) begin
update LN_set_tipo_doc set orden = @orden + 1
where set_doc = @p_set_doc
and tipo_doc = @p_tipo_doc
update LN_set_tipo_doc set orden = @orden
where set_doc = @p_set_doc
and tipo_doc = @tipo_doc
end
end
select 0 as error
end else
if (@accion = 'delete') begin
begin try
select @orden = LN_set_tipo_doc.orden
from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
if (@orden is not null) begin
update LN_set_tipo_doc set orden = orden - 1
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.orden > @orden
delete from LN_set_tipo_doc
where LN_set_tipo_doc.set_doc = @p_set_doc
and LN_set_tipo_doc.tipo_doc = @p_tipo_doc
end
select 0 as error
end try
begin catch
select 1 as error
end catch
end else
if (@accion = 'available') begin
select LN_tipos_doc.*
from LN_tipos_doc
where LN_tipos_doc.tipo_doc NOT IN
(select tipo_doc
from LN_set_tipo_doc
where set_doc = @p_set_doc)
order by LN_tipos_doc.nombre_tipo_doc
end
END
GO
Used By
No items found