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
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
Depends On
3Used By
No items found