Index: trunk/SQL/StoredProcedures/PROC_WYLICZ_I_ZAPISZ_PROWIZJE.txt
===================================================================
--- trunk/SQL/StoredProcedures/PROC_WYLICZ_I_ZAPISZ_PROWIZJE.txt (revision 674)
+++ trunk/SQL/StoredProcedures/PROC_WYLICZ_I_ZAPISZ_PROWIZJE.txt (revision 676)
@@ -6,76 +6,44 @@
 
 ALTER PROCEDURE [dbo].[PROC_WYLICZ_I_ZAPISZ_PROWIZJE]
-		@ROK INTEGER = 2003,
-		@MS INTEGER = 2,
-		@idAgencji integer = 2
+		@ROK INT = 2003,
+		@MS INT = 2,
+		@idAgencji INT = 2
 AS
 
 -- wyczysc wszystko dla danej agencji
 DELETE FROM Prowizje 
-WHERE Rok =@Rok 
-AND Ms=@Ms 
+WHERE Rok = @Rok 
+AND Ms = @Ms 
 AND Agencja = (SELECT symbol FROM Agencje where Id_Agencji = @idAgencji)
 
--- 
+
 INSERT INTO Prowizje 
-SELECT  a2.symbol,b_agent, B_ROK, b_ms, numer_faktury, NETTO, NrKorygowanejFaktury,
-CASE Z.ZP
-	WHEN 1 THEN Z.procentProwizji
-	ELSE ROUND(P.PR_PROWIZJI,2)
+SELECT 
+W.Agencja, 
+W.Symbol, 
+YEAR(W.dataWplaty) AS Rok, 
+Month(W.dataWplaty) AS Ms,
+W.NR_FK,
+W.Netto,
+NULL AS nrFakturyKorygowanej,
+procentProwizji = 
+CASE 
+WHEN Z.Zp = 1 THEN CAST(Z.procentProwizji AS decimal(9,2))
+ELSE COALESCE(CAST(P.Pr_Prowizji AS decimal(9,2)), 0) 
 END,
-Z.ZP,
-CASE Z.ZP
-	WHEN 1 THEN ROUND(Z.procentProwizji * Netto, 2)
-	ELSE ROUND(ROUND(P.PR_PROWIZJI, 2) * Netto, 2)
-END AS kwotaProwizji, 
-id_faktury
-FROM dbo.VIEW_POMOCNICZY_BUDZET VPB 
-LEFT JOIN dbo.[PLAN] P ON VPB.b_rok = P.rok AND VPB.b_ms = P.ms AND P.symbol = VPB.b_agent 
-LEFT JOIN zamowienia Z ON Z.idZamowienia = VPB.idZamowienia 
-LEFT JOIN agenci A1 ON A1.symbol = VPB.B_agent  
-LEFT JOIN agencje A2 ON A2.id_agencji = A1.id_agencji
-WHERE B_ROK = @ROK 
-AND B_MS = @MS 
-AND A1.id_agencji = @idAgencji
-
--- aktualizuj prowizje dla faktur z poprzednich miesiecy
-DECLARE @Prowizje TABLE
-(
-idProwizji INT,
-procentProwizji float,
-kwotaProwizji money,
-ZP bit
-)
-
-INSERT INTO @Prowizje
-	SELECT 
-	Pr.idProwizji,
-	procentProwizji = 
-	CASE 
-	  WHEN Z.ZP=1 THEN ROUND(Z.procentProwizji, 2)
-	  ELSE ROUND(PL.Pr_Prowizji, 2)
-	END,
-	kwotaProwizji = 
-	CASE 
-	  WHEN Z.ZP=1 THEN ROUND(Pr.Netto * Z.procentProwizji, 2)
-	  ELSE ROUND(Pr.Netto * PL.Pr_Prowizji, 2)
-	END,
-	Z.ZP
-	FROM WplywyByTytul W
-	INNER JOIN Prowizje Pr ON Pr.idFaktury = W.ID_FAKTURY
-	INNER JOIN Agencje A ON A.Symbol = W.Agencja
-	INNER JOIN Faktury F ON F.ID_FAKTURY = W.ID_FAKTURY
-	INNER JOIN Zamowienia Z ON Z.idZamowienia = F.idZamowienia
-	LEFT OUTER JOIN [PLAN] Pl ON Pl.Symbol = W.Symbol AND Pl.Rok=YEAR(W.dataWplaty) AND Pl.MS=MONTH(W.dataWplaty)
-	WHERE YEAR(W.dataWplaty)=@ROK and MONTH(W.dataWplaty)=@MS
-	AND A.id_Agencji=@idAgencji
-	AND PR.ms<>@MS
-
-UPDATE P
-SET 
-P.procentProwizji=P1.procentProwizji,
-P.kwotaProwizji=P1.kwotaProwizji,
-P.ZP=P1.ZP
-FROM Prowizje P INNER JOIN @Prowizje P1 ON P.idProwizji=P1.idProwizji
+Z.Zp,
+W.ID_FAKTURY
+FROM WplywyByTytul AS W
+INNER JOIN Faktury AS F ON W.ID_FAKTURY = F.Id_Faktury
+INNER JOIN Zamowienia AS Z ON Z.idZamowienia = F.idZamowienia
+LEFT OUTER JOIN [Plan] AS P ON P.Rok=@rok AND P.Ms=@ms AND P.Symbol=W.Symbol
+WHERE (YEAR(W.dataWplaty) = @rok) 
+AND (MONTH(W.dataWplaty) = @ms)
+--TODO: dodac pole typ faktury, ktory bedzie jednoznacznie okreslal jakie faktury nas interesuja...
+AND F.Numer_Roz<>'POZ' AND F.Numer_Roz<>'KAT'
+AND W.roznica_nowa<=60
+AND F.Id_Sprzedawcy=@idAgencji
+AND F.Korekta<>1
+ORDER BY Pr_Prowizji
 
 
