/************************************* * 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