root/trunk/SQL/StoredProcedures/sp_adMotoRaportWyroznienia.txt @ 357

Wersja 357, 2.2 KB (wprowadzona przez marek, 17 years temu)

re #92

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