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 | 100 | |
| @cliente | int | 4 | |
| @set | int | 4 | |
| @doc | int | 4 | |
| @seccion | int | 4 | |
| @campo | int | 4 | |
| @values | varchar | 1000 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: María Inés Soria
-- Create date: 9/5/2023
-- Description: Se usa para la valoracion de campos de los documentos de un cliente
-- =============================================
/*
exec [LN_tipo_doc_campos_puntos_] 'campos',5546348,165,1234
select * from LN_tipo_doc_campos_puntos --> tiene la especifiación de los puntos por los campos de los formularios
select * from LN_docs_campos_puntos --> tiene los puntos del campo por doc_id
*/
CREATE OR ALTER PROCEDURE dbo.LN_tipo_doc_campos_puntos_
@accion varchar(100),
@cliente int,
@set int = null,
@doc int = null,
@seccion int = null,
@campo int = null,
@values varchar(1000) = null
AS
BEGIN
SET NOCOUNT ON;
if (@accion = 'grabar')
begin
if exists (select * from LN_tipo_doc_campos_puntos where cliente = @cliente and set_doc = @set and tipo_doc = @doc and seccion = @seccion and campo = @campo)
begin
update LN_tipo_doc_campos_puntos
set opciones_puntos = @values
where cliente = @cliente and set_doc = @set and tipo_doc = @doc and seccion = @seccion and campo = @campo
end
else
begin
insert into LN_tipo_doc_campos_puntos (cliente, set_doc, tipo_doc, seccion, campo, opciones_puntos)
values (@cliente, @set, @doc, @seccion, @campo, @values)
end
select 'ok' as respuesta
end
if (@accion = 'campos')
begin
SELECT distinct LN_familias.set_doc, LN_set_docs.nombre_set, LN_tipos_doc.tipo_doc, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.seccion as nro_seccion, LN_tipo_doc_secciones.titulo_seccion as seccion,
LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, LN_campos.tipo_campo,
iif(LN_campos.tipo_campo = 'B', 'SI|NO^1|0', convert(varchar(max),LN_campos.opciones)) as opciones,
LN_tipo_doc_campos.orden, P.opciones_puntos
FROM LN_familias
inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc
inner join LN_set_docs on LN_set_docs.set_doc = LN_familias.set_doc
inner join LN_tipos_doc on LN_tipos_doc.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_campos on LN_tipo_doc_campos.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_secciones on (LN_tipo_doc_secciones.tipo_doc = LN_set_tipo_doc.tipo_doc and LN_tipo_doc_secciones.seccion = LN_tipo_doc_campos.seccion)
inner join LN_campos on LN_campos.campo = LN_tipo_doc_campos.campo
left join LN_tipo_doc_campos_puntos P on (P.cliente = @cliente and
P.set_doc = LN_set_tipo_doc.set_doc and P.seccion = LN_tipo_doc_secciones.seccion and
P.tipo_doc = LN_tipos_doc.tipo_doc and P.campo = LN_campos.campo)
WHERE LN_familias.cliente = @cliente and LN_familias.set_doc is not null and LN_familias.visible = 1
and LN_set_tipo_doc.activo = 1
and LN_campos.opciones is not null and LN_campos.tipo_campo in ('S','R','C','B')
and (LN_campos.opciones like '%|%' or LN_campos.tipo_campo = 'B') -- tiene más de una opción
and (@set is null or LN_set_tipo_doc.set_doc = @set) and (@doc is null or LN_tipos_doc.tipo_doc = @doc)
order by LN_familias.set_doc, LN_tipos_doc.tipo_doc,
LN_tipo_doc_secciones.seccion, LN_tipo_doc_campos.orden
end
if (@accion = 'documentos')
begin
SELECT distinct LN_familias.set_doc, LN_set_docs.nombre_set, LN_tipos_doc.tipo_doc, LN_tipos_doc.nombre_tipo_doc
FROM LN_familias
inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc
inner join LN_set_docs on LN_set_docs.set_doc = LN_familias.set_doc
inner join LN_tipos_doc on LN_tipos_doc.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_campos on LN_tipo_doc_campos.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_secciones on (LN_tipo_doc_secciones.tipo_doc = LN_set_tipo_doc.tipo_doc and LN_tipo_doc_secciones.seccion = LN_tipo_doc_campos.seccion)
inner join LN_campos on LN_campos.campo = LN_tipo_doc_campos.campo
WHERE LN_familias.cliente = @cliente and LN_familias.set_doc is not null and LN_familias.visible = 1
and LN_set_tipo_doc.activo = 1
and LN_campos.opciones is not null and LN_campos.tipo_campo in ('S','R','C','B')
and (LN_campos.opciones like '%|%' or LN_campos.tipo_campo = 'B') -- tiene más de una opción
order by LN_set_docs.nombre_set, LN_tipos_doc.nombre_tipo_doc
end
END
GO
GO
-- =============================================
-- Author: María Inés Soria
-- Create date: 9/5/2023
-- Description: Se usa para la valoracion de campos de los documentos de un cliente
-- =============================================
/*
exec [LN_tipo_doc_campos_puntos_] 'campos',5546348,165,1234
select * from LN_tipo_doc_campos_puntos --> tiene la especifiación de los puntos por los campos de los formularios
select * from LN_docs_campos_puntos --> tiene los puntos del campo por doc_id
*/
CREATE OR ALTER PROCEDURE dbo.LN_tipo_doc_campos_puntos_
@accion varchar(100),
@cliente int,
@set int = null,
@doc int = null,
@seccion int = null,
@campo int = null,
@values varchar(1000) = null
AS
BEGIN
SET NOCOUNT ON;
if (@accion = 'grabar')
begin
if exists (select * from LN_tipo_doc_campos_puntos where cliente = @cliente and set_doc = @set and tipo_doc = @doc and seccion = @seccion and campo = @campo)
begin
update LN_tipo_doc_campos_puntos
set opciones_puntos = @values
where cliente = @cliente and set_doc = @set and tipo_doc = @doc and seccion = @seccion and campo = @campo
end
else
begin
insert into LN_tipo_doc_campos_puntos (cliente, set_doc, tipo_doc, seccion, campo, opciones_puntos)
values (@cliente, @set, @doc, @seccion, @campo, @values)
end
select 'ok' as respuesta
end
if (@accion = 'campos')
begin
SELECT distinct LN_familias.set_doc, LN_set_docs.nombre_set, LN_tipos_doc.tipo_doc, LN_tipos_doc.nombre_tipo_doc,
LN_tipo_doc_secciones.seccion as nro_seccion, LN_tipo_doc_secciones.titulo_seccion as seccion,
LN_campos.campo, LN_campos.nombre_campo, LN_campos.etiqueta, LN_campos.tipo_campo,
iif(LN_campos.tipo_campo = 'B', 'SI|NO^1|0', convert(varchar(max),LN_campos.opciones)) as opciones,
LN_tipo_doc_campos.orden, P.opciones_puntos
FROM LN_familias
inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc
inner join LN_set_docs on LN_set_docs.set_doc = LN_familias.set_doc
inner join LN_tipos_doc on LN_tipos_doc.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_campos on LN_tipo_doc_campos.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_secciones on (LN_tipo_doc_secciones.tipo_doc = LN_set_tipo_doc.tipo_doc and LN_tipo_doc_secciones.seccion = LN_tipo_doc_campos.seccion)
inner join LN_campos on LN_campos.campo = LN_tipo_doc_campos.campo
left join LN_tipo_doc_campos_puntos P on (P.cliente = @cliente and
P.set_doc = LN_set_tipo_doc.set_doc and P.seccion = LN_tipo_doc_secciones.seccion and
P.tipo_doc = LN_tipos_doc.tipo_doc and P.campo = LN_campos.campo)
WHERE LN_familias.cliente = @cliente and LN_familias.set_doc is not null and LN_familias.visible = 1
and LN_set_tipo_doc.activo = 1
and LN_campos.opciones is not null and LN_campos.tipo_campo in ('S','R','C','B')
and (LN_campos.opciones like '%|%' or LN_campos.tipo_campo = 'B') -- tiene más de una opción
and (@set is null or LN_set_tipo_doc.set_doc = @set) and (@doc is null or LN_tipos_doc.tipo_doc = @doc)
order by LN_familias.set_doc, LN_tipos_doc.tipo_doc,
LN_tipo_doc_secciones.seccion, LN_tipo_doc_campos.orden
end
if (@accion = 'documentos')
begin
SELECT distinct LN_familias.set_doc, LN_set_docs.nombre_set, LN_tipos_doc.tipo_doc, LN_tipos_doc.nombre_tipo_doc
FROM LN_familias
inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc
inner join LN_set_docs on LN_set_docs.set_doc = LN_familias.set_doc
inner join LN_tipos_doc on LN_tipos_doc.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_campos on LN_tipo_doc_campos.tipo_doc = LN_set_tipo_doc.tipo_doc
inner join LN_tipo_doc_secciones on (LN_tipo_doc_secciones.tipo_doc = LN_set_tipo_doc.tipo_doc and LN_tipo_doc_secciones.seccion = LN_tipo_doc_campos.seccion)
inner join LN_campos on LN_campos.campo = LN_tipo_doc_campos.campo
WHERE LN_familias.cliente = @cliente and LN_familias.set_doc is not null and LN_familias.visible = 1
and LN_set_tipo_doc.activo = 1
and LN_campos.opciones is not null and LN_campos.tipo_campo in ('S','R','C','B')
and (LN_campos.opciones like '%|%' or LN_campos.tipo_campo = 'B') -- tiene más de una opción
order by LN_set_docs.nombre_set, LN_tipos_doc.nombre_tipo_doc
end
END
GO
Depends On
8Used By
No items found