
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER view [dbo].[VIEW_ZESTAWIENIE_FAKTUR_STARE] as
SELECT 
FAKTURY.ID_NABYWCY, 
FAKTURY.NUMER, 
FAKTURY.NUMER_ROZ, 
YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK,
MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS, 
FAKTURY.DATA_SPRZEDAZY, 
CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK) AS NR_FK,
[LISTA TYTUŁÓW].SYMB AS TYTUL, 
SUM(FAKTURA_DETAILS.NETTO) AS NETTO, 
FAKTURA_DETAILS.S_VAT, 
SUM(FAKTURA_DETAILS.VAT) AS VAT, 
ROUND(SUM(FAKTURA_DETAILS.NETTO) * (1 + FAKTURA_DETAILS.S_VAT), 2) AS BRUTTO, 
FAKTURY.waluta_brutto, 
FAKTURY.waluta_miano, 
COALESCE(FAKTURY.suma_zaplat, 0) AS suma_zaplat,
FAKTURY.ID_FAKTURY, 
AGENCI.Symbol, 
AGENCJE.Symbol AS Agencja, 
ZAPLACONO = CASE 
			WHEN NOT (Wplaty.dataWplaty IS NULL) THEN
				CASE 
					WHEN dbo.Wplaty.waluta_miano='PLN' THEN 
						CASE 
						WHEN K.ID_FAKTURY IS NOT NULL THEN
							CASE 
								WHEN ROUND(K.brutto-Wplaty.brutto,0)<=1 THEN 1
								ELSE 0
							END
						
						ELSE
							 CASE
								WHEN ROUND((ROUND(SUM(FAKTURA_DETAILS.NETTO) * (1 + FAKTURA_DETAILS.S_VAT), 2)-Wplaty.brutto),0)<=1 THEN 1
								ELSE 0
							 END
						END
					ELSE 
CASE 
						WHEN K.ID_FAKTURY IS NOT NULL THEN
							CASE 
								WHEN ROUND(K.waluta_brutto-Wplaty.waluta_brutto,0)<=1 THEN 1
								ELSE 0
							END
						
						ELSE
						CASE 
							WHEN (FAKTURY.waluta_miano IS NULL OR FAKTURY.waluta_miano='') AND ROUND((ROUND(SUM(FAKTURA_DETAILS.NETTO) * (1 + FAKTURA_DETAILS.S_VAT), 2)-Wplaty.brutto),0)<=1 THEN 1
							WHEN ROUND(FAKTURY.waluta_brutto-dbo.Wplaty.waluta_brutto, 0)<=1 THEN 1
							ELSE 0
						END
END
			END
			ELSE REKLAMA.ZAPŁACONO
END,
REKLAMA.ZAPŁACONO,
reklama.[DATA ZAPŁATY],
FAKTURY.zaplata_data,
reklama.[reklamaId], 
KLIENCI.firstname, 
FAKTURY.TERMIN_ZAPLATY,
Reklama.GRZBIET,FAKTURY.ID_TYTUL,
Wplaty.dataWplaty, 
Wplaty.brutto as wplata_brutto, 
dbo.Wplaty.waluta_brutto as wplata_waluta_brutto, 
dbo.Wplaty.waluta_miano as wplata_waluta_miano, 
Wplaty.idWplaty,
FAKTURY.Korekta,
Wplaty.idZamowienia,
IsKorekta = CASE WHEN K.ID_FAKTURY IS NOT NULL THEN 1 ELSE 0 END,
IdKorekty = K.ID_Faktury
FROM FAKTURY 
LEFT JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY 
LEFT JOIN [LISTA TYTUŁÓW] ON FAKTURY.ID_TYTUL = [LISTA TYTUŁÓW].id 
LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ 
LEFT JOIN AGENCJE ON AGENCI.ID_AGENCJI = AGENCJE.Id_agencji 
LEFT JOIN REKLAMA ON FAKTURY.[id_faktury] = reklama.[id_faktury] 
LEFT OUTER JOIN  KLIENCI ON FAKTURY.ID_NABYWCY = KLIENCI.customerId  
LEFT JOIN Wplaty on FAKTURY.Id_faktury= Wplaty.idfaktury 
LEFT JOIN VIEW_KOREKTY K ON K.idFakturyVat = FAKTURY.ID_FAKTURY
WHERE FAKTURY.KOREKTA<>1
GROUP BY 
FAKTURY.ID_NABYWCY, 
FAKTURY.NUMER, 
FAKTURY.NUMER_ROZ, 
FAKTURY.NUMER_ROZ, 
YEAR(FAKTURY.DATA_SPRZEDAZY), 
FAKTURY.DATA_SPRZEDAZY, 
CONVERT(VARCHAR, FAKTURY.NUMER) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROZ) + '/' + CONVERT(VARCHAR, FAKTURY.NUMER_ROK), 
FAKTURY.suma_zaplat, 
FAKTURA_DETAILS.S_VAT, 
FAKTURY.ID_FAKTURY, 
[LISTA TYTUŁÓW].SYMB, 
FAKTURY.waluta_brutto, 
FAKTURY.waluta_miano, 
AGENCI.Symbol, 
AGENCJE.Symbol, 
FAKTURY.ZAPLACONO,
reklama.[DATA ZAPŁATY], 
FAKTURY.zaplata_data, 
reklama.[reklamaId], 
REKLAMA.ZAPŁACONO, 
KLIENCI.firstname, 
FAKTURY.TERMIN_ZAPLATY, 
Reklama.GRZBIET,FAKTURY.ID_TYTUL,
Wplaty.dataWplaty,Wplaty.brutto, 
dbo.Wplaty.waluta_brutto, 
dbo.Wplaty.waluta_miano, 
Wplaty.idWplaty,
FAKTURY.Korekta,
Wplaty.idZamowienia,
K.ID_FAKTURY,
K.brutto,
K.waluta_brutto
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

