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

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

re #92

Line 
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,
23    KwotaProwizji MONEY,
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,
36    KwotaProwizji MONEY,
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,
44ROUND(((Netto * 0.15)/1.15)*procentProwizji, 2) AS KwotaProwizji, procentProwizji AS Prowizja, Agencja
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
55SET Prowizja = @prowizjaPoz, KwotaProwizji=(@prowizjaPoz*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
56WHERE Agencja='GS O/POZNAÑ'
57
58UPDATE @Wplywy
59SET Prowizja = @prowizjaKat, KwotaProwizji=(@prowizjaKat*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
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
70SELECT IdFaktury, NumerFaktury, Agent, SymbolFaktury, DataWplaty, SUM(Wyroznienie) AS Wyroznienie, DataFaktury, NULL AS KwotaProwizji, NULL AS Prowizja, Agencja
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.