Advertisement
Guest User

Untitled

a guest
May 24th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1.  
  2.  
  3. ALTER PROCEDURE [dbo].[Facturatie_Totalen_Herbereken]
  4. @FactuurID INT
  5. AS
  6. BEGIN
  7. SET NOCOUNT ON;
  8.  
  9.  
  10. ;WITH FRCTE AS (
  11. SELECT TOP 1
  12. FactuurRegelID,
  13. FactuurID,
  14. FRCorrectie.[TotaalExcl],
  15. FRCorrectie.[TotaalIncl],
  16. FRCorrectie.[TotaalExcl] - FRCorrectie.[TotaalIncl] AS Verschil
  17. FROM FactuurRegels FR WITH (NOLOCK)
  18. OUTER APPLY (
  19. SELECT
  20. ROUND(SUM([FR1].[SubTotaalExcl] + FR1.BTWBedrag), 2) AS [TotaalExcl],
  21. SUM([FR1].[TotaalIncl]) AS [TotaalIncl]
  22. FROM FactuurRegels FR1 WITH (NOLOCK)
  23. WHERE
  24. FR1.FactuurID = FR.FactuurID
  25. ) FRCorrectie
  26. WHERE FR.FactuurID = @FactuurID
  27. AND FRCorrectie.[TotaalExcl] <> FRCorrectie.[TotaalIncl]
  28. )
  29. UPDATE FR SET
  30. [TotaalIncl] = CASE WHEN F.AfdrukkenInclusiefBTW = 0 THEN FR.[TotaalIncl] + FRCTE.[Verschil] ELSE FR.[TotaalIncl] END,
  31. [TotaalExcl] = CASE WHEN F.AfdrukkenInclusiefBTW = 1 THEN FR.[TotaalExcl] + FRCTE.[Verschil] ELSE FR.[TotaalExcl] END
  32. FROM FactuurRegels FR
  33. JOIN FRCTE WITH (NOLOCK) ON FRCTE.FactuurRegelID = FR.FactuurRegelID
  34. JOIN Facturen F WITH (NOLOCK) ON F.[FactuurID] = FRCTE.FactuurID
  35. WHERE
  36. F.PartijID IS NULL
  37.  
  38. UPDATE F SET
  39. [FactuurBedragEXCL] = round([FactuurRegels].[FactuurBedragEXCL],2),
  40. [FactuurBedragINCL] = round([FactuurRegels].[FactuurBedragINCL],2),
  41. [BTWBedrag] = round([FactuurRegels].[BTWBedrag],2)
  42. FROM Facturen F
  43. OUTER APPLY (
  44. SELECT
  45. SUM(FR.TotaalExcl) AS FactuurBedragEXCL,
  46. SUM(FR.TotaalIncl) AS FactuurBedragINCL,
  47. SUM(FR.BTWBedrag) AS BTWBedrag
  48. FROM FactuurRegels FR WITH (NOLOCK)
  49. WHERE FR.FactuurID = F.FactuurID
  50. ) FactuurRegels
  51. WHERE F.FactuurID = @FactuurID
  52.  
  53.  
  54. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement