Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.50 KB | None | 0 0
  1. GO
  2. /****** Object:  StoredProcedure [dbo].[usp_ConsultPackingEachDay]    Script Date: 12/12/2017 7:37:57 PM ******/
  3. SET ANSI_NULLS ON
  4. GO
  5. SET QUOTED_IDENTIFIER ON
  6. GO
  7. -- EXEC usp_ConsultPackingEachDay 'P30', '12/12/2017', '-1', '-1'
  8.  
  9. ALTER PROCEDURE [dbo].[usp_ConsultPackingEachDay]
  10.     @site_key NVARCHAR(50) = NULL
  11.     ,@start_date DATETIME = NULL
  12.     --,@end_date DATETIME = NULL
  13.     ,@classification NVARCHAR(5)
  14.     ,@partNumber NVARCHAR(MAX)
  15. AS
  16. SET NOCOUNT ON
  17. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
  18.  
  19. SET NOCOUNT ON
  20.  
  21. IF @site_key IS NULL
  22.     SET @site_key = dbo.ufn_GetSite()
  23.  
  24. --IF @start_date IS NULL
  25. --  SET @start_date = CAST(GETDATE() AS DATE)
  26.    
  27.  
  28. --DECLARE @start_time TIME
  29. --DECLARE @end_time TIME
  30. --DECLARE @from_add_days INT
  31. --DECLARE @to_add_days INT
  32. DECLARE @end_date DATETIME
  33. DECLARE @days AS NVARCHAR(500)
  34. DECLARE @PIVOT AS NVARCHAR(MAX)
  35.  
  36. ---- CRAMIREZ 12/05/2016 Date range used for Packing
  37. --SET @start_date = DATEADD(HOUR, 6, @start_date)
  38.  
  39. --SET @end_date = DATEADD(DAY,1,DATEADD(SECOND,-1,@start_date))
  40.  
  41. -- <--- Change CTE to theview uvw_ListPackingByHour
  42.  
  43. DECLARE @days_table TABLE([1] NVARCHAR(10),
  44.                           [2] NVARCHAR(10),
  45.                           [3] NVARCHAR(10),
  46.                           [4] NVARCHAR(10),
  47.                           [5] NVARCHAR(10),
  48.                           [6] NVARCHAR(10),
  49.                           [7] NVARCHAR(10),
  50.                           [8] NVARCHAR(10),
  51.                           [9] NVARCHAR(10),
  52.                           [10] NVARCHAR(10));
  53.  
  54. INSERT @days_table([1], [2], [3], [4], [5], [6], [7], [8], [9], [10]) VALUES
  55. (LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -10, @start_date) ), 0), 103), 5),
  56.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -9, @start_date) ), 0), 103), 5),
  57.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -8, @start_date) ), 0), 103), 5),
  58.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -7, @start_date) ), 0), 103), 5),
  59.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -6, @start_date) ), 0), 103), 5),
  60.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -5, @start_date) ), 0), 103), 5),
  61.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -4, @start_date) ), 0), 103), 5),
  62.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -3, @start_date) ), 0), 103), 5),
  63.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -2, @start_date) ), 0), 103), 5),
  64.  LEFT(CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -1, @start_date) ), 0), 103), 5)
  65.  )
  66.  
  67.  SET @days = (SELECT [Days]= STUFF(
  68.               COALESCE(', [' + RTRIM([1]), '')
  69.             + COALESCE('], [' + RTRIM([2]), '')
  70.             + COALESCE('], [' + RTRIM([3]), '')
  71.             + COALESCE('], [' + RTRIM([4]), '')
  72.             + COALESCE('], [' + RTRIM([5]), '')
  73.             + COALESCE('], [' + RTRIM([6]), '')
  74.             + COALESCE('], [' + RTRIM([7]), '')
  75.             + COALESCE('], [' + RTRIM([8]), '')
  76.             + COALESCE('], [' + RTRIM([9]), '')
  77.             + COALESCE('], [' + RTRIM([10]), '')
  78.             + COALESCE(']', '')
  79.             , 1, 2, '')
  80.             FROM @days_table)
  81.  
  82. SET @end_date = @start_date
  83.  
  84. SET @start_date = CONVERT(VARCHAR(15), DATEADD(dd, DATEDIFF(dd, 0, DATEADD(DAY, -10, @start_date) ), 0), 103)
  85.  
  86.  
  87.  SET @PIVOT = ('SELECT *
  88.  FROM (SELECT scoe_whst_wheel_style_part_number, wheel_style, effective_date, classification,ISNULL(packing_total,0) AS packing_total
  89.          FROM cte
  90.           WHERE (classification = ' + @classification +' OR ' + @classification + '= '+'-1'+')) aps
  91. PIVOT (SUM(packing_total) FOR effective_date IN
  92.         (
  93.          ' + @days + '
  94.           )
  95.          ) AS pvt')
  96.  
  97. ;WITH cte
  98. AS
  99. (
  100. SELECT
  101.     ISNULL(csoe.scoe_whst_wheel_style_part_number, 'ND') scoe_whst_wheel_style_part_number
  102.     ,ws.wheel_style
  103.     --,DAY(effective_date) AS 'effective_date'
  104.     --,DATEPART(HOUR, effective_date) AS effective_hour
  105.     ,LEFT(CONVERT(VARCHAR(15), csoe.effective_date, 103), 5) AS 'effective_date'
  106.     ,SUM(ISNULL(quantity,0)) AS packing_total
  107.     ,classification
  108. FROM collect_schemas_operations_equipments csoe
  109.      INNER JOIN
  110.      wheel_styles ws ON csoe.scoe_whst_wheel_style_part_number = ws.wheel_style_part_number
  111. WHERE csoe.opre_operation_key = '090'
  112.     AND effective_date BETWEEN @start_date AND @end_date
  113.     AND opre_result_id = 'ACC'
  114.     AND record_status = 'ACT'
  115.     AND ((csoe.scoe_whst_wheel_style_part_number IN (SELECT * FROM SPLIT(@partNumber))) OR @partNumber = '-1')
  116. GROUP BY
  117.     ISNULL(csoe.scoe_whst_wheel_style_part_number, 'ND')
  118.     ,ws.wheel_style
  119.     ,production_start_date
  120.     , classification
  121.     , effective_date
  122. )
  123.  
  124. SELECT * FROM cte
  125.  
  126. EXEC (@pivot)
  127.  
  128. SET TRANSACTION ISOLATION LEVEL READ COMMITTED
  129. SET NOCOUNT OFF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement