Files
WebGIM/GimDB/dbo/Stored Procedures/stp_elencoIntByIntervDateUserFilt_fermaPrev.sql
2017-01-27 22:26:50 +01:00

34 lines
1.9 KiB
SQL

/*************************************
* STORED PROCEDURE stp_elencoIntByIntervDateUserFilt
* Recupera elenco interventi a partire dalle date inizio/fine di ricerca e dall'username ed i relativi filtri di ricerca salvati
* e con rispetto filtro x int a macchian ferma o di mtz preventiva
*
* modif.: S.E.L. - 2010.01.25
**************************************/
create PROCEDURE stp_elencoIntByIntervDateUserFilt_fermaPrev
(
@inizio DATETIME,
@fine DATETIME,
@username VARCHAR(50),
@soloMaccFerma BIT,
@includiPreventiva BIT
)
AS
SELECT v_elencoIntervFilt.codImpianto, v_elencoIntervFilt.codMacchina, v_elencoIntervFilt.descrCausale, v_elencoIntervFilt.descrizione,
v_elencoIntervFilt.descrizioneIntervento, v_elencoIntervFilt.durataMtz, v_elencoIntervFilt.durataOff, v_elencoIntervFilt.fineIntervento,
v_elencoIntervFilt.guasto, v_elencoIntervFilt.idxImpianto, v_elencoIntervFilt.idxMacchina, v_elencoIntervFilt.idxStato,
v_elencoIntervFilt.inizioIntervento, v_elencoIntervFilt.minErogati, v_elencoIntervFilt.nomeImpianto, v_elencoIntervFilt.nomeMacchina,
v_elencoIntervFilt.numIntMtz, v_elencoIntervFilt.richiesta, v_elencoIntervFilt.isFermo, v_elencoIntervFilt.scheduled
FROM v_elencoIntervFilt INNER JOIN
FiltroImpianti ON v_elencoIntervFilt.idxImpianto = FiltroImpianti.idxImpianto INNER JOIN
FiltroMacchine ON v_elencoIntervFilt.idxMacchina = FiltroMacchine.idxMacchina INNER JOIN
FiltroStati ON v_elencoIntervFilt.idxStato = FiltroStati.idxStato
WHERE (v_elencoIntervFilt.richiesta BETWEEN @inizio AND @fine) AND (FiltroStati.username = @username)
AND (FiltroMacchine.username = @username) AND (FiltroImpianti.username = @username)
AND (v_elencoIntervFilt.isFermo = case @soloMaccFerma when 1 then 1 else v_elencoIntervFilt.isFermo end)
AND (v_elencoIntervFilt.scheduled = case @includiPreventiva when 0 then 0 else v_elencoIntervFilt.scheduled end)
RETURN