
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER VIEW [dbo].[WplywyByTytul]
AS
SELECT 
FAKTURY.ID_FAKTURY,
Symbol = 
CASE WHEN AGENCI.Symbol IS NULL THEN 
	CASE WHEN FAKTURY.ID_SPRZEDAWCY = 6 THEN 'przyłucki' 
		 WHEN FAKTURY.ID_SPRZEDAWCY = 4 THEN 'wodzu' 
		 ELSE AGENCI.Symbol 
	END
ELSE AGENCI.Symbol END,
FAKTURY.NUMER AS NumerFaktury,
NR_FK = CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK), 
KLIENCI.kodKlienta, 
Wplaty.symbolPotwierdzenia, 
Wplaty.rodzajPotwierdzenia, 
NETTO = CASE WHEN Korekta.Netto IS NULL THEN SUM(FAKTURA_DETAILS.NETTO) ELSE Korekta.Netto END, 
VAT = CASE WHEN Korekta.Netto IS NULL THEN SUM(FAKTURA_DETAILS.VAT) ELSE Korekta.Vat END, 
BRUTTO = CASE WHEN Korekta.Brutto IS NULL THEN SUM(FAKTURA_DETAILS.BRUTTO) ELSE Korekta.Brutto END, 
FAKTURY.DATA_WYSTAWIENIA, 
FAKTURY.TERMIN_ZAPLATY, 
FAKTURY.SPOSOB_ZAPLATY, 
AGENCJE.Symbol AS Agencja, 
Wplaty.dataWplaty, 
DATEDIFF(day, FAKTURY.TERMIN_ZAPLATY, Wplaty.dataWplaty) AS roznica_nowa, 
FAKTURY.suma_zaplat, 
FAKTURY.zaplata_data, 
DATEDIFF(day, FAKTURY.TERMIN_ZAPLATY, FAKTURY.zaplata_data) AS roznica_stara, 
procentProwizji =                    
CASE 
	WHEN Wplaty.rodzajPotwierdzenia = 'ECARD' THEN 0
	WHEN (NOT Z.ZP IS NULL) AND Z.ZP = 1 THEN COALESCE(Z.procentProwizji, 0)
    WHEN (NOT R.zablokuj_prowizje IS NULL) AND R.zablokuj_prowizje = 1 THEN COALESCE(R.[Procent Prowizji] , 0)
	WHEN DATEDIFF(day, FAKTURY.TERMIN_ZAPLATY, FAKTURY.zaplata_data) > 60 THEN 0 
	WHEN DATEDIFF(day, FAKTURY.TERMIN_ZAPLATY, Wplaty.dataWplaty) > 60 THEN 0 
	ELSE 
		CASE 
			WHEN FAKTURY.idZamowienia IS NULL 
			THEN COALESCE(R.[Procent Prowizji] , 0)
			ELSE COALESCE(P.procentProwizji  , 0)
		END 
END,
T.Symb AS Tytul
FROM         FAKTURY 
LEFT OUTER JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY 
LEFT OUTER JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ 
LEFT OUTER JOIN AGENCJE ON FAKTURY.ID_SPRZEDAWCY = AGENCJE.Id_agencji
LEFT OUTER JOIN Wplaty ON FAKTURY.ID_FAKTURY = Wplaty.idFaktury 
LEFT OUTER JOIN KLIENCI ON FAKTURY.ID_NABYWCY = KLIENCI.CustomerID 
LEFT OUTER JOIN PROWIZJE AS P ON P.idFaktury = FAKTURY.ID_FAKTURY 
LEFT OUTER JOIN VIEW_KOREKTY AS Korekta ON Korekta.idFakturyKorekta = FAKTURY.ID_FAKTURY 
LEFT OUTER JOIN REKLAMA AS R ON R.ID_FAKTURY = FAKTURY.ID_FAKTURY
LEFT OUTER JOIN Zamowienia AS Z ON FAKTURY.idZamowienia = Z.idZamowienia
LEFT OUTER JOIN dbo.[LISTA TYTUŁÓW] T on T.ID=FAKTURA_DETAILS.TYTUL
WHERE     (FAKTURY.KOREKTA <> 1) 
GROUP BY FAKTURY.DATA_WYSTAWIENIA, FAKTURY.ID_FAKTURY, FAKTURY.ID_SPRZEDAWCY, AGENCI.Symbol, CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, 
                      FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK), KLIENCI.kodKlienta, Wplaty.symbolPotwierdzenia, 
                      Wplaty.rodzajPotwierdzenia, FAKTURY.DATA_WYSTAWIENIA, FAKTURY.TERMIN_ZAPLATY, FAKTURY.SPOSOB_ZAPLATY, AGENCJE.Symbol, 
                      Wplaty.dataWplaty, DATEDIFF(day, FAKTURY.TERMIN_ZAPLATY, Wplaty.dataWplaty), FAKTURY.suma_zaplat, FAKTURY.zaplata_data, DATEDIFF(day, 
                      FAKTURY.TERMIN_ZAPLATY, FAKTURY.zaplata_data), P.procentProwizji, P.kwotaProwizji, Korekta.netto, Korekta.brutto, Korekta.vat, 
                      FAKTURY.idZamowienia, R.[PROCENT PROWIZJI], R.PROWIZJA, FAKTURY.NUMER, R.zablokuj_prowizje, Z.ZP, Z.procentProwizji, T.Symb
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

