USP_SYS_DailySalesTotalForSMS_Q.sql 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. ----------------------------------------------------------------------------------
  3. ◑ SP Name : dbo.USP_SYS_DailySalesTotalForSMS_Q '2011-06-07'
  4. ◑ Description : 일매출 집계 조회(SMS 발송용)
  5. ◑ Called by :
  6. ◑ Input Parameters :
  7. ◑ Output Parameters :
  8. ◑ Exec :
  9. exec [dbo].[USP_SYS_DailySalesTotalForSMS_Q] '2012-07-30'
  10. ◑ Change History
  11. ----------------------------------------------------------------------------------
  12. Date Author Description
  13. ----------------------------------------------------------------------------------
  14. 2011-06-07 심진구 최초 생성
  15. 2011-06-08 심진구 대상 테이블 변경
  16. TB_ORD_OrderSlip, TB_ORD_OrderSlipItem => TB_ORD_SalesSlip
  17. ----------------------------------------------------------------------------------
  18. */
  19. CREATE PROCEDURE [dbo].[USP_SYS_DailySalesTotalForSMS_Q]
  20. @QueryDate Nvarchar(10)
  21. AS
  22. BEGIN
  23. SET NOCOUNT ON;
  24. DECLARE @StartDatetime Datetime
  25. DECLARE @EndDatetime Datetime
  26. DECLARE @QueryDate Datetime
  27. set @QueryDate = '2021-08-12'
  28. If @QueryDate Is Null Or @QueryDate = ''
  29. SET @StartDatetime = Convert(Datetime, Convert(Nvarchar(10), GetDate(), 121))
  30. Else
  31. SET @StartDatetime = Convert(Datetime, @QueryDate)
  32. SET @EndDatetime = DateAdd(Day, 1, @StartDatetime)
  33. select @StartDatetime, @EndDatetime
  34. DECLARE @OrderResult Table (
  35. OrderAmount Money, IssueTypeCd Nvarchar(20)
  36. )
  37. INSERT INTO @OrderResult
  38. SELECT
  39. CASE WHEN A.IssueTypeCd='정상'
  40. THEN SUM(A.ItemTotal)
  41. ELSE SUM(A.ItemTotal)*-1
  42. END As OrderAmount
  43. , A.IssueTypeCd
  44. FROM dbo.TB_ORD_SalesSlip As A WITH (NOLOCK)
  45. WHERE A.DateSales > @StartDatetime
  46. AND A.DateSales < @EndDatetime
  47. GROUP BY A.IssueTypeCd
  48. SELECT [정상] AS OrderAmount
  49. , [취소] AS CancelAmount
  50. , [정상]+[취소] AS OrderTotal
  51. FROM
  52. (
  53. SELECT OrderAmount, IssueTypeCd
  54. FROM @OrderResult
  55. ) AS P
  56. PIVOT
  57. (
  58. SUM(OrderAmount)
  59. FOR IssueTypeCd IN ([정상], [취소])
  60. ) AS PVT
  61. SET NOCOUNT OFF;
  62. END