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.

223 lines
13 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_userWiseTranRpt] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. EXEC proc_userWiseTranRpt_new2 @FLAG='UWHO',@FROMDATE='10/18/2013',@TODATE='10/18/2013',@USERNAME=null,@userType='HO'
  10. EXEC proc_userWiseTranRpt_new2 @FLAG='UW',@FROMDATE='10/18/2013',@TODATE='10/18/2013',@USERNAME=null,@userType='HO'
  11. EXEC proc_userWiseTranRpt @FLAG='UW',@FROMDATE='10/18/2013',@TODATE='10/18/2013',@USERNAME=null,@userType='Agent'
  12. */
  13. CREATE procEDURE [dbo].[proc_userWiseTranRpt]
  14. @flag VARCHAR(20),
  15. @fromDate VARCHAR(20) = NULL,
  16. @toDate VARCHAR(30) = NULL,
  17. @userName VARCHAR(50) = NULL,
  18. @userType VARCHAR(50) = NULL,
  19. @user VARCHAR(50) = NULL
  20. AS
  21. SET NOCOUNT ON;
  22. SET ANSI_NULLS ON;
  23. IF OBJECT_ID('tempdb..#tempAgentType') IS NOT NULL
  24. DROP TABLE #tempAgentType
  25. CREATE TABLE #tempAgentType
  26. (
  27. agentType varchar(50) null
  28. )
  29. IF @userType='HO'
  30. BEGIN
  31. INSERT INTO #tempAgentType
  32. SELECT '2901'
  33. END
  34. IF @userType='Agent'
  35. BEGIN
  36. INSERT INTO #tempAgentType
  37. SELECT valueId FROM staticDataValue WHERE valueId <> 2901 and typeID=2900
  38. END
  39. IF @userType IS NULL
  40. BEGIN
  41. INSERT INTO #tempAgentType
  42. SELECT valueId FROM staticDataValue WHERE typeID=2900
  43. END
  44. DECLARE @TABLE TABLE
  45. (
  46. BRANCHID INT,
  47. BRANCHNAME VARCHAR(200) ,
  48. USERNAME VARCHAR(50),
  49. TXNSEND INT,
  50. AMOUNTSEND MONEY,
  51. TXNPAID INT,
  52. AMOUNTPAID MONEY
  53. )
  54. IF (DATEDIFF(DAY, @fromDate,@toDate) > 7 )
  55. BEGIN
  56. IF @FLAG ='UWHO'
  57. BEGIN
  58. SELECT DISTINCT USERNAME [HEAD] FROM @TABLE
  59. SELECT
  60. [HEAD] = USERNAME
  61. ,[Agent Name] = BRANCHNAME
  62. ,[#Send Trans] = SUM(ISNULL(TXNSEND,0))
  63. ,[Send Amount] = SUM(ISNULL(AMOUNTSEND,0))
  64. ,[#Paid Trans] = SUM(ISNULL(TXNPAID,0))
  65. ,[Paid Amount] = SUM(ISNULL(AMOUNTPAID,0))
  66. FROM @TABLE
  67. GROUP BY BRANCHNAME,USERNAME,BRANCHID
  68. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  69. SELECT 'From Date' head,@FROMDATE value
  70. UNION ALL
  71. SELECT 'To Date' head,@TODATE value
  72. UNION ALL
  73. SELECT 'User' head,isnull(@USERNAME,'All') value
  74. SELECT 'USER WISE DETAIL REPORT-<font color="red"> Invalid date Range (max 7 days) to view this report</font>' title
  75. return;
  76. END
  77. ELSE
  78. BEGIN
  79. SELECT
  80. [HEAD] = USERNAME
  81. ,[#SEND Trans] = SUM(ISNULL(TXNSEND,0))
  82. ,[SEND Amount] = SUM(ISNULL(AMOUNTSEND,0))
  83. ,[#Paid Trans] = SUM(ISNULL(TXNPAID,0))
  84. ,[Paid Amount] = SUM(ISNULL(AMOUNTPAID,0))
  85. FROM @TABLE GROUP BY USERNAME
  86. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  87. SELECT 'From Date' head,@FROMDATE value
  88. UNION ALL
  89. SELECT 'To Date' head,@TODATE value
  90. UNION ALL
  91. SELECT 'User' head,isnull(@USERNAME,'All') value
  92. SELECT 'USER WISE SUMMARY REPORT- <font color="red"> Invalid date Range (max 7 days) to view this report</font>' title
  93. END
  94. END
  95. SET @TODATE = @TODATE + ' 23:59:59'
  96. IF @FLAG='UWHO'
  97. BEGIN
  98. INSERT INTO @TABLE(BRANCHID,BRANCHNAME,USERNAME,TXNSEND,AMOUNTSEND)
  99. SELECT
  100. sBranch,
  101. sBranchName,
  102. txn.createdBy,
  103. COUNT('x'),
  104. SUM(cAmt)
  105. FROM remitTran txn WITH(NOLOCK)
  106. inner join applicationUsers au with(nolock) on au.userName = txn.createdBy
  107. inner join agentMaster am with(nolock) on au.agentId = am.agentId
  108. inner join #tempAgentType at with(nolock) on at.agentType = am.agentType
  109. WHERE txn.createdDate BETWEEN @fromDate AND @toDate
  110. AND txn.createdby = isnull(@userName,txn.createdBy)
  111. GROUP BY txn.createdBy,sBranchName,sBranch
  112. INSERT INTO @TABLE(BRANCHID,BRANCHNAME,USERNAME,TXNPAID,AMOUNTPAID)
  113. SELECT
  114. pBranch,
  115. pBranchName,
  116. txn.paidBy,
  117. COUNT('x'),
  118. SUM(pAmt)
  119. FROM remitTran txn WITH(NOLOCK)
  120. inner join applicationUsers au with(nolock) on au.userName = txn.paidBy
  121. inner join agentMaster am with(nolock) on au.agentId = am.agentId
  122. inner join #tempAgentType at with(nolock) on at.agentType = am.agentType
  123. WHERE txn.paidDate BETWEEN @fromDate AND @toDate
  124. AND txn.paidBy = isnull(@userName,txn.paidBy)
  125. GROUP BY txn.paidBy,pBranchName,pBranch
  126. SELECT DISTINCT USERNAME [HEAD] FROM @TABLE
  127. SELECT
  128. [HEAD] = USERNAME
  129. ,[Agent Name] = BRANCHNAME
  130. ,[#Send Trans] = SUM(ISNULL(TXNSEND,0))
  131. ,[Send Amount] = SUM(ISNULL(AMOUNTSEND,0))
  132. ,[#Paid Trans] = SUM(ISNULL(TXNPAID,0))
  133. ,[Paid Amount] = SUM(ISNULL(AMOUNTPAID,0))
  134. FROM @TABLE
  135. GROUP BY BRANCHNAME,USERNAME,BRANCHID
  136. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  137. SELECT 'From Date' head,@FROMDATE value
  138. UNION ALL
  139. SELECT 'To Date' head,@TODATE value
  140. UNION ALL
  141. SELECT 'User' head,isnull(@USERNAME,'All') value
  142. SELECT 'USER WISE DETAIL TRANSACTION REPORT' title
  143. END
  144. IF @FLAG='UW'
  145. BEGIN
  146. INSERT INTO @TABLE(BRANCHID,BRANCHNAME,USERNAME,TXNSEND,AMOUNTSEND)
  147. SELECT
  148. sBranch,
  149. sBranchName,
  150. txn.createdBy,
  151. COUNT('x'),
  152. SUM(cAmt)
  153. FROM vwRemitTran txn WITH(NOLOCK)
  154. inner join applicationUsers au with(nolock) on au.userName = txn.createdBy
  155. inner join agentMaster am with(nolock) on au.agentId = am.agentId
  156. inner join #tempAgentType at with(nolock) on at.agentType = am.agentType
  157. WHERE txn.createdDate BETWEEN @fromDate AND @toDate
  158. AND txn.createdby = isnull(@userName,txn.createdBy)
  159. GROUP BY txn.createdBy,sBranchName,sBranch
  160. INSERT INTO @TABLE(BRANCHID,BRANCHNAME,USERNAME,TXNPAID,AMOUNTPAID)
  161. SELECT
  162. pBranch,
  163. pBranchName,
  164. paidBy,
  165. COUNT('x'),
  166. SUM(pAmt)
  167. FROM vwRemitTran txn WITH(NOLOCK)
  168. inner join applicationUsers au with(nolock) on au.userName = txn.paidBy
  169. inner join agentMaster am with(nolock) on au.agentId = am.agentId
  170. inner join #tempAgentType at with(nolock) on at.agentType = am.agentType
  171. WHERE txn.paidDate BETWEEN @fromDate AND @toDate
  172. AND txn.paidBy = isnull(@userName,txn.paidBy)
  173. GROUP BY paidBy,pBranchName,pBranch
  174. SELECT
  175. [HEAD] = USERNAME
  176. ,[#SEND Trans] = SUM(ISNULL(TXNSEND,0))
  177. ,[SEND Amount] = SUM(ISNULL(AMOUNTSEND,0))
  178. ,[#Paid Trans] = SUM(ISNULL(TXNPAID,0))
  179. ,[Paid Amount] = SUM(ISNULL(AMOUNTPAID,0))
  180. FROM @TABLE GROUP BY USERNAME
  181. EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  182. SELECT 'From Date' head,@FROMDATE value
  183. UNION ALL
  184. SELECT 'To Date' head,@TODATE value
  185. UNION ALL
  186. SELECT 'User' head,isnull(@USERNAME,'All') value
  187. SELECT 'USER WISE SUMMARY TRANSACTION REPORT' title
  188. END
  189. GO