You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

217 lines
8.0 KiB

1 year ago
  1. SET QUOTED_IDENTIFIER ON
  2. SET ANSI_NULLS ON
  3. GO
  4. --EXEC proc_referralReport @flag = 'transaction-rpt',@startDate = '2018-03-01',@endDate = '2018-03-31',@user = 'admin',@referralCode = '9424010704321',@country = 'Cambodia'
  5. ALTER PROC proc_referralReport
  6. (
  7. @flag VARCHAR(50)
  8. ,@startDate VARCHAR(10)
  9. ,@endDate VARCHAR(30)
  10. ,@user VARCHAR(30) = NULL
  11. ,@referralCode VARCHAR(30) = NULL
  12. ,@country VARCHAR(50) = NULL
  13. )
  14. AS
  15. SET NOCOUNT ON;
  16. SET XACT_ABORT ON;
  17. DECLARE @sqlRegister varchar(MAX)
  18. BEGIN
  19. IF @flag = 'register-rpt'
  20. BEGIN
  21. set @sqlRegister='SELECT
  22. [Referral Name] = cm2.firstName
  23. ,[Referral Code] = cm.referelCode
  24. ,[Native Country] = cr.countryName
  25. ,[No Of Registered] = ''<a href="#" onclick="OpenInNewWindow(''''/RemittanceSystem/RemittanceReports/Reports.aspx?reportName=customerreportdrilldowntotalreferrerdetail&startDate=' + @startDate + '&endDate='+ @endDate +
  26. '&referralCode=''+cm.referelCode+''&flag=detail-customer-drilldown-report'''')">'' + CAST(count(1) AS VARCHAR) + ''</a>''
  27. FROM customermaster (NOLOCK) cm
  28. INNER JOIN dbo.customerMaster (NOLOCK) cm2 ON cm2.WalletAccountNo=cm.referelCode
  29. JOIN countrymaster (NOLOCK) cr ON cr.countryId=cm.nativeCountry
  30. WHERE 1 = 1 AND cm.referelCode IS NOT NULL
  31. and cm.ApprovedDate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + ' 23:59:59'''
  32. IF ISNULL(@referralCode, '') <> ''
  33. SET @sqlRegister = @sqlRegister + ' AND cm.referelCode = ''' + @referralCode + ''''
  34. if @country is not null
  35. SET @sqlRegister = @sqlRegister + ' AND cr.countryName = ''' + @country + ''''
  36. SET @sqlRegister = @sqlRegister+' GROUP BY cm.referelCode, cr.countryName,cm2.firstName order by 1 '
  37. EXEC(@sqlRegister)
  38. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  39. SELECT 'From Date' head, @startDate value union all
  40. SELECT 'To Date' head, @endDate value UNION ALL
  41. SELECT 'Referral Code' head, @referralCode
  42. SELECT 'Register Report' title
  43. END
  44. ELSE IF @flag = 'transaction-rpt'
  45. BEGIN
  46. SET @sqlRegister='
  47. SELECT
  48. [Referral Name] = dbo.FunGetWalletName(cm.referelCode)
  49. ,[Referral Code] = cm.referelCode
  50. ,[Native Country] = cr.countryName
  51. ,[No Of Txn] = ''<a href="#" onclick="OpenInNewWindow(''''/RemittanceSystem/RemittanceReports/Reports.aspx?reportName=txnreportdrilldowntotalreferrerdetail&startDate=' + @startDate + '&endDate='+ @endDate +
  52. '&referralCode=''+cm.referelCode+''&flag=detail-txn-drilldown-report'''')">'' + CAST(COUNT(1) AS VARCHAR) + ''</a>''
  53. FROM customermaster (NOLOCK) cm
  54. JOIN tranSenders (NOLOCK) ts on ts.customerid = cm.customerid
  55. JOIN remitTran (NOLOCK) rt on rt.id = ts.tranId
  56. JOIN countrymaster (NOLOCK) cr ON cr.countryId = cm.nativeCountry
  57. WHERE 1 = 1 and
  58. cm.ApprovedDate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + ' 23:59:59'''
  59. IF ISNULL(@referralCode, '') <> ''
  60. SET @sqlRegister=@sqlRegister+' AND cm.referelCode = ''' + @referralCode + ''''
  61. if @country is not null
  62. SET @sqlRegister = @sqlRegister + ' AND cr.countryName = ''' + @country + ''''
  63. SET @sqlRegister=@sqlRegister+' GROUP BY cm.referelCode, cr.countryName order by 1 '
  64. EXEC(@sqlRegister)
  65. print @sqlRegister
  66. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  67. SELECT 'From Date' head, @startDate value union all
  68. SELECT 'To Date' head, @endDate value UNION ALL
  69. SELECT 'Referral Code' head, @referralCode
  70. SELECT 'Transaction Report' title
  71. END
  72. ELSE IF @flag = 'detail-customer-report'
  73. BEGIN
  74. set @sqlRegister='
  75. SELECT
  76. [Referral Code] = cm.referelCode
  77. ,[Referral Name] = dbo.FunGetWalletName(cm.referelCode)
  78. ,[Customer Name] = cm.fullName
  79. ,[Id Number] = cm.idNumber
  80. ,[Mobile No] = cm.Mobile
  81. ,[Register Date] = cm.approvedDate
  82. ,[Register By] = cm.approvedBy
  83. FROM customermaster (NOLOCK) cm
  84. WHERE 1 = 1 and
  85. cm.Approveddate BETWEEN '''+@startDate+''' AND '''+@endDate+''''
  86. IF ISNULL(@referralCode, '') <> ''
  87. SET @sqlRegister=@sqlRegister+' AND cm.referelCode='''+@referralCode+''''
  88. EXEC(@sqlRegister)
  89. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  90. SELECT 'From Date' head, @startDate value union all
  91. SELECT 'To Date' head, @endDate value UNION ALL
  92. SELECT 'Referral Code' head, CASE WHEN @referralCode IS NULL THEN 'N/A' ELSE @referralCode END
  93. SELECT 'Customer Report Drill Down Detail' title
  94. END
  95. ELSE IF @flag = 'detail-txn-report'
  96. BEGIN
  97. --LEN(cm.referelCode) = 13 AND LEFT(cm.referelCode,5) = ''94240''
  98. set @sqlRegister='
  99. SELECT
  100. [Referral Code] = cm.referelCode
  101. ,[Referral Name] = dbo.FunGetWalletName(cm.referelCode)
  102. ,[Customer Name] = cm.fullName
  103. ,[Id Number] = cm.idNumber
  104. ,[Mobile No] = cm.Mobile
  105. ,[Control No] = dbo.fnadecryptstring(rt.controlNo)
  106. ,[Tran Date] = rt.approvedDate
  107. FROM customermaster (NOLOCK) cm
  108. JOIN tranSenders (NOLOCK) ts on ts.customerid=cm.customerid
  109. JOIN remitTran (NOLOCK) rt on rt.id=ts.tranId
  110. WHERE 1 = 1
  111. '
  112. IF @startDate IS NOT NULL AND @endDate IS NOT NULL
  113. SET @sqlRegister = @sqlRegister+' and rt.approvedDate BETWEEN ''' + @startDate + ''' AND ''' + @endDate + ''''
  114. IF ISNULL(@referralCode, '') <> ''
  115. SET @sqlRegister = @sqlRegister+' AND cm.referelCode = '''+@referralCode+''''
  116. EXEC(@sqlRegister)
  117. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  118. SELECT 'From Date' head, @startDate value union all
  119. SELECT 'To Date' head, @endDate value UNION ALL
  120. SELECT 'Referral Code' head, @referralCode
  121. SELECT 'Txn Report Drill Down Detail' title
  122. END
  123. ELSE IF @flag = 'detail-customer-drilldown-report'
  124. BEGIN
  125. set @sqlRegister='
  126. SELECT
  127. [Referral Name] = dbo.FunGetWalletName(cm.referelCode)
  128. ,[Referral Code] = cm.referelCode
  129. ,[Customer Name] = cm.fullName
  130. ,[Native Country] = cr.countryName
  131. ,[Id Number] = cm.idNumber
  132. ,[Mobile No] = cm.Mobile
  133. ,[Register Date] = cm.approvedDate
  134. ,[Register By] = cm.approvedBy
  135. FROM customermaster (NOLOCK) cm
  136. JOIN countrymaster (NOLOCK) cr ON cr.countryId = cm.nativeCountry
  137. WHERE 1 = 1'
  138. IF @startDate IS NOT NULL AND @endDate IS NOT NULL
  139. SET @sqlRegister=@sqlRegister+' and cm.ApprovedDate BETWEEN '''+@startDate+''' AND '''+@endDate+''''
  140. IF ISNULL(@referralCode, '') <> ''
  141. SET @sqlRegister=@sqlRegister+' AND cm.referelCode='''+@referralCode+''''
  142. EXEC(@sqlRegister)
  143. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  144. SELECT 'From Date' head, @startDate value union all
  145. SELECT 'To Date' head, @endDate value UNION ALL
  146. SELECT 'Referral Code' head, @referralCode
  147. SELECT 'Detail Report' title
  148. END
  149. ELSE IF @flag = 'detail-txn-drilldown-report'
  150. BEGIN
  151. set @sqlRegister='
  152. SELECT
  153. [Referral Name] = dbo.FunGetWalletName(cm.referelCode)
  154. ,[Referral Code] = cm.referelCode
  155. ,[Customer Name] = cm.fullName
  156. ,[Native Country] = cr.countryName
  157. ,[Id Number] = cm.idNumber
  158. ,[Mobile No] = cm.Mobile
  159. ,[Control No] = dbo.fnadecryptstring(rt.controlNo)
  160. ,[Sending Amount] = rt.tAmt
  161. FROM customermaster (NOLOCK) cm
  162. join tranSenders (nolock) ts on ts.customerid=cm.customerid
  163. join remitTran (nolock) rt on rt.id=ts.tranId
  164. JOIN countrymaster (NOLOCK) cr ON cr.countryId=cm.nativeCountry
  165. WHERE 1 = 1'
  166. IF @startDate IS NOT NULL AND @endDate IS NOT NULL
  167. SET @sqlRegister=@sqlRegister+' and rt.ApprovedDate BETWEEN '''+@startDate+''' AND '''+@endDate+''''
  168. IF ISNULL(@referralCode, '') <> ''
  169. SET @sqlRegister=@sqlRegister+' AND cm.referelCode='''+@referralCode+''''
  170. EXEC(@sqlRegister)
  171. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  172. SELECT 'From Date' head, @startDate value union all
  173. SELECT 'To Date' head, @endDate value UNION ALL
  174. SELECT 'Referral Code' head, @referralCode
  175. SELECT 'Detail Report' title
  176. END
  177. END
  178. GO