| 1 |
|
|---|
| 2 | SET ANSI_NULLS ON
|
|---|
| 3 | GO
|
|---|
| 4 | SET QUOTED_IDENTIFIER ON
|
|---|
| 5 | GO
|
|---|
| 6 |
|
|---|
| 7 | ALTER PROCEDURE [dbo].[sp_adMotoRaportWyroznienia]
|
|---|
| 8 | @rok int,
|
|---|
| 9 | @miesiac int
|
|---|
| 10 | AS
|
|---|
| 11 |
|
|---|
| 12 | DECLARE @prowizjaPoz DECIMAL(9,4)
|
|---|
| 13 | DECLARE @prowizjaKat DECIMAL(9,4)
|
|---|
| 14 |
|
|---|
| 15 | exec sp_GetProcentProwizjiByAgencja 6, @rok, @miesiac, @prowizjaPoz OUTPUT
|
|---|
| 16 | exec sp_GetProcentProwizjiByAgencja 4, @rok, @miesiac, @prowizjaKat OUTPUT
|
|---|
| 17 |
|
|---|
| 18 | DECLARE @Wplywy TABLE
|
|---|
| 19 | (
|
|---|
| 20 | IdFaktury INT,
|
|---|
| 21 | NumerFaktury INT,
|
|---|
| 22 | Agent nvarchar(100),
|
|---|
| 23 | SymbolFaktury nvarchar(100),
|
|---|
| 24 | DataWplaty DATETIME,
|
|---|
| 25 | Wyroznienie MONEY,
|
|---|
| 26 | DataFaktury DATETIME,
|
|---|
| 27 | KwotaProwizji MONEY,
|
|---|
| 28 | Prowizja MONEY,
|
|---|
| 29 | Agencja nvarchar(100)
|
|---|
| 30 | )
|
|---|
| 31 | DECLARE @Sprzedaz TABLE
|
|---|
| 32 | (
|
|---|
| 33 | IdFaktury INT,
|
|---|
| 34 | NumerFaktury INT,
|
|---|
| 35 | Agent nvarchar(100),
|
|---|
| 36 | SymbolFaktury nvarchar(100),
|
|---|
| 37 | DataWplaty DATETIME,
|
|---|
| 38 | Wyroznienie MONEY,
|
|---|
| 39 | DataFaktury DATETIME,
|
|---|
| 40 | KwotaProwizji MONEY,
|
|---|
| 41 | Prowizja MONEY,
|
|---|
| 42 | Agencja nvarchar(100)
|
|---|
| 43 | )
|
|---|
| 44 |
|
|---|
| 45 | -- wplywy z wyroznien
|
|---|
| 46 | INSERT INTO @Wplywy
|
|---|
| 47 | SELECT ID_Faktury AS IdFaktury, NumerFaktury, Symbol AS Agent, Nr_Fk AS SymbolFaktury, DataWplaty, ROUND((Netto * 0.15)/1.15,2) AS Wyroznienie, DATA_WYSTAWIENIA AS DataFaktury,
|
|---|
| 48 | ROUND(((Netto * 0.15)/1.15)*procentProwizji, 2) AS KwotaProwizji, procentProwizji AS Prowizja, Agencja
|
|---|
| 49 |
|
|---|
| 50 | FROM WplywyByTytul_Wyroznienia
|
|---|
| 51 | WHERE
|
|---|
| 52 | YEAR(dataWplaty) = @rok
|
|---|
| 53 | AND MONTH(dataWplaty) = @miesiac
|
|---|
| 54 | ORDER BY Symbol, NumerFaktury
|
|---|
| 55 |
|
|---|
| 56 | UPDATE @Wplywy
|
|---|
| 57 | SET Prowizja = @prowizjaPoz, KwotaProwizji=(@prowizjaPoz*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
|
|---|
| 58 | WHERE Agencja='GS O/POZNAÑ'
|
|---|
| 59 |
|
|---|
| 60 | UPDATE @Wplywy
|
|---|
| 61 | SET Prowizja = @prowizjaKat, KwotaProwizji=(@prowizjaKat*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
|
|---|
| 62 | WHERE Agencja='GS O/KATOWICE'
|
|---|
| 63 |
|
|---|
| 64 | UPDATE @Wplywy
|
|---|
| 65 | SET Wyroznienie = NULL
|
|---|
| 66 | WHERE MONTH(DataFaktury)<@miesiac
|
|---|
| 67 |
|
|---|
| 68 |
|
|---|
| 69 | INSERT INTO @Sprzedaz
|
|---|
| 70 | -- sprzedaz reklam z wyroznieniem
|
|---|
| 71 | SELECT IdFaktury, NumerFaktury, Agent, SymbolFaktury, DataWplaty, SUM(Wyroznienie) AS Wyroznienie, DataFaktury, NULL AS KwotaProwizji, NULL AS Prowizja, Agencja
|
|---|
| 72 | FROM ReklamyWyroznienie
|
|---|
| 73 | WHERE Rok=@rok
|
|---|
| 74 | AND Miesiac=@miesiac
|
|---|
| 75 | GROUP BY IdFaktury, Rok, Miesiac, Agencja, Agent, NumerFaktury, SymbolFaktury, DataFaktury, DataWplaty
|
|---|
| 76 |
|
|---|
| 77 |
|
|---|
| 78 | SELECT * FROM @Wplywy
|
|---|
| 79 | UNION
|
|---|
| 80 | SELECT * FROM @Sprzedaz
|
|---|
| 81 | WHERE IdFaktury NOT IN (SELECT IdFaktury FROM @Wplywy)
|
|---|
| 82 | ORDER BY DataWplaty, Agent, NumerFaktury, Prowizja
|
|---|
| 83 | GO
|
|---|
| 84 |
|
|---|
| 85 | SET ANSI_NULLS OFF
|
|---|
| 86 | GO
|
|---|
| 87 | SET QUOTED_IDENTIFIER OFF
|
|---|
| 88 | GO
|
|---|
| 89 |
|
|---|