
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER VIEW [dbo].[WplywyByTytul]
AS
SELECT 
F.ID_FAKTURY,
Symbol = 
CASE WHEN AGENCI.Symbol IS NULL THEN 
	CASE WHEN F.ID_SPRZEDAWCY = 6 THEN 'przyłucki' 
		 WHEN F.ID_SPRZEDAWCY = 4 THEN 'wodzu' 
		 ELSE AGENCI.Symbol 
	END
ELSE AGENCI.Symbol END,
InvoiceProvider = AGENCI.InvoiceProviderId,
F.NUMER AS NumerFaktury,
NR_FK = CONVERT(VARCHAR, F.NUMER) + '/' + CONVERT(VARCHAR, F.NUMER_ROZ) + '/' + CONVERT(VARCHAR, F.NUMER_ROK), 
KLIENCI.kodKlienta, 
Wplaty.symbolPotwierdzenia, 
Wplaty.rodzajPotwierdzenia, 
FWW.Netto, 
FWW.Vat, 
FWW.Brutto, 
F.DATA_WYSTAWIENIA, 
F.TERMIN_ZAPLATY, 
F.SPOSOB_ZAPLATY,
AGENCJE.Id_Agencji AS AgencjaId,  
AGENCJE.Symbol AS Agencja, 
Wplaty.dataWplaty, 
DATEDIFF(day, F.TERMIN_ZAPLATY, Wplaty.dataWplaty) AS roznica_nowa, 
F.suma_zaplat, 
F.zaplata_data, 
DATEDIFF(day, F.TERMIN_ZAPLATY, F.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, F.TERMIN_ZAPLATY, F.zaplata_data) > 60 THEN 0 
	WHEN DATEDIFF(day, F.TERMIN_ZAPLATY, Wplaty.dataWplaty) > 60 THEN 0 
	ELSE 
		CASE 
			WHEN F.idZamowienia IS NULL 
			THEN COALESCE(R.[Procent Prowizji] , 0)
			ELSE COALESCE(P.procentProwizji  , 0)
		END 
END,
T.Symb AS Tytul,
F.SystemKsiegowyId
FROM  FAKTURY F 
LEFT OUTER JOIN FAKTURA_DETAILS FD ON F.ID_FAKTURY = FD.ID_FAKTURY 
LEFT OUTER JOIN AGENCI ON F.NUMER_ROZ = AGENCI.F_ROZ 
LEFT OUTER JOIN AGENCJE ON F.ID_SPRZEDAWCY = AGENCJE.Id_agencji
LEFT OUTER JOIN Wplaty ON F.ID_FAKTURY = Wplaty.idFaktury 
LEFT OUTER JOIN KLIENCI ON F.ID_NABYWCY = KLIENCI.CustomerID 
LEFT OUTER JOIN PROWIZJE AS P ON P.idFaktury = F.ID_FAKTURY 
LEFT OUTER JOIN FakturyWartoscWplaty AS FWW ON FWW.IdFaktury = F.ID_FAKTURY AND FWW.IdTytulu=FD.Tytul
LEFT OUTER JOIN REKLAMA AS R ON R.ID_FAKTURY = F.ID_FAKTURY
LEFT OUTER JOIN Zamowienia AS Z ON F.idZamowienia = Z.idZamowienia
LEFT OUTER JOIN dbo.[LISTA TYTUŁÓW] T on T.ID=FD.TYTUL
WHERE     (F.KOREKTA <> 1) 
AND 
( (FWW.WalutaMiano='PLN' AND ROUND((FWW.Brutto - FWW.WplataBrutto), 0) <= 1)
  OR
  (FWW.WalutaMiano<>'PLN' AND ROUND((FWW.WalutaBrutto - FWW.WplataWaluta), 0) <= 1)
)
GROUP BY 
F.DATA_WYSTAWIENIA, F.ID_FAKTURY, F.ID_SPRZEDAWCY, 
CONVERT(VARCHAR, F.NUMER) + '/' + CONVERT(VARCHAR, F.NUMER_ROZ) + '/' + CONVERT(VARCHAR, F.NUMER_ROK), 
F.DATA_WYSTAWIENIA, F.TERMIN_ZAPLATY, F.SPOSOB_ZAPLATY, 
F.suma_zaplat, F.zaplata_data, DATEDIFF(day, F.TERMIN_ZAPLATY, F.zaplata_data), 
F.idZamowienia, F.NUMER, 
DATEDIFF(day, F.TERMIN_ZAPLATY, Wplaty.dataWplaty), 
Wplaty.symbolPotwierdzenia, Wplaty.rodzajPotwierdzenia, 
Wplaty.dataWplaty, 
AGENCJE.Id_Agencji,
AGENCI.Symbol,
AGENCI.InvoiceProviderId, 
AGENCJE.Symbol, 
KLIENCI.kodKlienta, 
P.procentProwizji,
R.[PROCENT PROWIZJI], R.PROWIZJA, R.zablokuj_prowizje, 
Z.ZP, Z.procentProwizji, 
T.Symb,
FWW.Netto,
FWW.Brutto,
FWW.Vat,
F.SystemKsiegowyId
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

