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

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

re #150

RevLine 
[355]1
2SET ANSI_NULLS ON
3GO
4SET QUOTED_IDENTIFIER ON
5GO
6
7ALTER PROCEDURE [dbo].[sp_adMotoRaportWyroznienia]
8        @rok int,
[539]9        @miesiac int
[355]10AS
[539]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
[355]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,
[357]27    KwotaProwizji MONEY,
[355]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,
[357]40    KwotaProwizji MONEY,
[355]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,
[357]48ROUND(((Netto * 0.15)/1.15)*procentProwizji, 2) AS KwotaProwizji, procentProwizji AS Prowizja, Agencja
[355]49
[535]50FROM         WplywyByTytul_Wyroznienia
[355]51WHERE     
52YEAR(dataWplaty) = @rok
53AND MONTH(dataWplaty) = @miesiac
54ORDER BY Symbol, NumerFaktury
55
56UPDATE @Wplywy
[357]57SET Prowizja = @prowizjaPoz, KwotaProwizji=(@prowizjaPoz*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
[355]58WHERE Agencja='GS O/POZNAÑ'
59
60UPDATE @Wplywy
[357]61SET Prowizja = @prowizjaKat, KwotaProwizji=(@prowizjaKat*(Wyroznienie * 0.15)/1.15), Wyroznienie = NULL
[355]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
[357]71SELECT IdFaktury, NumerFaktury, Agent, SymbolFaktury, DataWplaty, SUM(Wyroznienie) AS Wyroznienie, DataFaktury, NULL AS KwotaProwizji, NULL AS Prowizja, Agencja
[355]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.