| 1 | DECLARE @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 | )
|
|---|
| 14 | INSERT INTO @Korekty
|
|---|
| 15 | SELECT Agencja, Agent, ROK, MS, NrRoz,
|
|---|
| 16 | SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
|
|---|
| 17 | FROM
|
|---|
| 18 | (
|
|---|
| 19 | 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
|
|---|
| 36 | GROUP BY Agencja, Agent, ROK, MS, NrRoz
|
|---|
| 37 |
|
|---|
| 38 |
|
|---|
| 39 | DECLARE @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 | )
|
|---|
| 52 | INSERT INTO @Faktury
|
|---|
| 53 | -- sprzedaz - faktury bez korekt
|
|---|
| 54 | SELECT 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,
|
|---|
| 55 | SUM(NETTO) AS NETTO, SUM(VAT) AS VAT, SUM(BRUTTO) AS BRUTTO, SUM(SZap) AS SUMAZAPLAT, COUNT(NETTO) AS ilosc
|
|---|
| 56 | FROM
|
|---|
| 57 | (
|
|---|
| 58 | SELECT AGENCJE.Symbol AS Agencja, AGENCI.Nazwisko + ' ' + AGENCI.Imiê AS Agent,
|
|---|
| 59 | YEAR(FAKTURY.DATA_SPRZEDAZY) AS ROK, MONTH(FAKTURY.DATA_SPRZEDAZY) AS MS, FAKTURY.NUMER_ROZ AS NrRoz,
|
|---|
| 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)),
|
|---|
| 63 | FAKTURY.suma_zaplat AS SZap
|
|---|
| 64 | FROM FAKTURY
|
|---|
| 65 | INNER JOIN FAKTURA_DETAILS ON FAKTURY.ID_FAKTURY = FAKTURA_DETAILS.ID_FAKTURY
|
|---|
| 66 | LEFT JOIN AGENCI ON FAKTURY.NUMER_ROZ = AGENCI.F_ROZ
|
|---|
| 67 | LEFT JOIN AGENCJE ON FAKTURY.ID_SPRZEDAWCY = AGENCJE.Id_agencji
|
|---|
| 68 | WHERE
|
|---|
| 69 | YEAR(FAKTURY.DATA_SPRZEDAZY)=@rok AND MONTH(FAKTURY.DATA_SPRZEDAZY)=@miesiac
|
|---|
| 70 |
|
|---|
| 71 | AND (AGENCJE.Id_agencji<>4 OR FAKTURY.NUMER_ROZ ='KAT') AND (AGENCJE.Id_agencji <>6 OR FAKTURY.NUMER_ROZ ='POZ')
|
|---|
| 72 | AND FAKTURY.KOREKTA=0 AND FAKTURY.SystemKsiegowyId IN (@systemKsiegowy)
|
|---|
| 73 | GROUP BY AGENCJE.Symbol, AGENCI.Nazwisko + ' ' + AGENCI.Imiê, FAKTURY.ID_FAKTURY, FAKTURY.DATA_SPRZEDAZY,
|
|---|
| 74 | YEAR(FAKTURY.DATA_SPRZEDAZY), FAKTURY.NUMER_ROZ, FAKTURY.suma_zaplat, FAKTURY.Korekta
|
|---|
| 75 | ) T
|
|---|
| 76 | GROUP BY Agencja, Agent, ROK, MS, NrRoz
|
|---|
| 77 |
|
|---|
| 78 | -- zrob update dla tych ktorzy mieli korekty
|
|---|
| 79 | UPDATE F
|
|---|
| 80 | SET F.Netto=F.Netto+K.Netto, F.Vat=F.Vat+K.Vat, F.Brutto=F.Brutto+K.Brutto
|
|---|
| 81 | FROM @Faktury F, @Korekty K
|
|---|
| 82 | WHERE F.Agencja=K.Agencja AND F.Agent=K.Agent
|
|---|
| 83 |
|
|---|
| 84 | -- dodaj tych ktorzy mieli korekty a nie mieli zadnej sprzedazy
|
|---|
| 85 | INSERT INTO @Faktury
|
|---|
| 86 | SELECT * FROM @Korekty WHERE NrRoz NOT IN (SELECT NrRoz FROM @Faktury)
|
|---|
| 87 |
|
|---|
| 88 | SELECT * FROM @Faktury
|
|---|
| 89 | ORDER BY Agencja, Agent |
|---|