69 lines
2.3 KiB
Transact-SQL
69 lines
2.3 KiB
Transact-SQL
|
|
|
|
|
|
/*************************************
|
|
* STORED PROCEDURE stp_elencoIntByIntervDateUserFiltExtended
|
|
* Recupera elenco interventi a partire dalle date inizio/fine di ricerca e dall'username ed i relativi filtri di ricerca salvati
|
|
*
|
|
* Versione estesa x stampa con Totale Importo Materiali e Ore Operatori Esterni
|
|
* NOTE : Le Ore Operatori Esterni sono TUTTE quelle con UM = MIN ( minuti )
|
|
*
|
|
* Steamware
|
|
* modif. 2015.10.29
|
|
**************************************/
|
|
CREATE PROCEDURE [dbo].[stp_elencoIntByIntervDateUserFiltExtended]
|
|
(
|
|
@inizio DATETIME
|
|
,@fine DATETIME
|
|
,@username VARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
SELECT
|
|
IntervFilt.codImpianto
|
|
,IntervFilt.codMacchina
|
|
,IntervFilt.descrCausale
|
|
,IntervFilt.descrizione
|
|
,IntervFilt.descrizioneIntervento
|
|
,IntervFilt.durataMtz
|
|
,IntervFilt.durataOff
|
|
,IntervFilt.fineIntervento
|
|
,IntervFilt.guasto
|
|
,IntervFilt.idxImpianto
|
|
,IntervFilt.idxMacchina
|
|
,IntervFilt.idxStato
|
|
,IntervFilt.inizioIntervento
|
|
,IntervFilt.minErogati
|
|
,IntervFilt.nomeImpianto
|
|
,IntervFilt.nomeMacchina
|
|
,IntervFilt.numIntMtz
|
|
,IntervFilt.richiesta
|
|
,IntervFilt.isFermo
|
|
,IntervFilt.scheduled
|
|
-- estraggo TOTALE importo della Risorsa MAT ( Materiali )
|
|
,( SELECT ISNULL(SUM(TotImport),0) FROM dbo.ImpiegoRisorse AS RisMAT
|
|
WHERE CodRisorsa = 'MAT' AND RisMAT.numIntMtz = IntervFilt.numIntMtz ) AS totImpMat
|
|
|
|
-- estraggo TOTALE Quantità della ORE operatori Esterni - presupposto che tutte causali con UM = ORE siano di opearori esterni
|
|
,( SELECT ISNULL(SUM(QtaRisorsa),0) FROM dbo.ImpiegoRisorse AS RisMAT
|
|
INNER JOIN dbo.AnagTipoRisorsa AS AnagRis
|
|
ON RisMAT.CodRisorsa = AnagRis.CodRisorsa
|
|
WHERE AnagRis.UM = 'MIN' AND RisMAT.numIntMtz = IntervFilt.numIntMtz ) / 60 AS totQtaHR
|
|
|
|
FROM v_elencoIntervFilt AS IntervFilt
|
|
INNER JOIN FiltroImpianti
|
|
ON IntervFilt.idxImpianto = FiltroImpianti.idxImpianto
|
|
INNER JOIN FiltroMacchine
|
|
ON IntervFilt.idxMacchina = FiltroMacchine.idxMacchina
|
|
INNER JOIN FiltroStati
|
|
ON IntervFilt.idxStato = FiltroStati.idxStato
|
|
|
|
WHERE (IntervFilt.richiesta BETWEEN @inizio AND @fine)
|
|
AND (FiltroStati.username = @username)
|
|
AND (FiltroMacchine.username = @username)
|
|
AND (FiltroImpianti.username = @username)
|
|
|
|
RETURN
|
|
|
|
|