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

Wersja 539, 2.3 KB (wprowadzona przez marek, 17 years temu)

re #150

Line 
1
2SET ANSI_NULLS ON
3GO
4SET QUOTED_IDENTIFIER ON
5GO
6
7ALTER PROCEDURE [dbo].[sp_adMotoRaportWyroznienia]
8        @rok int,
9        @miesiac int
10AS
11
12DECLARE @prowizjaPoz DECIMAL(9,4)
13DECLARE @prowizjaKat DECIMAL(9,4)
14
15exec sp_GetProcentProwizjiByAgencja 6, @rok, @miesiac, @prowizjaPoz OUTPUT
16exec sp_GetProcentProwizjiByAgencja 4, @rok, @miesiac, @prowizjaKat OUTPUT
17
18DECLARE @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)
31DECLARE @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
46INSERT INTO @Wplywy
47SELECT 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,
48ROUND(((Netto * 0.15)/1.15)*procentProwizji, 2) AS KwotaProwizji, procentProwizji AS Prowizja, Agencja
49
50FROM         WplywyByTytul_Wyroznienia
51WHERE     
52YEAR(dataWplaty) = @rok
53AND MONTH(dataWplaty) = @miesiac
54ORDER BY Symbol, NumerFaktury
55
56UPDATE @Wplywy
57SET Prowizja = @prowizjaPoz, KwotaProwizji=(@prowizjaPoz*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
58WHERE Agencja='GS O/POZNAÑ'
59
60UPDATE @Wplywy
61SET Prowizja = @prowizjaKat, KwotaProwizji=(@prowizjaKat*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
62WHERE Agencja='GS O/KATOWICE'
63
64UPDATE @Wplywy
65SET Wyroznienie = NULL
66WHERE MONTH(DataFaktury)<@miesiac
67
68
69INSERT INTO @Sprzedaz
70-- sprzedaz reklam z wyroznieniem
71SELECT IdFaktury, NumerFaktury, Agent, SymbolFaktury, DataWplaty, SUM(Wyroznienie) AS Wyroznienie, DataFaktury, NULL AS KwotaProwizji, NULL AS Prowizja, Agencja
72FROM ReklamyWyroznienie
73WHERE Rok=@rok
74AND Miesiac=@miesiac
75GROUP BY IdFaktury, Rok, Miesiac, Agencja, Agent, NumerFaktury, SymbolFaktury, DataFaktury, DataWplaty
76
77
78SELECT * FROM @Wplywy
79UNION
80SELECT * FROM @Sprzedaz
81WHERE IdFaktury NOT IN (SELECT IdFaktury FROM @Wplywy)
82ORDER BY DataWplaty, Agent, NumerFaktury, Prowizja
83GO
84
85SET ANSI_NULLS OFF
86GO
87SET QUOTED_IDENTIFIER OFF
88GO
89
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.