
/***************************************
* STORED stp_paretoPartByMagBlocco
*
* restituisce elenco particolari in logica pareto (quantità) per un dato blocco di magazzino, aggregati (no stato)
*
* Steamware, S.E.L.
* mod: 2010.06.03
*
****************************************/
CREATE PROCEDURE stp_paretoPartByMagBlocco
(
	@CodCS VARCHAR(2),
	@CodMag VARCHAR(50),
	@IdxBlocco INT
)
AS

	SELECT
			dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco, 
            dbo.ElencoCartellini.Particolare, '' as Esponente, COUNT(dbo.PosizioneUdcCorrente.UDC) AS NumUDC, ISNULL(MIN(dbo.PosizioneUdcCorrente.DataRif), 
            GETDATE()) AS Oldest, ISNULL(MAX(dbo.PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest, SUM(dbo.ElencoCartellini.Qta) AS QtaTotPz,
            '' AS DescStato
	FROM	dbo.AnagMag INNER JOIN
            dbo.Blocchi ON dbo.AnagMag.CodMag = dbo.Blocchi.CodMag AND dbo.AnagMag.CodCS = dbo.Blocchi.CodCS INNER JOIN
            dbo.Celle INNER JOIN
            dbo.ElencoCartellini INNER JOIN
            dbo.PosizioneUdcCorrente ON dbo.ElencoCartellini.UDC = dbo.PosizioneUdcCorrente.UDC 
            ON dbo.Celle.IdxCella = dbo.PosizioneUdcCorrente.IdxCella 
            ON dbo.Blocchi.IdxBlocco = dbo.Celle.IdxBlocco INNER JOIN
            dbo.AnagStatiProdotto ON dbo.ElencoCartellini.CodStato = dbo.AnagStatiProdotto.CodStato
WHERE       --(dbo.Celle.Attiva = 1) AND -- disattivata Redmine #46
            (AnagMag.CodCS = @CodCS) AND AnagMag.CodMag = @CodMag AND Blocchi.IdxBlocco = @IdxBlocco
GROUP BY	dbo.AnagMag.CodCS, dbo.AnagMag.CodMag, dbo.AnagMag.DescMag, dbo.Blocchi.IdxBlocco, dbo.Blocchi.CodBlocco, 
			dbo.Blocchi.NumX, dbo.Blocchi.NumY, dbo.Blocchi.NumZ, dbo.ElencoCartellini.Particolare
ORDER BY	QtaTotPz DESC

	
RETURN

