--declare @rok int
--declare @miesiac int

--set @rok=2009
--set @miesiac=1


SELECT 
FAKTURY.ID_FAKTURY, 
AGENCI.Symbol, 
CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK) AS NR_FK, 
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 Z.procentProwizji
    WHEN (NOT R.zablokuj_prowizje IS NULL) AND R.zablokuj_prowizje = 1 THEN R.[Procent Prowizji] 
	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 R.[Procent Prowizji] 
			ELSE P.procentProwizji 
		END 
END 
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 AGENCI.ID_AGENCJI = 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
WHERE     (FAKTURY.KOREKTA <> 1) AND (YEAR(Wplaty.dataWplaty) = @rok) AND (MONTH(Wplaty.dataWplaty) = @miesiac)
GROUP BY FAKTURY.DATA_WYSTAWIENIA, FAKTURY.ID_FAKTURY, 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
ORDER BY AGENCI.Symbol, FAKTURY.NUMER