dbo.Imperium_campos_documentos

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

Used By

No items found