set xact_abort on; go begin transaction; go set ANSI_NULLS on; go /*************************************** * STORED stp_prtCartLiquidi_F18ByUDC * * ottiene il record del Cartellino Liquidi dato l'UDC richiesto x la stampa * * Steamware, S.E.L. * mod: 2011.12.19 * ****************************************/ alter PROCEDURE stp_prtCartLiquidi_F18ByUDC ( @UDC NVARCHAR(50) ) AS -- estraggo gli UDC parent di quello passato ( x max 10 ) per poi stamparlo nel campo -- NoteTratt che era utilizzato per stampare i trattamenti nel artellino F10 DECLARE @tmp NVARCHAR(500) DECLARE @NoteTratt NVARCHAR(500) -- usato per memorizzare gli UDC F10 parent associati SET @tmp = '' SELECT TOP 10 @tmp = @tmp + RTRIM(UDC_parent) + ' - ' from RelazUDC WHERE UDC_child = @UDC SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp))) -- ora seleziono i dati veri e propri SELECT ISNULL(ElencoCartellini.UDC, N'') AS UDC ,ISNULL(ElencoCartellini.CodCS, N'') AS CodCS ,ISNULL(ElencoCartellini.CodCliente, N'') AS codcliente ,ISNULL(ElencoCartellini.RagSociale, N'') AS ragsociale ,ISNULL(ElencoCartellini.Particolare, N'') AS particolare ,ISNULL(ElencoCartellini.DescParticolare, N'') AS DescParticolare ,ISNULL(ElencoCartellini.DisegnoGrezzo, N'') AS DisegnoGrezzo ,ISNULL(ElencoCartellini.Esponente, N'') AS esponente ,ISNULL(ElencoCartellini.CodImpianto, N'') AS CodImpianto ,ISNULL(ElencoCartellini.DescImpianto, N'') AS DescImpianto ,ISNULL(ElencoCartellini.CodStampo, N'') AS codstampo ,ISNULL(ElencoCartellini.Figura, N'') AS figura ,ISNULL(ElencoCartellini.DataFus, N'') AS datafus ,ISNULL(ElencoCartellini.TurnoFus, N'') AS turnofus ,ISNULL(ElencoCartellini.CodImballo, N'') AS CodImballo ,ISNULL(ElencoCartellini.CodSoggetto, N'') AS CodSoggetto ,ISNULL(ElencoCartellini.NumCont, N'') AS NumCont ,ISNULL(ElencoCartellini.Tara, N'') AS tara ,ISNULL(ElencoCartellini.Qta, N'') AS qta ,ISNULL(ElencoCartellini.CodStato, N'') AS CodStato ,ISNULL(ElencoCartellini.IdxPosizione, N'') AS IdxPosizione ,ISNULL(ElencoCartellini.PesoTot, N'') AS PesoTot ,ISNULL(ElencoCartellini.PesoCad, N'') AS PesoCad ,ElencoCartellini.CreateDate ,ElencoCartellini.ModDate ,ISNULL(RilPro.AnagOperatori.Cognome, N'') AS cognome ,ISNULL(RilPro.AnagOperatori.Nome, N'') AS nome ,ISNULL(AnagStatiProdotto.DescStato, N'') AS DescStato ,ISNULL(RilPro.AnagImballi.DescImballo, N'') AS DescImballo ,ISNULL(RilPro.AnagParticolari.CodFamiglia, N'') AS CodFamiglia ,ISNULL(RilPro.AnagFamiglie.DescFamiglia, N'') AS DescFamiglia ,ISNULL(ElencoCartellini.Note, N'') AS Note ,ISNULL(@NoteTratt, N'') AS NoteTratt FROM RilPro.AnagParticolari LEFT OUTER JOIN RilPro.AnagFamiglie ON RilPro.AnagParticolari.CodFamiglia = RilPro.AnagFamiglie.CodFamiglia RIGHT OUTER JOIN ElencoCartellini ON RilPro.AnagParticolari.Particolare = ElencoCartellini.Particolare LEFT OUTER JOIN AnagStatiProdotto ON ElencoCartellini.CodStato = AnagStatiProdotto.CodStato LEFT OUTER JOIN RilPro.AnagOperatori ON ElencoCartellini.CodSoggetto = RilPro.AnagOperatori.CodSoggetto LEFT OUTER JOIN RilPro.AnagImballi ON ElencoCartellini.CodImballo = RilPro.AnagImballi.CodImballo WHERE (ElencoCartellini.UDC = @UDC) RETURN go commit; go set xact_abort on; go begin transaction; go set ANSI_NULLS on; go /*************************************** * STORED stp_ParticolariOverview * * elenco di overview sullo stato dei magazzini (dettaglio a "maglie larghe") * * Steamware, S.E.L. * mod: 2012.05.18 * ****************************************/ alter PROCEDURE stp_magazzinoOverview ( @CodCS VARCHAR(2), @particolare NVARCHAR(15) = '' ) AS -- IN PRIMIS: controllo se particolare sia null metto ''... SET @particolare = ( SELECT ISNULL(@particolare, '') ) -- controllo se particolare vuoto o '*' mostro tutto... IF(@particolare = '' OR @particolare='*') BEGIN SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle, TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive, COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate, TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere, ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest FROM TipoCella INNER JOIN AnagMag INNER JOIN Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0) GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ, TipoCella.Capienza ORDER BY AnagMag.CodMag, Blocchi.CodBlocco END ELSE BEGIN SELECT AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, TipoCella.Capienza * Blocchi.NumX * Blocchi.NumY * Blocchi.NumZ AS TotCelle, TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) AS CelleAttive, COUNT(PosizioneUdcCorrente.UDC) AS CelleOccupate, TipoCella.Capienza * COUNT(DISTINCT Celle.IdxCella) - COUNT(PosizioneUdcCorrente.UDC) AS CelleLibere, ISNULL(MIN(PosizioneUdcCorrente.DataRif), GETDATE()) AS Oldest, ISNULL(MAX(PosizioneUdcCorrente.DataRif), GETDATE()) AS Newest FROM TipoCella INNER JOIN AnagMag INNER JOIN Blocchi ON AnagMag.CodMag = Blocchi.CodMag AND AnagMag.CodCS = Blocchi.CodCS ON TipoCella.CodMag = AnagMag.CodMag AND TipoCella.CodCS = AnagMag.CodCS LEFT OUTER JOIN Celle ON TipoCella.IdxTipoCella = Celle.IdxTipoCella AND Blocchi.IdxBlocco = Celle.IdxBlocco LEFT OUTER JOIN PosizioneUdcCorrente ON Celle.IdxCella = PosizioneUdcCorrente.IdxCella INNER JOIN ElencoCartellini ec ON PosizioneUdcCorrente.UDC = ec.UDC WHERE (Celle.Attiva = 1) AND (AnagMag.CodCS = @CodCS) AND (ISNULL(AnagMag.Nascosto, 0) = 0) AND ec.particolare = @particolare GROUP BY AnagMag.CodCS, AnagMag.CodMag, AnagMag.DescMag, Blocchi.IdxBlocco, Blocchi.CodBlocco, Blocchi.DescBlocco, Blocchi.NumX, Blocchi.NumY, Blocchi.NumZ, TipoCella.Capienza ORDER BY AnagMag.CodMag, Blocchi.CodBlocco END RETURN go commit; go set xact_abort on; go begin transaction; go drop procedure stp_annullaUDC; go drop procedure stp_UDC_insNew; go commit; go -- registro versione... INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(435, GETDATE()) GO