41 lines
1.8 KiB
SQL
41 lines
1.8 KiB
SQL
|
|
/***************************************
|
|
* 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
|
|
|