Zbiór zmian 521 dla trunk/SQL

Pokaż
Ignoruj:
Data:
2009-04-02 14:12:10 (17 years ago)
Autor:
marek
Opis:

re #129

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/SQL/Reports/SprzedazReklam2009.txt

    r520 r521  
     1DECLARE @Korekty TABLE 
     2( 
     3        Agencja nvarchar(50), 
     4        Agent nvarchar(100), 
     5        Rok int, 
     6        Ms int, 
     7        NrRoz nvarchar(8), 
     8        Netto money, 
     9        Vat money, 
     10        Brutto money, 
     11        SumaZaplat money, 
     12        Ilosc int 
     13) 
     14INSERT INTO @Korekty 
    115SELECT Agencja, Agent, ROK, MS, NrRoz,  
    216SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc 
     
    418( 
    519        SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imiê AS Agent,  
     20        YEAR(Korekta.DATA_SPRZEDAZY) AS ROK, MONTH(Korekta.DATA_SPRZEDAZY) AS MS, Korekta.NUMER_ROZ AS NrRoz,  
     21        NETTO = (Korekta.Netto * -1), 
     22        VAT = ((Korekta.Vat) * -1), 
     23        BRUTTO = ((Korekta.Netto * (1 + Korekta.S_Vat)) * -1), 
     24        0 AS SZap 
     25        FROM VIEW_KOREKTY AS Korekta  
     26        INNER JOIN AGENCI ON Korekta.NUMER_ROZ = AGENCI.F_ROZ  
     27        INNER JOIN AGENCJE ON Korekta.Id_agencji = AGENCJE.Id_agencji 
     28        WHERE  
     29        YEAR(Korekta.DATA_SPRZEDAZY)=@rok AND MONTH(Korekta.DATA_SPRZEDAZY)=@miesiac 
     30        AND (AGENCJE.Id_agencji<>4 OR Korekta.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR Korekta.NUMER_ROZ ='POZ') 
     31        AND Korekta.SystemKsiegowyId IN (@systemKsiegowy) 
     32        GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imiê, Korekta.ID_FAKTURY, Korekta.DATA_SPRZEDAZY,  
     33        YEAR(Korekta.DATA_SPRZEDAZY), Korekta.NUMER_ROZ,  
     34        Korekta.Netto, Korekta.Vat, Korekta.Brutto, Korekta.S_Vat 
     35) T 
     36GROUP BY Agencja, Agent, ROK, MS, NrRoz 
     37 
     38 
     39DECLARE @Faktury TABLE 
     40( 
     41        Agencja nvarchar(50), 
     42        Agent nvarchar(100), 
     43        Rok int, 
     44        Ms int, 
     45        NrRoz nvarchar(8), 
     46        Netto money, 
     47        Vat money, 
     48        Brutto money, 
     49        SumaZaplat money, 
     50        Ilosc int 
     51) 
     52INSERT INTO @Faktury 
     53-- sprzedaz - faktury bez korekt 
     54SELECT Agencja COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agencja, Agent COLLATE SQL_Latin1_General_CP1250_CI_AS AS Agent, ROK, MS, NrRoz COLLATE SQL_Latin1_General_CP1250_CI_AS AS NrRoz,  
     55SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc 
     56FROM  
     57( 
     58        SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imiê AS Agent,  
    659        YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK, MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS, FAKTURY.NUMER_ROZ AS NrRoz,  
    7         NETTO = CASE  
    8                                 WHEN Korekta.Netto IS NULL THEN SUM(FAKTURA_DETAILS.NETTO) 
    9                                 ELSE Korekta.Netto 
    10                         END, 
    11         VAT = CASE  
    12                                 WHEN Korekta.Vat IS NULL THEN SUM(FAKTURA_DETAILS.VAT) 
    13                                 ELSE Korekta.Vat 
    14                         END, 
    15         BRUTTO = CASE  
    16                                 WHEN Korekta.Brutto IS NULL THEN SUM(FAKTURA_DETAILS.BRUTTO) 
    17                                 ELSE Korekta.Brutto 
    18                         END,     
    19  
    20 --      SUM(FAKTURA_DETAILS.NETTO) AS NETTO,  
    21 --      SUM(FAKTURA_DETAILS.VAT) AS VAT,  
    22 --      SUM(FAKTURA_DETAILS.BRUTTO) AS BRUTTO,  
    23          
     60        NETTO = SUM(FAKTURA_DETAILS.NETTO), 
     61        VAT = SUM(FAKTURA_DETAILS.NETTO * FAKTURA_DETAILS.S_VAT), 
     62        BRUTTO = SUM(FAKTURA_DETAILS.NETTO * (1 + FAKTURA_DETAILS.S_VAT)),       
    2463        FAKTURY.suma_zaplat AS SZap 
    2564        FROM FAKTURY  
     
    2766        LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ  
    2867        LEFT JOIN AGENCJE ON FAKTURY.ID_SPRZEDAWCY = AGENCJE.Id_agencji 
    29     LEFT OUTER JOIN dbo.VIEW_KOREKTY AS Korekta ON Korekta.idFakturyKorekta = FAKTURY.ID_FAKTURY 
    3068        WHERE  
    31         (YEAR(FAKTURY.DATA_SPRZEDAZY) =@rok) AND (MONTH(FAKTURY.DATA_SPRZEDAZY) = @miesiac)  
     69        YEAR(FAKTURY.DATA_SPRZEDAZY)=@rok AND MONTH(FAKTURY.DATA_SPRZEDAZY)=@miesiac 
     70 
    3271        AND (AGENCJE.Id_agencji<>4 OR FAKTURY.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR FAKTURY.NUMER_ROZ ='POZ') 
    3372        AND FAKTURY.KOREKTA=0 AND FAKTURY.SystemKsiegowyId IN (@systemKsiegowy) 
    3473        GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imiê, FAKTURY.ID_FAKTURY, FAKTURY.DATA_SPRZEDAZY,  
    35         YEAR(FAKTURY.DATA_SPRZEDAZY), FAKTURY.NUMER_ROZ, FAKTURY.suma_zaplat, FAKTURY.Korekta, 
    36         Korekta.Netto, Korekta.Vat, Korekta.Brutto 
     74        YEAR(FAKTURY.DATA_SPRZEDAZY), FAKTURY.NUMER_ROZ, FAKTURY.suma_zaplat, FAKTURY.Korekta 
    3775) T 
    3876GROUP BY Agencja, Agent, ROK, MS, NrRoz 
     77 
     78-- zrob update dla tych ktorzy mieli korekty 
     79UPDATE F 
     80SET F.Netto=F.Netto+K.Netto, F.Vat=F.Vat+K.Vat, F.Brutto=F.Brutto+K.Brutto 
     81FROM @Faktury F, @Korekty K 
     82WHERE F.Agencja=K.Agencja AND F.Agent=K.Agent 
     83 
     84-- dodaj tych ktorzy mieli korekty a nie mieli zadnej sprzedazy 
     85INSERT INTO @Faktury  
     86SELECT * FROM @Korekty WHERE NrRoz NOT IN (SELECT NrRoz FROM @Faktury) 
     87 
     88SELECT * FROM @Faktury 
    3989ORDER BY Agencja, Agent