dbo.fuentes_procesadas_info

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

6
Name Data Type Length Description
@action varchar 100
@fecha_desde date 3
@fecha_hasta date 3
@id_fuente int 4
@codigo_fuente varchar 50
@fecha_informacion date 3

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*

STORE CREADO POR CLAUDIO
FECHA DE CREACION: 26-07-2021
REQUIERE: ACTION, FECHA_DESDE, FECHA_HASTA

DESCRIPCION: SIMPLE STORE QUE TOMA TRES PARAMETROS DEVOLVIENDO TODAS LAS FUNETES PROCESADAS DESDE 
N FECHA HASTA M.
SI LA ACTION ES '
todo' OMITE LAS FECHA Y DEVUELVE TODO, ESTO QUIERE DECIR QUE EN ESTE CASO
LAS FECHAS PUEDEN SER PASADAS COMO VACIAS ''
 
*/

CREATE OR ALTER PROCEDURE dbo.fuentes_procesadas_info
    @action VARCHAR(100),
    @fecha_desde date,
    @fecha_hasta date,
 @id_fuente INT = NULL,
 @codigo_fuente VARCHAR(50) = NULL,
 @fecha_informacion DATE = NULL
AS
BEGIN
 DECLARE @Start DATE;
    DECLARE @End DATE;
 --
    IF (@action = 'todo')
        BEGIN 
   /*SELECT upper(fuente) as fuente,
    convert(varchar(10),max(fecha_informacion),103) as fecha_informacion,
    convert(varchar(10),max(created),103) as fecha_proceso 
    from fuentes_procesadas
    --where fuente = 'cendeu'
    group by fuente
    order by fuente*/
 
            SELECT upper(fuentes_procesadas.fuente) as fuente,
   convert(varchar(10),max(fuentes_procesadas.fecha_informacion),103) as fecha_informacion,
   convert(varchar(10),max(fuentes_procesadas.created),103) as fecha_proceso, 
            UPPER(fuentes_descripciones.descripcion) as descripcion, 
            UPPER(fuentes_descripciones.proveedor) as proveedor
   from fuentes_procesadas INNER JOIN fuentes_descripciones on upper(fuentes_descripciones.nombre) = fuente
   group by fuente, descripcion, proveedor
   order by fuente
        END
 ELSE IF ( @action = 'control_diario' )
  BEGIN
   -- Devuelve las fuentes procesadas de un registro del dia
   SELECT 
    fuentes_procesadas.id_cendeu_procesado,
    fuentes_procesadas.fecha_informacion,
    fuentes_procesadas.fuente,
    fuentes_procesadas.visible,
    fuentes_procesadas.created,
    fuentes_procesadas.observaciones,
    fuentes_procesadas.created_by,
    fuentes_procesadas.ip,
    fuentes_procesadas.id_fuente,
    (users.first_name+' '+users.last_name) as usuario_creador
   FROM fuentes_procesadas
    LEFT JOIN users ON users.user_id=fuentes_procesadas.created_by
   WHERE 
    id_fuente=@id_fuente
    AND fuente=@codigo_fuente
    AND visible=1
    AND fecha_informacion=@fecha_informacion;
   --
   RETURN;
  END
 ELSE IF ( @action = 'control_semanal' )
  BEGIN
   -- Devuelve las fuentes procesadas de un registro para toda el mes para un dia dado
   SET @Start=DATEADD(DD,1-DATEPART(DW, @fecha_informacion), @fecha_informacion)
            SET @End=DATEADD(WEEK, 1, @Start)
   --
   SELECT 
    fuentes_procesadas.id_cendeu_procesado,
    fuentes_procesadas.fecha_informacion,
    fuentes_procesadas.fuente,
    fuentes_procesadas.visible,
    fuentes_procesadas.created,
    fuentes_procesadas.observaciones,
    fuentes_procesadas.created_by,
    fuentes_procesadas.ip,
    fuentes_procesadas.id_fuente,
    (users.first_name+' '+users.last_name) as usuario_creador
   FROM fuentes_procesadas
    LEFT JOIN users ON users.user_id=fuentes_procesadas.created_by
   WHERE 
    id_fuente=@id_fuente
    AND fuente=@codigo_fuente
    AND visible=1
    AND fecha_informacion >= @Start
    AND fecha_informacion < @End;
   --
   RETURN;
  END
 ELSE IF ( @action = 'control_mensual' )
  BEGIN
   -- Devuelve las fuentes procesadas de un registro para toda el mes para un dia dado
   SET @Start=DATEADD(DAY,-DATEPART(DAY, @fecha_informacion), @fecha_informacion)
            SET @End=DATEADD(MONTH, 1, @Start)
   --
   SELECT 
    fuentes_procesadas.id_cendeu_procesado,
    fuentes_procesadas.fecha_informacion,
    fuentes_procesadas.fuente,
    fuentes_procesadas.visible,
    fuentes_procesadas.created,
    fuentes_procesadas.observaciones,
    fuentes_procesadas.created_by,
    fuentes_procesadas.ip,
    fuentes_procesadas.id_fuente,
    (users.first_name+' '+users.last_name) as usuario_creador
   FROM fuentes_procesadas
    LEFT JOIN users ON users.user_id=fuentes_procesadas.created_by
   WHERE 
    id_fuente=@id_fuente
    AND fuente=@codigo_fuente
    AND visible=1
    AND fecha_informacion > @Start
    AND fecha_informacion <= @End;
   --
   RETURN;
  END
    ELSE 
        BEGIN
            -- SELECT * from fuentes_procesadas WHERE fecha_informacion >= @fecha_desde AND fecha_informacion <= @fecha_hasta
   /*SELECT upper(fuente) as fuente,
    convert(varchar(10),fecha_informacion,103) as fecha_informacion,
    convert(varchar(10),created,103) as fecha_proceso 
    from fuentes_procesadas 
    where fecha_informacion between  @fecha_desde and @fecha_hasta
    order by fuente*/

            SELECT upper(fuentes_procesadas.fuente) as fuente,
   convert(varchar(10),fuentes_procesadas.fecha_informacion,103) as fecha_informacion,
   convert(varchar(10),fuentes_procesadas.created,103) as fecha_proceso, 
            UPPER(fuentes_descripciones.descripcion) as descripcion, 
            UPPER(fuentes_descripciones.proveedor) as proveedor
   from fuentes_procesadas LEFT JOIN fuentes_descripciones on upper(fuentes_descripciones.nombre) = fuente  
   where fecha_informacion between  @fecha_desde and @fecha_hasta
   order by fuente


        END
    
END

GO

Used By

No items found