
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER VIEW [dbo].[VIEW_ZESTAWIENIE_ZAMOWIEN_NOWE]
AS
SELECT DISTINCT
A2.Symbol AS agencja, 
A1.Symbol AS agent, 
z.idZamowienia, 
z.idKlienta, 
z.nrZamowienia, 
z.rokZamowienia, 
z.kodAgenta, 
K.kodKlienta + '/' + CAST(z.nrZamowienia AS nvarchar) + '/' + z.kodAgenta + '/' + CAST(z.rokZamowienia AS nvarchar) AS nrZamowieniaExt, 
R.iloscReklam, 
R.wartoscNetto, 
R.kwotaWalutaBrutto, 
ZE.data1 AS data_od, 
ZFK.data1 AS data_od_bez_FK, 
ZNFK.nettoZafakturowane, 
DoZafakturowania = 
CASE
WHEN (R.kwotaWalutaBrutto IS NULL OR R.kwotaWalutaBrutto=0) THEN
	CASE COALESCE(Korekta.Netto, 0)
		WHEN 0 THEN (R.wartoscNetto - ZNFK.nettoZafakturowane)
		ELSE Korekta.Netto - ZNFK.nettoZafakturowane
	END
ELSE
	CASE COALESCE(Korekta.waluta_brutto, 0)
		WHEN 0 THEN 
			CASE 
			WHEN F.waluta_kurs IS NULL THEN (R.wartoscNetto - ZNFK.nettoZafakturowane)
			ELSE ROUND(F.waluta_kurs * (R.kwotaWalutaBrutto - (ZNFK.nettoZafakturowane/F.waluta_kurs)), 0)
			END
		ELSE  
			ROUND(F.waluta_kurs * (Korekta.waluta_brutto - (ZNFK.nettoZafakturowane/F.waluta_kurs)), 0)
	END
END,
K.kodKlienta, 
r.Brutto_Euro_Miano, 
COALESCE(Korekta.Netto, 0) AS Korekta
FROM dbo.zamowienia AS z 
LEFT OUTER JOIN dbo.AGENCI AS A1 ON z.kodAgenta = A1.F_ROZ 
LEFT OUTER JOIN dbo.AGENCJE AS A2 ON A1.ID_AGENCJI = A2.Id_agencji 
LEFT OUTER JOIN dbo.KLIENCI AS K ON K.CustomerID = z.idKlienta 
LEFT OUTER JOIN dbo.ZAMOWIENIA_REKLAMY AS r ON z.idZamowienia = r.idZamowienia 
LEFT OUTER JOIN dbo.ZAMOWIENIA_1EMISJA AS ZE ON ZE.idZamowienia = z.idZamowienia 
LEFT OUTER JOIN dbo.ZAMOWIENIA_1EMISJA_bezFK AS ZFK ON ZFK.idZamowienia = z.idZamowienia 
LEFT OUTER JOIN dbo.ZAMOWIENIA_NETTO_ZAFAKTUROWANE AS ZNFK ON ZNFK.idZamowienia = z.idZamowienia 
LEFT OUTER JOIN dbo.VIEW_KOREKTY AS Korekta ON Korekta.idZamowienia = z.idZamowienia
LEFT OUTER JOIN dbo.Faktury AS F ON F.idZamowienia = z.idZamowienia
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

