Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
7| Name | Data Type | Length | Description |
|---|---|---|---|
| @action | varchar | 15 | |
| @p_tipo_doc | int | 4 | |
| @p_doc_id | bigint | 8 | |
| @p_campo_tipo_doc | int | 4 | |
| @p_valor_numerico | varchar | -1 | |
| @p_valor_fecha | date | 3 | |
| @p_valor_texto | varchar | -1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec Imperium_campos_documentos 'LISTARCAMPOS',1035, 4974767335
exec Imperium_campos_documentos 'VALORES', '1035', '4974767335'
-- update led_campos_doc set valor_numerico=null,valor_fecha=null where doc_id = 4974767335
select * from led_campos_doc where doc_id = 4974767335
select * from led_docs where doc_id=4973397094
select * from led_tipos_doc where tipo_doc = 1035
*/
/*
select * from led_campos_doc where doc_id = 4974767335
select * from led_campos_tipo_doc where tipo_doc=1035
--delete led_campos_doc where doc_id = 4973397094
*/
/*
exec Imperium_campos_documentos 'LISTARCAMPOS',1035,4974767335
exec Imperium_campos_documentos 'VALORES',1035,4974767335
exec Imperium_campos_documentos 'UPDVALORES',1035,4974767335,2,null,null,null
ESTE ES PARA PROBAR LAS FECHAS Y LA LISTA DE OPCIONES sindical con detalle
EXEC Imperium_campos_documentos 'UPDVALORES',1035,4974767335,2,NULL,'2021-10-23'
VER EN DOCSCONTROLLER Y EN LA VISTA DOCUMENTO_VERIFICAR
<div class="row">
@for ($i = 0; $i < count($campos_doc); $i++)
<div class="col-md-6" id="campos-form">
<label for="nro_{{ $campos_doc[$i]->campo_tipo_doc }}">{{ $campos_doc[$i]->titulo_campo }}:</label>
@if ($campos_doc[$i]->tipo_dato == "N")
<input class="form-control numeros" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_numerico) ? $valores_campos[$i]->valor_numerico : 0 }}">
@elseif ($campos_doc[$i]->tipo_dato == "T")
<input class="form-control texto" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_texto) ? $valores_campos[$i]->valor_texto : '' }}">
@elseif ($campos_doc[$i]->tipo_dato == "S")
<input class="form-control texto" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_texto) ? $valores_campos[$i]->valor_texto : '' }}">
@elseif ($campos_doc[$i]->tipo_dato == "F")
<input class="form-control texto" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_texto) ? $valores_campos[$i]->valor_texto : '' }}">
@else
<p>nro_{{$campos_doc[$i]->tipo_dato }}
-- No es un campo de numeros, ni un campo de texto. Podría ser un campo tipo date.</p>
@endif
<br>
</div>
@endfor
</div>
EXEC Imperium_campos_documentos 'UPDVALORES','1035','4974767335',2,'2021-10-23'
*/
CREATE OR ALTER PROCEDUREdbo.Imperium_campos_documentos
@action VARCHAR(15),
@p_tipo_doc int,
@p_doc_id bigint,
@p_campo_tipo_doc int = null,
@p_valor_numerico varchar(max)=null,
@p_valor_fecha date = null,
@p_valor_texto varchar(max)=null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @existe int = 0
if (@action = 'VALORES') /* RECUPERA LOS VALORES CARGADOS PARA EL DOC_ID */
BEGIN
select led_campos_doc.campo_tipo_doc, led_campos_doc.tipo_doc, doc_id, valor_texto, CONVERT(decimal(15, 2), valor_numerico) AS valor_numerico,
iif(valor_fecha is null, null,convert(date,valor_fecha)) as valor_fecha, valor_fecha as valor_fecha_Hora,
created
from led_campos_doc
inner join led_campos_tipo_doc on (led_campos_tipo_doc.tipo_doc = led_campos_doc.tipo_doc and led_campos_doc.campo_tipo_doc = led_campos_tipo_doc.campo_tipo_doc)
where led_campos_doc.tipo_doc = @p_tipo_doc
and doc_id = @p_doc_id
--order by campo_tipo_doc asc
order by led_campos_tipo_doc.orden
END
/* AVERIGUAMOS SI EL DATO YA EXISTE PARA ACTUALIZAR O HAY QUE INSERTARLO */
select @existe = campo_tipo_doc from led_campos_doc
where tipo_doc = @p_tipo_doc
and doc_id = @p_doc_id
and campo_tipo_doc= @p_campo_tipo_doc
IF (@existe = 0 and @action = 'UPDVALORES')
begin
set @action = 'INSVALORES'
end
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores numéricos */
if (@action = 'INSVALORES' and @p_valor_numerico is not null and @p_campo_tipo_doc is not null)
BEGIN
INSERT INTO led_campos_doc (valor_numerico,tipo_doc,doc_id,campo_tipo_doc)
VALUES (@p_valor_numerico,@p_tipo_doc,@p_doc_id,@p_campo_tipo_doc)
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores de texto */
if (@action = 'INSVALORES' and @p_valor_texto is not null and @p_campo_tipo_doc is not null)
BEGIN
INSERT INTO led_campos_doc (valor_texto,tipo_doc,doc_id,campo_tipo_doc)
VALUES (@p_valor_texto,@p_tipo_doc,@p_doc_id,@p_campo_tipo_doc)
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores fecha */
if (@action = 'INSVALORES' and /*@p_valor_fecha is not null and*/ @p_campo_tipo_doc is not null) -- Puede ser la fecha sea nula, porque es un NO, o no Aplica
BEGIN
INSERT INTO led_campos_doc (valor_fecha,tipo_doc,doc_id,campo_tipo_doc)
VALUES (@p_valor_fecha,@p_tipo_doc,@p_doc_id,@p_campo_tipo_doc)
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores numéricos */
if (@action = 'UPDVALORES' and @p_valor_numerico is not null and @p_campo_tipo_doc is not null)
BEGIN
update led_campos_doc set valor_numerico= @p_valor_numerico
where tipo_doc = @p_tipo_doc and doc_id = @p_doc_id and campo_tipo_doc=@p_campo_tipo_doc
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores de texto */
if (@action = 'UPDVALORES' and @p_valor_texto is not null and @p_campo_tipo_doc is not null)
BEGIN
update led_campos_doc set valor_texto= @p_valor_texto
where tipo_doc = @p_tipo_doc and doc_id = @p_doc_id and campo_tipo_doc=@p_campo_tipo_doc
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores fecha */
if (@action = 'UPDVALORES' and /*@p_valor_fecha is not null and*/ @p_campo_tipo_doc is not null) -- Puede ser que querramos borrar la fecha que tenia, porque es un NO, o no Aplica
BEGIN
update led_campos_doc set valor_fecha = @p_valor_fecha
where tipo_doc = @p_tipo_doc and doc_id = @p_doc_id and campo_tipo_doc=@p_campo_tipo_doc
END
if (@action = 'LISTARCAMPOS') /*RECUPERA LOS VALORES CARGADOS PARA EL DOC_ID*/
BEGIN
select led_campos_tipo_doc.*, led_tipos_doc.nombre_tipo_doc,
led_tipo_campo_doc.nombre_tipo_campo_doc,
led_tipo_campo_doc.tipo_dato, led_tipo_campo_doc.validacion
from led_campos_tipo_doc
inner join led_tipos_doc on led_campos_tipo_doc.tipo_doc = led_tipos_doc.tipo_doc
inner join led_tipo_campo_doc on led_campos_tipo_doc.tipo_campo_doc = led_tipo_campo_doc.tipo_campo_doc
where led_campos_tipo_doc.tipo_doc = @p_tipo_doc
and led_campos_tipo_doc.campo_activo = 1
order by led_campos_tipo_doc.orden
END
END
GO
GO
/*
exec Imperium_campos_documentos 'LISTARCAMPOS',1035, 4974767335
exec Imperium_campos_documentos 'VALORES', '1035', '4974767335'
-- update led_campos_doc set valor_numerico=null,valor_fecha=null where doc_id = 4974767335
select * from led_campos_doc where doc_id = 4974767335
select * from led_docs where doc_id=4973397094
select * from led_tipos_doc where tipo_doc = 1035
*/
/*
select * from led_campos_doc where doc_id = 4974767335
select * from led_campos_tipo_doc where tipo_doc=1035
--delete led_campos_doc where doc_id = 4973397094
*/
/*
exec Imperium_campos_documentos 'LISTARCAMPOS',1035,4974767335
exec Imperium_campos_documentos 'VALORES',1035,4974767335
exec Imperium_campos_documentos 'UPDVALORES',1035,4974767335,2,null,null,null
ESTE ES PARA PROBAR LAS FECHAS Y LA LISTA DE OPCIONES sindical con detalle
EXEC Imperium_campos_documentos 'UPDVALORES',1035,4974767335,2,NULL,'2021-10-23'
VER EN DOCSCONTROLLER Y EN LA VISTA DOCUMENTO_VERIFICAR
<div class="row">
@for ($i = 0; $i < count($campos_doc); $i++)
<div class="col-md-6" id="campos-form">
<label for="nro_{{ $campos_doc[$i]->campo_tipo_doc }}">{{ $campos_doc[$i]->titulo_campo }}:</label>
@if ($campos_doc[$i]->tipo_dato == "N")
<input class="form-control numeros" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_numerico) ? $valores_campos[$i]->valor_numerico : 0 }}">
@elseif ($campos_doc[$i]->tipo_dato == "T")
<input class="form-control texto" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_texto) ? $valores_campos[$i]->valor_texto : '' }}">
@elseif ($campos_doc[$i]->tipo_dato == "S")
<input class="form-control texto" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_texto) ? $valores_campos[$i]->valor_texto : '' }}">
@elseif ($campos_doc[$i]->tipo_dato == "F")
<input class="form-control texto" type="text" placeholder="{{ isset($campos_doc[$i]->ayuda) ? $campos_doc[$i]->ayuda : '' }}" name="{{ $campos_doc[$i]->campo_tipo_doc }}" id="{{ $campos_doc[$i]->tipo_doc }}_{{ $campos_doc[$i]->campo_tipo_doc }}" value="{{ isset($valores_campos[$i]->valor_texto) ? $valores_campos[$i]->valor_texto : '' }}">
@else
<p>nro_{{$campos_doc[$i]->tipo_dato }}
-- No es un campo de numeros, ni un campo de texto. Podría ser un campo tipo date.</p>
@endif
<br>
</div>
@endfor
</div>
EXEC Imperium_campos_documentos 'UPDVALORES','1035','4974767335',2,'2021-10-23'
*/
CREATE OR ALTER PROCEDUREdbo.Imperium_campos_documentos
@action VARCHAR(15),
@p_tipo_doc int,
@p_doc_id bigint,
@p_campo_tipo_doc int = null,
@p_valor_numerico varchar(max)=null,
@p_valor_fecha date = null,
@p_valor_texto varchar(max)=null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @existe int = 0
if (@action = 'VALORES') /* RECUPERA LOS VALORES CARGADOS PARA EL DOC_ID */
BEGIN
select led_campos_doc.campo_tipo_doc, led_campos_doc.tipo_doc, doc_id, valor_texto, CONVERT(decimal(15, 2), valor_numerico) AS valor_numerico,
iif(valor_fecha is null, null,convert(date,valor_fecha)) as valor_fecha, valor_fecha as valor_fecha_Hora,
created
from led_campos_doc
inner join led_campos_tipo_doc on (led_campos_tipo_doc.tipo_doc = led_campos_doc.tipo_doc and led_campos_doc.campo_tipo_doc = led_campos_tipo_doc.campo_tipo_doc)
where led_campos_doc.tipo_doc = @p_tipo_doc
and doc_id = @p_doc_id
--order by campo_tipo_doc asc
order by led_campos_tipo_doc.orden
END
/* AVERIGUAMOS SI EL DATO YA EXISTE PARA ACTUALIZAR O HAY QUE INSERTARLO */
select @existe = campo_tipo_doc from led_campos_doc
where tipo_doc = @p_tipo_doc
and doc_id = @p_doc_id
and campo_tipo_doc= @p_campo_tipo_doc
IF (@existe = 0 and @action = 'UPDVALORES')
begin
set @action = 'INSVALORES'
end
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores numéricos */
if (@action = 'INSVALORES' and @p_valor_numerico is not null and @p_campo_tipo_doc is not null)
BEGIN
INSERT INTO led_campos_doc (valor_numerico,tipo_doc,doc_id,campo_tipo_doc)
VALUES (@p_valor_numerico,@p_tipo_doc,@p_doc_id,@p_campo_tipo_doc)
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores de texto */
if (@action = 'INSVALORES' and @p_valor_texto is not null and @p_campo_tipo_doc is not null)
BEGIN
INSERT INTO led_campos_doc (valor_texto,tipo_doc,doc_id,campo_tipo_doc)
VALUES (@p_valor_texto,@p_tipo_doc,@p_doc_id,@p_campo_tipo_doc)
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores fecha */
if (@action = 'INSVALORES' and /*@p_valor_fecha is not null and*/ @p_campo_tipo_doc is not null) -- Puede ser la fecha sea nula, porque es un NO, o no Aplica
BEGIN
INSERT INTO led_campos_doc (valor_fecha,tipo_doc,doc_id,campo_tipo_doc)
VALUES (@p_valor_fecha,@p_tipo_doc,@p_doc_id,@p_campo_tipo_doc)
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores numéricos */
if (@action = 'UPDVALORES' and @p_valor_numerico is not null and @p_campo_tipo_doc is not null)
BEGIN
update led_campos_doc set valor_numerico= @p_valor_numerico
where tipo_doc = @p_tipo_doc and doc_id = @p_doc_id and campo_tipo_doc=@p_campo_tipo_doc
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores de texto */
if (@action = 'UPDVALORES' and @p_valor_texto is not null and @p_campo_tipo_doc is not null)
BEGIN
update led_campos_doc set valor_texto= @p_valor_texto
where tipo_doc = @p_tipo_doc and doc_id = @p_doc_id and campo_tipo_doc=@p_campo_tipo_doc
END
/* GRABA LOS VALORES CARGADOS PARA EL DOC_ID para valores fecha */
if (@action = 'UPDVALORES' and /*@p_valor_fecha is not null and*/ @p_campo_tipo_doc is not null) -- Puede ser que querramos borrar la fecha que tenia, porque es un NO, o no Aplica
BEGIN
update led_campos_doc set valor_fecha = @p_valor_fecha
where tipo_doc = @p_tipo_doc and doc_id = @p_doc_id and campo_tipo_doc=@p_campo_tipo_doc
END
if (@action = 'LISTARCAMPOS') /*RECUPERA LOS VALORES CARGADOS PARA EL DOC_ID*/
BEGIN
select led_campos_tipo_doc.*, led_tipos_doc.nombre_tipo_doc,
led_tipo_campo_doc.nombre_tipo_campo_doc,
led_tipo_campo_doc.tipo_dato, led_tipo_campo_doc.validacion
from led_campos_tipo_doc
inner join led_tipos_doc on led_campos_tipo_doc.tipo_doc = led_tipos_doc.tipo_doc
inner join led_tipo_campo_doc on led_campos_tipo_doc.tipo_campo_doc = led_tipo_campo_doc.tipo_campo_doc
where led_campos_tipo_doc.tipo_doc = @p_tipo_doc
and led_campos_tipo_doc.campo_activo = 1
order by led_campos_tipo_doc.orden
END
END
GO
Used By
No items found