| 1 |
|
|---|
| 2 | SET ANSI_NULLS ON
|
|---|
| 3 | GO
|
|---|
| 4 | SET QUOTED_IDENTIFIER ON
|
|---|
| 5 | GO
|
|---|
| 6 |
|
|---|
| 7 | ALTER PROCEDURE [dbo].[sp_adMotoRaportProwizja]
|
|---|
| 8 | @rok int,
|
|---|
| 9 | @miesiac int,
|
|---|
| 10 | @tytul nvarchar(100)
|
|---|
| 11 | AS
|
|---|
| 12 | DECLARE @prowizjaPoz DECIMAL(9,4)
|
|---|
| 13 | DECLARE @prowizjaKat money
|
|---|
| 14 |
|
|---|
| 15 | exec sp_GetProcentProwizjiByAgencja 6, @rok, @miesiac, @prowizjaPoz OUTPUT
|
|---|
| 16 | exec sp_GetProcentProwizjiByAgencja 4, @rok, @miesiac, @prowizjaKat OUTPUT
|
|---|
| 17 |
|
|---|
| 18 |
|
|---|
| 19 | DECLARE @Wplywy TABLE
|
|---|
| 20 | (
|
|---|
| 21 | IdFaktury INT,
|
|---|
| 22 | NumerFaktury INT,
|
|---|
| 23 | Agent nvarchar(100),
|
|---|
| 24 | SymbolFaktury nvarchar(100),
|
|---|
| 25 | DataWplaty DATETIME,
|
|---|
| 26 | Netto MONEY,
|
|---|
| 27 | DataFaktury DATETIME,
|
|---|
| 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 | Netto MONEY,
|
|---|
| 39 | DataFaktury DATETIME,
|
|---|
| 40 | Prowizja MONEY,
|
|---|
| 41 | Agencja nvarchar(100)
|
|---|
| 42 | )
|
|---|
| 43 |
|
|---|
| 44 | INSERT INTO @Wplywy
|
|---|
| 45 | SELECT
|
|---|
| 46 | ID_FAKTURY AS IdFaktury,
|
|---|
| 47 | NumerFaktury,
|
|---|
| 48 | LOWER(Symbol) AS Agent,
|
|---|
| 49 | NR_FK AS SymbolFaktury,
|
|---|
| 50 | dataWplaty AS DataWplaty,
|
|---|
| 51 | NETTO AS Netto,
|
|---|
| 52 | DATA_WYSTAWIENIA AS DataFaktury,
|
|---|
| 53 | ROUND(NETTO * procentProwizji, 2) AS Prowizja,
|
|---|
| 54 | Agencja
|
|---|
| 55 | FROM WplywyByTytul
|
|---|
| 56 | WHERE (YEAR(dataWplaty) = @rok)
|
|---|
| 57 | AND (MONTH(dataWplaty) = @miesiac)
|
|---|
| 58 | AND (Tytul IN (@tytul))
|
|---|
| 59 |
|
|---|
| 60 | IF @prowizjaPoz IS NOT NULL
|
|---|
| 61 | BEGIN
|
|---|
| 62 | UPDATE @Wplywy
|
|---|
| 63 | SET Prowizja=ROUND(NETTO * @prowizjaPoz, 2), Netto = NULL
|
|---|
| 64 | WHERE Agencja='GS O/POZNAÑ'
|
|---|
| 65 | END
|
|---|
| 66 |
|
|---|
| 67 | IF @prowizjaKat IS NOT NULL
|
|---|
| 68 | BEGIN
|
|---|
| 69 | UPDATE @Wplywy
|
|---|
| 70 | SET Prowizja=ROUND(NETTO * @prowizjaKat, 2), Netto = NULL
|
|---|
| 71 | WHERE Agencja='GS O/KATOWICE'
|
|---|
| 72 | END
|
|---|
| 73 |
|
|---|
| 74 |
|
|---|
| 75 | UPDATE @Wplywy
|
|---|
| 76 | SET Netto = NULL
|
|---|
| 77 | WHERE MONTH(DataFaktury)<@miesiac
|
|---|
| 78 |
|
|---|
| 79 | INSERT INTO @Sprzedaz
|
|---|
| 80 | SELECT
|
|---|
| 81 | Id AS IdFaktury,
|
|---|
| 82 | Numer AS NumerFaktury,
|
|---|
| 83 | Agent,
|
|---|
| 84 | NumerFaktury AS SymbolFaktury,
|
|---|
| 85 | NULL AS DataWplaty,
|
|---|
| 86 | Netto,
|
|---|
| 87 | Data AS DataFaktury,
|
|---|
| 88 | NULL AS Prowizja,
|
|---|
| 89 | Agencja
|
|---|
| 90 | FROM FakturyNettoByTytul
|
|---|
| 91 | WHERE
|
|---|
| 92 | (YEAR(Data) = @rok)
|
|---|
| 93 | AND (MONTH(Data) in (@miesiac))
|
|---|
| 94 | AND (Tytul in (@tytul))
|
|---|
| 95 |
|
|---|
| 96 | SELECT * FROM @Wplywy
|
|---|
| 97 | UNION
|
|---|
| 98 | SELECT * FROM @Sprzedaz
|
|---|
| 99 | WHERE IdFaktury NOT IN (SELECT IdFaktury FROM @Wplywy)
|
|---|
| 100 | ORDER BY DataWplaty, Agent, NumerFaktury
|
|---|
| 101 | GO
|
|---|
| 102 |
|
|---|
| 103 | SET ANSI_NULLS OFF
|
|---|
| 104 | GO
|
|---|
| 105 | SET QUOTED_IDENTIFIER OFF
|
|---|
| 106 | GO
|
|---|
| 107 |
|
|---|