
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER Procedure [dbo].[PROC_WYLICZ_I_ZAPISZ_PROWIZJE_DO_REKLAM]
@ROK INTEGER = 2003,
@MS INTEGER = 2
AS

DECLARE @Reklama TABLE
(
ID INT,
Rok INT,
Miesiac INT,
Agent NVARCHAR(4000),
DataWplaty DATETIME
)

INSERT INTO @Reklama(ID, Rok, Miesiac, Agent, DataWplaty) 
SELECT ReklamaID, YEAR(W.DataWplaty), MONTH(W.DataWplaty), [SYMBOL AKWIZYTORA], W.DataWplaty
FROM dbo.REKLAMA R LEFT OUTER JOIN dbo.Wplaty W on R.[ID_Faktury] = W.idFaktury
WHERE  
([ZATWIERDZONO DO DRUKU] = 1) 
AND ([FAKTURA WYSTAWIONO] = 1) 
AND (YEAR(W.DataWplaty) = @ROK) 
AND (MONTH(W.DataWplaty) = @MS) 
AND  (zablokuj_prowizje = 0)
AND W.rodzajPotwierdzenia <> 'ECARD'
AND R.Typ NOT IN ('BARTER', 'BEZPŁATNA')


--WYZEROWANIE PROWIZJI (POZBYCIE SIĘ BZDUR)
UPDATE REKLAMA SET [PROCENT PROWIZJI]=0, PROWIZJA=0 
WHERE
ReklamaID IN (SELECT ID FROM @Reklama)

--NANIESIENIE PROWIZJI
UPDATE REKLAMA SET
[PROCENT PROWIZJI]=ROUND(RR.PR_PROWIZJI,4),
PROWIZJA=ROUND(RR.PR_PROWIZJI*REKLAMA.NETTO,2)
FROM
(
--WYBRANIE REKORDÓW DO PROWIZJI
SELECT R.ID, R.ROK, R.Miesiac, R.Agent, dbo.[PLAN].PR_PROWIZJI
FROM 
(
		SELECT ID, Rok, Miesiac, Agent FROM @Reklama
) 
R INNER JOIN dbo.[PLAN] ON  R.Agent = dbo.[PLAN].SYMBOL COLLATE DATABASE_DEFAULT
AND  R.Rok = dbo.[PLAN].ROK AND R.Miesiac = dbo.[PLAN].MS
) RR
--Końcówka instrukcji Update
INNER JOIN REKLAMA ON REKLAMA.ReklamaID = rr.ID
return
GO

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO

