| Line | |
|---|
| 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 | @prowizjaPoz money,
|
|---|
| 12 | @prowizjaKat money
|
|---|
| 13 | AS
|
|---|
| 14 | DECLARE @Wplywy TABLE
|
|---|
| 15 | (
|
|---|
| 16 | IdFaktury INT,
|
|---|
| 17 | NumerFaktury INT,
|
|---|
| 18 | Agent nvarchar(100),
|
|---|
| 19 | SymbolFaktury nvarchar(100),
|
|---|
| 20 | DataWplaty DATETIME,
|
|---|
| 21 | Netto MONEY,
|
|---|
| 22 | DataFaktury DATETIME,
|
|---|
| 23 | Prowizja MONEY,
|
|---|
| 24 | Agencja nvarchar(100)
|
|---|
| 25 | )
|
|---|
| 26 | DECLARE @Sprzedaz TABLE
|
|---|
| 27 | (
|
|---|
| 28 | IdFaktury INT,
|
|---|
| 29 | NumerFaktury INT,
|
|---|
| 30 | Agent nvarchar(100),
|
|---|
| 31 | SymbolFaktury nvarchar(100),
|
|---|
| 32 | DataWplaty DATETIME,
|
|---|
| 33 | Netto MONEY,
|
|---|
| 34 | DataFaktury DATETIME,
|
|---|
| 35 | Prowizja MONEY,
|
|---|
| 36 | Agencja nvarchar(100)
|
|---|
| 37 | )
|
|---|
| 38 |
|
|---|
| 39 | INSERT INTO @Wplywy
|
|---|
| 40 | SELECT
|
|---|
| 41 | ID_FAKTURY AS IdFaktury,
|
|---|
| 42 | NumerFaktury,
|
|---|
| 43 | LOWER(Symbol) AS Agent,
|
|---|
| 44 | NR_FK AS SymbolFaktury,
|
|---|
| 45 | dataWplaty AS DataWplaty,
|
|---|
| 46 | NETTO AS Netto,
|
|---|
| 47 | DATA_WYSTAWIENIA AS DataFaktury,
|
|---|
| 48 | ROUND(NETTO * procentProwizji, 2) AS Prowizja,
|
|---|
| 49 | Agencja
|
|---|
| 50 | FROM WplywyByTytul
|
|---|
| 51 | WHERE (YEAR(dataWplaty) = @rok)
|
|---|
| 52 | AND (MONTH(dataWplaty) = @miesiac)
|
|---|
| 53 | AND (Tytul IN (@tytul))
|
|---|
| 54 |
|
|---|
| 55 | IF @prowizjaPoz IS NOT NULL
|
|---|
| 56 | BEGIN
|
|---|
| 57 | UPDATE @Wplywy
|
|---|
| 58 | SET Prowizja=ROUND(NETTO * @prowizjaPoz, 2)
|
|---|
| 59 | WHERE Agencja='GS O/POZNAÑ'
|
|---|
| 60 | END
|
|---|
| 61 |
|
|---|
| 62 | IF @prowizjaKat IS NOT NULL
|
|---|
| 63 | BEGIN
|
|---|
| 64 | UPDATE @Wplywy
|
|---|
| 65 | SET Prowizja=ROUND(NETTO * @prowizjaKat, 2)
|
|---|
| 66 | WHERE Agencja='GS O/KATOWICE'
|
|---|
| 67 | END
|
|---|
| 68 |
|
|---|
| 69 |
|
|---|
| 70 | UPDATE @Wplywy
|
|---|
| 71 | SET Netto = NULL
|
|---|
| 72 | WHERE MONTH(DataFaktury)<@miesiac
|
|---|
| 73 |
|
|---|
| 74 | INSERT INTO @Sprzedaz
|
|---|
| 75 | SELECT
|
|---|
| 76 | Id AS IdFaktury,
|
|---|
| 77 | Numer AS NumerFaktury,
|
|---|
| 78 | Agent,
|
|---|
| 79 | NumerFaktury AS SymbolFaktury,
|
|---|
| 80 | NULL AS DataWplaty,
|
|---|
| 81 | Netto,
|
|---|
| 82 | Data AS DataFaktury,
|
|---|
| 83 | NULL AS Prowizja,
|
|---|
| 84 | Agencja
|
|---|
| 85 | FROM FakturyNettoByTytul
|
|---|
| 86 | WHERE
|
|---|
| 87 | (YEAR(Data) = @rok)
|
|---|
| 88 | AND (MONTH(Data) in (@miesiac))
|
|---|
| 89 | AND (Tytul in (@tytul))
|
|---|
| 90 |
|
|---|
| 91 | SELECT * FROM @Wplywy
|
|---|
| 92 | UNION
|
|---|
| 93 | SELECT * FROM @Sprzedaz
|
|---|
| 94 | WHERE IdFaktury NOT IN (SELECT IdFaktury FROM @Wplywy)
|
|---|
| 95 | ORDER BY DataWplaty, Agent, NumerFaktury
|
|---|
| 96 | GO
|
|---|
| 97 |
|
|---|
| 98 | SET ANSI_NULLS OFF
|
|---|
| 99 | GO
|
|---|
| 100 | SET QUOTED_IDENTIFIER OFF
|
|---|
| 101 | GO
|
|---|
| 102 |
|
|---|
Notatka: Zobacz
TracBrowser
aby uzyskać więcej informacji.