/***************************************
* STORED stp_prtCartTrattatiByUDC
*
* ottiene il record del Cartellino Trattati dato l'UDC richiesto x la stampa
*
* Steamware, S.E.L. - G.A.R.
* mod: 2014.02.04
*
****************************************/
CREATE PROCEDURE [dbo].[stp_prtCartTrattatiByUDC]
(
	@UDC NVARCHAR(50)
)
AS

    -- estraggo i UDC con Relazione nelle note cmq ( x max 10 )
	DECLARE @tmp		NVARCHAR(500)
	DECLARE @NoteTratt	NVARCHAR(500)
	SET @tmp = ''

    -- estraggo gli UDC parent di quello passato ( x max 10 ) per poi stamparlo nel campo NoteTratt
    -- prendo solo la parte necessaria dell' UDC per usare meno spazio possibile
    -- Prima estraggo i numero trattamenti e li accodo
	--SELECT TOP 3 @tmp = @tmp + RIGHT(UDC_PARENT,8) + ' - ' FROM RelazUDC AS r
 --   --INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC            -- il parent deve esistere ( escludo UDC cancellati )
 --   WHERE r.UDC_child = @UDC AND LEFT(UDC_parent,5) = 'UTKTR'      -- prendo solo i trattamenti
 --   ORDER BY r.UDC_parent

	SELECT TOP 5 @tmp = @tmp + RIGHT(tr.ValAttr,10) + ' - ' 
    FROM dbo.Attr2UDC AS tr    
    WHERE tr.UDC = @UDC AND tr.CodAttr = 'NT'    -- prendo attributo trattamento

    SET @tmp = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp))) +  char(10) + char(13)  -- tolgo ultimo trattino + a capo

    -- sistemo intestazione nel caso non ci siano trattamenti
    SET @tmp = CASE @tmp WHEN '' THEN 'UDC : ' ELSE 'Trattamento : ' + @tmp + ' UDC : ' END ;

	SELECT TOP 5 @tmp = @tmp + RIGHT(UDC_parent,10) + ' - ' FROM RelazUDC AS r
    INNER JOIN dbo.ElencoCartellini AS e ON r.UDC_parent = e.UDC            -- il parent deve esistere ( escludo i cancellati )
    WHERE r.UDC_child = @UDC
    ORDER BY r.UDC_parent

	SET @NoteTratt = (SELECT SUBSTRING(@tmp, 0, LEN(@tmp)))   -- tolgo ultimo trattino

	-- ora seleziono i dati veri e propri
    SELECT
           e.UDC,
           e.CodCS,
           ISNULL( e.CodCliente,N'' )AS      codcliente,
           ISNULL( e.RagSociale,N'' )AS      ragsociale,
           ISNULL( e.Particolare,N'' )AS     particolare,
           ISNULL( e.DescParticolare,N'' )AS descparticolare,
           ISNULL( e.DisegnoGrezzo,N'' )AS   disegnogrezzo,
           ISNULL( e.Esponente,N'' )AS       esponente,
           ISNULL( e.CodImpianto,N'' )AS     codimpianto,
           ISNULL( e.DescImpianto,N'' )AS    descimpianto,
           ISNULL( e.CodStampo,N'' )AS       codstampo,
           ISNULL( e.Figura,N'' )AS          figura,
           ISNULL( e.DataFus,N'' )AS         datafus,
           ISNULL( e.TurnoFus,0 )AS          turnofus,
           ISNULL( e.CodImballo,N'' )AS      codimballo,
           ISNULL( e.CodSoggetto,N'' )AS     codsoggetto,
           ISNULL( e.NumCont,0 )AS           numcont,
           ISNULL( e.Tara,0 )AS              tara,
           ISNULL( e.Qta,0 )AS               qta,
           ISNULL( e.CodStato,N'' )AS        codstato,
           ISNULL( e.IdxPosizione,0 )AS      idxposizione,
           ISNULL( e.PesoTot,0 )AS           pesotot,
           ISNULL( e.PesoCad,0 )AS           pesocad,
           e.CreateDate,
           e.ModDate,
           ISNULL( o.Cognome,N'' )AS         cognome,
           ISNULL( o.Nome,N'' )AS            nome,
           ISNULL( sp.DescStato,N'' )AS      descstato,
           ISNULL( i.DescImballo,N'' )AS     descimballo,
           a.CodFamiglia,
           f.DescFamiglia,
           ISNULL( e.Note,N'' )AS            Note,
           @NoteTratt AS                     NoteTratt
    FROM ElencoCartellini AS e
    LEFT OUTER JOIN RilPro.AnagParticolari AS a
           ON e.Particolare = a.Particolare
    LEFT OUTER JOIN RilPro.AnagFamiglie AS f
           ON a.CodFamiglia = f.CodFamiglia
    LEFT OUTER JOIN AnagStatiProdotto AS sp
           ON e.CodStato = sp.CodStato
    LEFT OUTER JOIN RilPro.AnagOperatori AS o
           ON e.CodSoggetto = o.CodSoggetto
    LEFT OUTER JOIN RilPro.AnagImballi AS i
           ON e.CodImballo = i.CodImballo
    WHERE e.UDC = @UDC;
 

RETURN







