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.

224 lines
14 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_CustomerCardExpiryRpt] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE proc [dbo].[proc_CustomerCardExpiryRpt](
  9. @flag VARCHAR(20)=NULL
  10. ,@asOnDate VARCHAR(20)=NULL
  11. ,@zone VARCHAR(20)=NULL
  12. ,@district VARCHAR(50)=NULL
  13. ,@agent VARCHAR(20)=NULL
  14. ,@agentGrp VARCHAR(20)=NULL
  15. ,@idType VARCHAR(20)=NULL
  16. ,@user VARCHAR(20)=NULL
  17. )AS
  18. SET NOCOUNT ON
  19. SET XACT_ABORT ON
  20. BEGIN
  21. DECLARE @FilterList TABLE(head VARCHAR(50), value VARCHAR(100))
  22. DECLARE
  23. @table VARCHAR(MAX) = NULL
  24. ,@url VARCHAR(max) = ''
  25. ,@gobalFilter VARCHAR(MAX) = ''
  26. ,@groupBy VARCHAR(MAX) = ''
  27. ,@tempSql VARCHAR(MAX) = ''
  28. SET @table='SELECT
  29. [Zone]=cm.pZone
  30. ,[District]=cm.pDistrict
  31. ,[Agent]=am.agentName
  32. ,[AgentId]=am.agentId
  33. ,[Agent Group]=CASE WHEN sv.detailTitle is NULL THEN ''IME HO'' ELSE sv.detailTitle END
  34. ,[AgentGroupId]=am.agentGrp
  35. ,[Id Type]=cm.idType
  36. ,[Expired]=CASE WHEN cm.expiryDate<=''' + @asOnDate + ''' THEN COUNT(''x'') ELSE ''0'' END
  37. ,[Active]=CASE WHEN ISNULL(cm.isActive,''N'')=''Y'' THEN COUNT(''x'') ELSE ''0'' END
  38. ,[Black Listed]=CASE WHEN ISNULL(cm.isBlackListed,''N'')=''Y'' THEN COUNT(''x'') ELSE ''0'' END
  39. FROM customerMaster cm WITH(NOLOCK)
  40. INNER JOIN agentMaster am WITH (NOLOCK) ON am.agentId=cm.agentId
  41. LEFT JOIN staticDataValue sv WITH (NOLOCK) on am.agentGrp=sv.valueId
  42. WHERE 1=1 '
  43. -------AND cm.expiryDate between isnull(@date,convert(varchar,cm.expiryDate,101)) and isnull(@date+'' 23:59:59'',convert(varchar,cm.expiryDate,101)+'' 23:59:59'')
  44. SET @groupBy='GROUP BY cm.pZone,cm.pDistrict,am.agentName,am.agentId,am.agentGrp,sv.detailTitle,cm.idType,cm.expiryDate,cm.isActive,cm.isBlackListed'
  45. IF @asOnDate IS NOT NULL
  46. BEGIN
  47. INSERT INTO @FilterList
  48. SELECT 'Till Date',@asOnDate
  49. SET @url=@url+'&asOnDate='+@asOnDate
  50. SET @gobalFilter=@gobalFilter+' AND cm.expiryDate < '''+@asOnDate+' 23:59:59'''
  51. END
  52. IF @zone IS NOT NULL
  53. BEGIN
  54. INSERT INTO @FilterList
  55. SELECT 'Zone',@zone
  56. SET @url=@url+'&zone='+@zone
  57. SET @gobalFilter=@gobalFilter+' AND cm.pZone =isnull('''+@zone+''',cm.pZone)'
  58. END
  59. IF @district IS NOT NULL
  60. BEGIN
  61. INSERT INTO @FilterList
  62. SELECT 'District',@zone
  63. SET @url=@url+'&district='+@district
  64. SET @gobalFilter=@gobalFilter+' AND cm.pDistrict =isnull('''+@district+''',cm.pDistrict)'
  65. END
  66. IF @agent IS NOT NULL
  67. BEGIN
  68. INSERT INTO @FilterList
  69. SELECT 'Agent',agentName FROM agentMaster WITH(NOLOCK) WHERE agentId=@agent
  70. SET @url=@url+'&agentId='+@agent
  71. SET @gobalFilter=@gobalFilter+' AND cm.agentId =isnull('''+@agent+''',cm.agentId)'
  72. END
  73. IF @idType IS NOT NULL
  74. BEGIN
  75. DECLARE @idType1 VARCHAR(50)=null
  76. SET @idType1=REPLACE(@idType,'_',' ')
  77. INSERT INTO @FilterList
  78. SELECT 'ID Type',@idType1
  79. SET @url=@url+'&idType='+@idType
  80. SET @gobalFilter=@gobalFilter+' AND cm.idType =isnull('''+@idType1+''',cm.idType)'
  81. END
  82. IF @agentGrp IS NOT NULL
  83. BEGIN
  84. INSERT INTO @FilterList
  85. SELECT 'Agent Group',detailTitle FROM dbo.staticDataValue WITH(NOLOCK) WHERE valueId=@agentGrp
  86. SET @url=@url+'&agentGrp='+@agentGrp
  87. SET @gobalFilter=@gobalFilter+' AND am.agentGrp =isnull('''+@agentGrp+''',am.agentGrp)'
  88. END
  89. IF @flag='zw'
  90. BEGIN
  91. SET @tempSql='SELECT
  92. [Zone]=''<a href="javascript:void(0)" onclick=OpenInNewWindow("Reports.aspx?reportName=customercardexpiryrpt&flag=dw'+@url+'")>''+[Zone]+''</a>''
  93. ,[Expired]=SUM([Expired])
  94. ,[Active]=SUM([Active])
  95. ,[Black Listed]=SUM([Black Listed])
  96. FROM('+@table+@gobalFilter+@groupBy+')
  97. x GROUP BY [Zone] ORDER BY [Zone]'
  98. --PRINT @tempSql
  99. --EXEC (@tempSql)
  100. END
  101. ELSE IF @flag='dw'
  102. BEGIN
  103. SET @tempSql='SELECT
  104. [District]=''<a href="javascript:void(0)" onclick=OpenInNewWindow("Reports.aspx?reportName=customercardexpiryrpt&flag=gw'+@url+'")>''+[District]+''</a>''
  105. ,[Expired]=SUM([Expired])
  106. ,[Active]=SUM([Active])
  107. ,[Black Listed]=SUM([Black Listed])
  108. FROM('+@table+@gobalFilter+@groupBy+')
  109. x GROUP BY [District] ORDER BY [District]'
  110. --PRINT @tempSql
  111. --EXEC (@tempSql)
  112. END
  113. ELSE IF @flag='aw'
  114. BEGIN
  115. SET @tempSql='SELECT
  116. [Agent]=''<a href="javascript:void(0)" onclick=OpenInNewWindow("Reports.aspx?reportName=customercardexpiryrpt&flag=detail'+@url+'")>''+[Agent]+''</a>''
  117. ,[Expired]=SUM([Expired])
  118. ,[Active]=SUM([Active])
  119. ,[Black Listed]=SUM([Black Listed])
  120. FROM('+@table+@gobalFilter+@groupBy+')
  121. x GROUP BY [Agent] ORDER BY [Agent]'
  122. --PRINT @tempSql
  123. --EXEC (@tempSql)
  124. END
  125. ELSE IF @flag='gw'
  126. BEGIN
  127. SET @tempSql='SELECT
  128. [Agent Group]=''<a href="javascript:void(0)" onclick=OpenInNewWindow("Reports.aspx?reportName=customercardexpiryrpt&flag=aw'+@url+'")>''+[Agent Group]+''</a>''
  129. ,[Expired]=SUM([Expired])
  130. ,[Active]=SUM([Active])
  131. ,[Black Listed]=SUM([Black Listed])
  132. FROM('+@table+@gobalFilter+@groupBy+')
  133. x GROUP BY [Agent Group] ORDER BY [Agent Group]'
  134. --PRINT @tempSql
  135. --EXEC (@tempSql)
  136. END
  137. ELSE IF @flag='detail'
  138. BEGIN
  139. SET @table='SELECT
  140. [Membership Id]=cm.membershipId
  141. ,[Name]=isnull(cm.firstName,'''')+isnull(('' ''+cm.middleName),'''')+isnull(('' ''+cm.lastName),'''')
  142. ,[Zone]=cm.pZone
  143. ,[Address]=cm.pDistrict
  144. ,[Mobile NO]=cm.mobile
  145. ,[ID Type]=cm.idType
  146. ,[Issue Date]= CONVERT(VARCHAR, cm.issueDate, 101)
  147. ,[Expiry Date]= CONVERT(VARCHAR, cm.expiryDate, 101)
  148. ,[Agent AND User]=am.agentName+'' \ ''+cm.createdBy
  149. FROM customerMaster cm WITH(NOLOCK)
  150. INNER JOIN agentMaster am WITH (NOLOCK) on am.agentId=cm.agentId
  151. LEFT JOIN staticDataValue sv WITH (NOLOCK) on am.agentGrp=sv.valueId WHERE 1=1 ' +@gobalFilter
  152. SET @tempSql='SELECT * FROM ('+@table+') x WHERE 1=1'
  153. --PRINT @tempSql
  154. --EXEC (@tempSql)
  155. END
  156. ELSE IF @flag='sumamry'
  157. BEGIN
  158. SET @tempSql='SELECT
  159. [Id Type]=''<a href="javascript:void(0)" onclick=OpenInNewWindow("Reports.aspx?reportName=customercardexpiryrpt&flag=detail'+@url+'")>''+[Id Type]+''</a>''
  160. ,[Expired]=SUM([Expired])
  161. ,[Active]=SUM([Active])
  162. ,[Black Listed]=SUM([Black Listed])
  163. FROM('+@table+@gobalFilter+@groupBy+')
  164. x GROUP BY [Id Type] ORDER BY [Id Type]'
  165. END
  166. PRINT @tempSql
  167. EXEC (@tempSql)
  168. INSERT INTO @FilterList
  169. SELECT 'Report Type',CASE WHEN @flag='zw' THEN 'ZONE WISE'
  170. WHEN @flag='dw' THEN 'DISTRICT WISE'
  171. WHEN @flag='aw' THEN 'AGENT WISE'
  172. WHEN @flag='gw' THEN 'GROUP WISE'
  173. WHEN @flag='sumamry' THEN 'SUMMARY'
  174. WHEN @flag='detail' THEN 'DETAIL' ELSE '' END
  175. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  176. SELECT * FROM @FilterList
  177. SELECT 'CUSTOMER CARD EXPIRY REPORT' title
  178. END
  179. GO