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.

383 lines
36 KiB

  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_CASH_STATUS_REPORT_REFERRAL] Script Date: 4/3/2024 8:51:58 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[PROC_CASH_STATUS_REPORT_REFERRAL]
  9. (
  10. @FLAG VARCHAR(30)
  11. ,@DATE VARCHAR(25) = NULL
  12. ,@USER VARCHAR(50) = NULL
  13. ,@AGENT_ID INT = NULL
  14. ,@FROMDATE VARCHAR(25) = NULL
  15. ,@TODATE VARCHAR(25) = NULL
  16. ,@referralAcctNum BIGINT = NULL
  17. )
  18. AS
  19. SET NOCOUNT ON;
  20. SET XACT_ABORT ON;
  21. BEGIN
  22. IF @FLAG = 'cash-rpt'
  23. BEGIN
  24. CREATE TABLE #TEMP_RPT_DRILL_DOWN(BRANCH_NAME VARCHAR(100), BRANCH_ID INT, OPENING_BALANCE MONEY, IN_AMOUNT MONEY
  25. , OUT_AMOUNT MONEY, CLOSING_BALANCE MONEY, ACCT_NAME VARCHAR(100), ACCT_NUM VARCHAR(30)
  26. , TOTAL_SENT INT, TOTAL_CANCEL INT)
  27. --CREATE TABLE #ALL_AGENT(AGENT_ID INT, AGENT_NAME VARCHAR(100), ACCT_TYPE CHAR(1))
  28. INSERT INTO #TEMP_RPT_DRILL_DOWN(BRANCH_ID, BRANCH_NAME, ACCT_NAME, ACCT_NUM)
  29. SELECT R.BRANCH_ID, R.REFERRAL_NAME, AC.ACCT_NAME, AC.ACCT_NUM
  30. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  31. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.AC_MASTER AC(NOLOCK) ON AC.AGENT_ID = R.ROW_ID AND AC.ACCT_RPT_CODE = 'RA'
  32. WHERE R.AGENT_ID = 0
  33. AND R.BRANCH_ID = ISNULL(@AGENT_ID, R.BRANCH_ID)
  34. CREATE TABLE #TMP(ACCT_NUM VARCHAR(30), AMOUNT MONEY)
  35. INSERT INTO #TMP(ACCT_NUM, AMOUNT)
  36. SELECT ACCT_NUM = T.ACC_NUM, OPENING_BALANCE = ISNULL(SUM (CASE WHEN part_tran_type='CR'
  37. THEN tran_amt*-1 ELSE tran_amt END) ,0)
  38. FROM #TEMP_RPT_DRILL_DOWN A(NOLOCK)
  39. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK) ON A.ACCT_NUM = T.ACC_NUM
  40. WHERE T.tran_date < @DATE
  41. GROUP BY ACC_NUM
  42. UPDATE TM SET TM.OPENING_BALANCE = T.AMOUNT
  43. FROM #TMP T
  44. INNER JOIN #TEMP_RPT_DRILL_DOWN TM ON TM.ACCT_NUM = T.ACCT_NUM
  45. --select * FROM #TMP
  46. -- select * FROM #TEMP_RPT_DRILL_DOWN
  47. --RETURN;
  48. SELECT CAST(CAST(REF_NUM AS NUMERIC) AS BIGINT) REF_NUM
  49. INTO #REF_NUMBER
  50. FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK)
  51. INNER JOIN #TEMP_RPT_DRILL_DOWN A ON A.ACCT_NUM = T.ACC_NUM
  52. WHERE T.tran_date BETWEEN @DATE AND @DATE + ' 23:59:59'
  53. GROUP BY CAST(CAST(REF_NUM AS NUMERIC) AS BIGINT)
  54. HAVING COUNT(1) = 1
  55. SELECT part_tran_type, tran_amt, ACC_NUM, ACCT_TYPE_CODE, field2
  56. INTO #TRAN_MASTER
  57. FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK)
  58. INNER JOIN #REF_NUMBER R ON R.REF_NUM = CAST(CAST(T.REF_NUM AS NUMERIC) AS BIGINT)
  59. INNER JOIN #TEMP_RPT_DRILL_DOWN A ON A.ACCT_NUM = T.ACC_NUM
  60. WHERE T.tran_date BETWEEN @DATE AND @DATE + ' 23:59:59'
  61. SELECT IN_AMOUNT = SUM(CASE WHEN part_tran_type = 'dr' THEN tran_amt ELSE 0 END) ,
  62. OUT_AMOUNT = SUM(CASE WHEN part_tran_type = 'cr' THEN tran_amt ELSE 0 END),
  63. ACCT_NUM = ACC_NUM,
  64. TOTAL_SENT = SUM(CASE WHEN part_tran_type = 'dr' AND field2 = 'Remittance Voucher' THEN 1 ELSE 0 END) ,
  65. TOTAL_CANCEL = SUM(CASE WHEN part_tran_type = 'cr' AND field2 = 'Remittance Voucher' THEN 1 ELSE 0 END)
  66. INTO #TT_TOTAL
  67. FROM #TEMP_RPT_DRILL_DOWN A(NOLOCK)
  68. INNER JOIN #TRAN_MASTER T(NOLOCK) ON A.ACCT_NUM = T.ACC_NUM
  69. GROUP BY ACC_NUM
  70. UPDATE R SET R.IN_AMOUNT = T.IN_AMOUNT, R.OUT_AMOUNT = T.OUT_AMOUNT, R.TOTAL_SENT = ISNULL(T.TOTAL_SENT, 0), R.TOTAL_CANCEL = ISNULL(T.TOTAL_CANCEL, 0)
  71. FROM #TEMP_RPT_DRILL_DOWN R
  72. INNER JOIN #TT_TOTAL T ON T.ACCT_NUM = R.ACCT_NUM
  73. UPDATE #TEMP_RPT_DRILL_DOWN SET CLOSING_BALANCE = ISNULL(OPENING_BALANCE, 0) + ISNULL(IN_AMOUNT, 0) - ISNULL(OUT_AMOUNT, 0)
  74. -- DELETE FROM #TEMP_RPT_DRILL_DOWN WHERE ISNULL(CLOSING_BALANCE, 0) = 0 AND ISNULL(OPENING_BALANCE, 0) = 0 AND ISNULL(IN_AMOUNT, 0) = 0 AND ISNULL(OUT_AMOUNT, 0) = 0
  75. SELECT AGENTID, AGENTNAME
  76. FROM AGENTMASTER AM(NOLOCK)
  77. INNER JOIN (SELECT DISTINCT BRANCH_ID FROM #TEMP_RPT_DRILL_DOWN)X ON X.BRANCH_ID = AM.AGENTID
  78. SELECT AGENT_NAME, OPENING_BALANCE, IN_AMOUNT, OUT_AMOUNT, CLOSING_BALANCE, BRANCH_ID, ADD_BRANCH
  79. FROM (
  80. --AccountReport/AccountStatement/StatementDetails.aspx?startDate=2019-07-06&endDate=2019-07-06&acNum=101003966&acName=101003966%20|%20Transit%20Charges%20(Intermediary%20Charge)&curr=&type=a
  81. SELECT AGENT_NAME = '<a href=''/AccountReport/AccountStatement/StatementDetails.aspx?endDate='+@DATE+'&type=a&startDate='+@DATE+'&acNum='+ACCT_NUM+'&acName='+BRANCH_NAME+'''>'+BRANCH_NAME+' ('+CAST(ISNULL(TOTAL_SENT, 0) AS VARCHAR)+' - '+CAST(ISNULL(TOTAL_CANCEL, 0) AS VARCHAR)+')</a>',
  82. OPENING_BALANCE,
  83. IN_AMOUNT,
  84. OUT_AMOUNT,
  85. CLOSING_BALANCE,
  86. BRANCH_ID,
  87. RPT_TYPE = 'A',
  88. BRANCH_NAME ,
  89. ADD_BRANCH = 'Y'
  90. FROM #TEMP_RPT_DRILL_DOWN
  91. UNION ALL
  92. SELECT AGENT_NAME = REFERRAL_NAME + ' (' + CAST(COUNT(1) AS VARCHAR) +')'
  93. , OPENING_BALANCE = 0
  94. , IN_AMOUNT = SUM(CAMT)
  95. , OUT_AMOUNT = 0
  96. , CLOSING_BALANCE = 0
  97. , R.BRANCH_ID
  98. , RPT_TYPE = 'B'
  99. , BRANCH_NAME = 'Z'
  100. , ADD_BRANCH = 'N'
  101. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  102. INNER JOIN remitTran RT(NOLOCK) ON RT.promotionCode = R.REFERRAL_CODE
  103. WHERE REFERRAL_TYPE_CODE = 'RB'
  104. AND RT.createdDate BETWEEN @DATE AND @DATE + ' 23:59:59'
  105. AND RT.tranStatus <> 'CANCEL'
  106. AND RT.COLLMODE = 'CASH COLLECT'
  107. AND R.BRANCH_ID = ISNULL(@AGENT_ID, R.BRANCH_ID)
  108. GROUP BY R.REFERRAL_NAME, R.BRANCH_ID
  109. )X ORDER BY RPT_TYPE, BRANCH_NAME ASC
  110. --EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  111. --SELECT 'As Of Date' head, @DATE
  112. --SELECT 'Cash Status Report - Referral' title
  113. END
  114. IF @FLAG = 'cash-rpt-new'
  115. BEGIN
  116. CREATE TABLE #TEMP_RPT_DRILL_DOWN_NEW(BRANCH_NAME VARCHAR(100), BRANCH_ID INT, OPENING_BALANCE MONEY, IN_AMOUNT MONEY
  117. , OUT_AMOUNT MONEY, CLOSING_BALANCE MONEY, ACCT_NAME VARCHAR(100), ACCT_NUM VARCHAR(30)
  118. , TOTAL_SENT INT, TOTAL_CANCEL INT)
  119. --CREATE TABLE #ALL_AGENT(AGENT_ID INT, AGENT_NAME VARCHAR(100), ACCT_TYPE CHAR(1))
  120. INSERT INTO #TEMP_RPT_DRILL_DOWN_NEW(BRANCH_ID, BRANCH_NAME, ACCT_NAME, ACCT_NUM)
  121. SELECT R.BRANCH_ID, R.REFERRAL_NAME, AC.ACCT_NAME, AC.ACCT_NUM
  122. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  123. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.AC_MASTER AC(NOLOCK) ON AC.AGENT_ID = R.ROW_ID AND AC.ACCT_RPT_CODE = 'RA'
  124. WHERE R.AGENT_ID = 0
  125. AND R.BRANCH_ID = ISNULL(@AGENT_ID, R.BRANCH_ID)
  126. AND AC.ACCT_NUM = ISNULL(@referralAcctNum,AC.ACCT_NUM)
  127. AND R.IS_ACTIVE = 1
  128. CREATE TABLE #TMP_NEW(ACCT_NUM VARCHAR(30), AMOUNT MONEY)
  129. INSERT INTO #TMP_NEW(ACCT_NUM, AMOUNT)
  130. SELECT ACCT_NUM = T.ACC_NUM, OPENING_BALANCE = ISNULL(SUM (CASE WHEN part_tran_type='CR'
  131. THEN tran_amt*-1 ELSE tran_amt END) ,0)
  132. FROM #TEMP_RPT_DRILL_DOWN_NEW A(NOLOCK)
  133. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK) ON A.ACCT_NUM = T.ACC_NUM
  134. WHERE T.tran_date < @FROMDATE
  135. GROUP BY ACC_NUM
  136. UPDATE TM SET TM.OPENING_BALANCE = T.AMOUNT
  137. FROM #TMP_NEW T
  138. INNER JOIN #TEMP_RPT_DRILL_DOWN_NEW TM ON TM.ACCT_NUM = T.ACCT_NUM
  139. SELECT REF_NUM
  140. INTO #REF_NUMBER_NEW
  141. FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK)
  142. INNER JOIN #TEMP_RPT_DRILL_DOWN_NEW A ON A.ACCT_NUM = T.ACC_NUM
  143. WHERE T.tran_date BETWEEN @FROMDATE AND @TODATE + ' 23:59:59'
  144. GROUP BY REF_NUM
  145. HAVING COUNT(1) = 1
  146. SELECT part_tran_type, tran_amt, ACC_NUM, ACCT_TYPE_CODE, field2
  147. INTO #TRAN_MASTER_NEW
  148. FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK)
  149. INNER JOIN #REF_NUMBER_NEW R ON R.REF_NUM = T.REF_NUM
  150. INNER JOIN #TEMP_RPT_DRILL_DOWN_NEW A ON A.ACCT_NUM = T.ACC_NUM
  151. WHERE T.tran_date BETWEEN @FROMDATE AND @TODATE + ' 23:59:59'
  152. SELECT IN_AMOUNT = SUM(CASE WHEN part_tran_type = 'dr' THEN tran_amt ELSE 0 END) ,
  153. OUT_AMOUNT = SUM(CASE WHEN part_tran_type = 'cr' THEN tran_amt ELSE 0 END),
  154. ACCT_NUM = ACC_NUM,
  155. TOTAL_SENT = SUM(CASE WHEN part_tran_type = 'dr' AND field2 = 'Remittance Voucher' THEN 1 ELSE 0 END) ,
  156. TOTAL_CANCEL = SUM(CASE WHEN part_tran_type = 'cr' AND field2 = 'Remittance Voucher' THEN 1 ELSE 0 END)
  157. INTO #TT_TOTAL_NEW
  158. FROM #TEMP_RPT_DRILL_DOWN_NEW A(NOLOCK)
  159. INNER JOIN #TRAN_MASTER_NEW T(NOLOCK) ON A.ACCT_NUM = T.ACC_NUM
  160. GROUP BY ACC_NUM
  161. UPDATE R SET R.IN_AMOUNT = T.IN_AMOUNT, R.OUT_AMOUNT = T.OUT_AMOUNT, R.TOTAL_SENT = ISNULL(T.TOTAL_SENT, 0), R.TOTAL_CANCEL = ISNULL(T.TOTAL_CANCEL, 0)
  162. FROM #TEMP_RPT_DRILL_DOWN_NEW R
  163. INNER JOIN #TT_TOTAL_NEW T ON T.ACCT_NUM = R.ACCT_NUM
  164. UPDATE #TEMP_RPT_DRILL_DOWN_NEW SET CLOSING_BALANCE = ISNULL(OPENING_BALANCE, 0) + ISNULL(IN_AMOUNT, 0) - ISNULL(OUT_AMOUNT, 0)
  165. DELETE FROM #TEMP_RPT_DRILL_DOWN_NEW WHERE ISNULL(CLOSING_BALANCE, 0) = 0 AND ISNULL(OPENING_BALANCE, 0) = 0 AND ISNULL(IN_AMOUNT, 0) = 0 AND ISNULL(OUT_AMOUNT, 0) = 0
  166. SELECT AGENTID, AGENTNAME
  167. FROM AGENTMASTER AM(NOLOCK)
  168. INNER JOIN (SELECT DISTINCT BRANCH_ID FROM #TEMP_RPT_DRILL_DOWN_NEW)X ON X.BRANCH_ID = AM.AGENTID
  169. SELECT AGENT_NAME, OPENING_BALANCE, IN_AMOUNT, OUT_AMOUNT, CLOSING_BALANCE, BRANCH_ID, ADD_BRANCH
  170. FROM (
  171. --AccountReport/AccountStatement/StatementDetails.aspx?startDate=2019-07-06&endDate=2019-07-06&acNum=101003966&acName=101003966%20|%20Transit%20Charges%20(Intermediary%20Charge)&curr=&type=a
  172. SELECT AGENT_NAME = '<a href=''/AccountReport/AccountStatement/StatementDetails.aspx?endDate='+@TODATE+'&type=a&startDate='+@FROMDATE+'&acNum='+ACCT_NUM+'&acName='+BRANCH_NAME+'''>'+BRANCH_NAME+' ('+CAST(ISNULL(TOTAL_SENT, 0) AS VARCHAR)+' - '+CAST(ISNULL(TOTAL_CANCEL, 0) AS VARCHAR)+')</a>',
  173. OPENING_BALANCE,
  174. IN_AMOUNT,
  175. OUT_AMOUNT,
  176. CLOSING_BALANCE,
  177. BRANCH_ID,
  178. RPT_TYPE = 'A',
  179. BRANCH_NAME ,
  180. ADD_BRANCH = 'Y'
  181. FROM #TEMP_RPT_DRILL_DOWN_NEW
  182. UNION ALL
  183. SELECT AGENT_NAME = REFERRAL_NAME + ' (' + CAST(COUNT(1) AS VARCHAR) +')'
  184. , OPENING_BALANCE = 0
  185. , IN_AMOUNT = SUM(CAMT)
  186. , OUT_AMOUNT = 0
  187. , CLOSING_BALANCE = 0
  188. , R.BRANCH_ID
  189. , RPT_TYPE = 'B'
  190. , BRANCH_NAME = 'Z'
  191. , ADD_BRANCH = 'N'
  192. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  193. INNER JOIN remitTran RT(NOLOCK) ON RT.promotionCode = R.REFERRAL_CODE
  194. WHERE REFERRAL_TYPE_CODE = 'RB'
  195. AND RT.createdDate BETWEEN @FROMDATE AND @TODATE + ' 23:59:59'
  196. AND RT.tranStatus <> 'CANCEL'
  197. AND RT.COLLMODE = 'CASH COLLECT'
  198. AND R.BRANCH_ID = ISNULL(@AGENT_ID, R.BRANCH_ID)
  199. GROUP BY R.REFERRAL_NAME, R.BRANCH_ID
  200. )X ORDER BY RPT_TYPE, BRANCH_NAME ASC
  201. --EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  202. --SELECT 'As Of Date' head, @DATE
  203. --SELECT 'Cash Status Report - Referral' title
  204. END
  205. IF @FLAG = 'staff-visit-cash-rpt'
  206. BEGIN
  207. CREATE TABLE #TEMP_RPT_DRILL_DOWN_NEW1(BRANCH_NAME VARCHAR(100), BRANCH_ID INT, OPENING_BALANCE MONEY, IN_AMOUNT MONEY
  208. , OUT_AMOUNT MONEY, CLOSING_BALANCE MONEY, ACCT_NAME VARCHAR(100), ACCT_NUM VARCHAR(30)
  209. , TOTAL_SENT INT, TOTAL_CANCEL INT)
  210. --CREATE TABLE #ALL_AGENT(AGENT_ID INT, AGENT_NAME VARCHAR(100), ACCT_TYPE CHAR(1))
  211. INSERT INTO #TEMP_RPT_DRILL_DOWN_NEW1(BRANCH_ID, BRANCH_NAME, ACCT_NAME, ACCT_NUM)
  212. SELECT R.BRANCH_ID, R.REFERRAL_NAME, AC.ACCT_NAME, AC.ACCT_NUM
  213. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  214. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.AC_MASTER AC(NOLOCK) ON AC.AGENT_ID = R.ROW_ID AND AC.ACCT_RPT_CODE = 'RA'
  215. WHERE R.AGENT_ID = 0
  216. AND R.BRANCH_ID = ISNULL(@AGENT_ID, R.BRANCH_ID)
  217. AND STAFF_VISIT = 1
  218. IF (@DATE <='2022-02-02')
  219. BEGIN
  220. INSERT INTO #TEMP_RPT_DRILL_DOWN_NEW1(BRANCH_ID, BRANCH_NAME, ACCT_NAME, ACCT_NUM)
  221. SELECT R.BRANCH_ID, R.REFERRAL_NAME, AC.ACCT_NAME, AC.ACCT_NUM
  222. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  223. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.AC_MASTER AC(NOLOCK) ON AC.AGENT_ID = R.ROW_ID AND AC.ACCT_RPT_CODE = 'RA'
  224. WHERE STAFF_VISIT = 0 and ROW_ID in(25,123,38)
  225. END
  226. CREATE TABLE #TMP_NEW1(ACCT_NUM VARCHAR(30), AMOUNT MONEY)
  227. INSERT INTO #TMP_NEW1(ACCT_NUM, AMOUNT)
  228. SELECT ACCT_NUM = T.ACC_NUM, OPENING_BALANCE = ISNULL(SUM (CASE WHEN part_tran_type='CR'
  229. THEN tran_amt*-1 ELSE tran_amt END) ,0)
  230. FROM #TEMP_RPT_DRILL_DOWN_NEW1 A(NOLOCK)
  231. INNER JOIN FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK) ON A.ACCT_NUM = T.ACC_NUM
  232. WHERE T.tran_date < @DATE
  233. GROUP BY ACC_NUM
  234. UPDATE TM SET TM.OPENING_BALANCE = T.AMOUNT
  235. FROM #TMP_NEW1 T
  236. INNER JOIN #TEMP_RPT_DRILL_DOWN_NEW1 TM ON TM.ACCT_NUM = T.ACCT_NUM
  237. SELECT CAST(CAST(REF_NUM AS NUMERIC) AS BIGINT) REF_NUM
  238. INTO #REF_NUMBER_NEW1
  239. FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK)
  240. INNER JOIN #TEMP_RPT_DRILL_DOWN_NEW1 A ON A.ACCT_NUM = T.ACC_NUM
  241. WHERE T.tran_date BETWEEN @DATE AND @DATE + ' 23:59:59'
  242. GROUP BY CAST(CAST(REF_NUM AS NUMERIC) AS BIGINT)
  243. HAVING COUNT(1) = 1
  244. SELECT part_tran_type, tran_amt, ACC_NUM, ACCT_TYPE_CODE, field2
  245. INTO #TRAN_MASTER_NEW1
  246. FROM FASTMONEYPRO_ACCOUNT.DBO.TRAN_MASTER T(NOLOCK)
  247. INNER JOIN #REF_NUMBER_NEW1 R ON R.REF_NUM = CAST(CAST(T.REF_NUM AS NUMERIC) AS BIGINT)
  248. INNER JOIN #TEMP_RPT_DRILL_DOWN_NEW1 A ON A.ACCT_NUM = T.ACC_NUM
  249. WHERE T.tran_date BETWEEN @DATE AND @DATE + ' 23:59:59'
  250. SELECT IN_AMOUNT = SUM(CASE WHEN part_tran_type = 'dr' THEN tran_amt ELSE 0 END) ,
  251. OUT_AMOUNT = SUM(CASE WHEN part_tran_type = 'cr' THEN tran_amt ELSE 0 END),
  252. ACCT_NUM = ACC_NUM,
  253. TOTAL_SENT = SUM(CASE WHEN part_tran_type = 'dr' AND field2 = 'Remittance Voucher' THEN 1 ELSE 0 END) ,
  254. TOTAL_CANCEL = SUM(CASE WHEN part_tran_type = 'cr' AND field2 = 'Remittance Voucher' THEN 1 ELSE 0 END)
  255. INTO #TT_TOTAL_NEW1
  256. FROM #TEMP_RPT_DRILL_DOWN_NEW1 A(NOLOCK)
  257. INNER JOIN #TRAN_MASTER_NEW1 T(NOLOCK) ON A.ACCT_NUM = T.ACC_NUM
  258. GROUP BY ACC_NUM
  259. UPDATE R SET R.IN_AMOUNT = T.IN_AMOUNT, R.OUT_AMOUNT = T.OUT_AMOUNT, R.TOTAL_SENT = ISNULL(T.TOTAL_SENT, 0), R.TOTAL_CANCEL = ISNULL(T.TOTAL_CANCEL, 0)
  260. FROM #TEMP_RPT_DRILL_DOWN_NEW1 R
  261. INNER JOIN #TT_TOTAL_NEW1 T ON T.ACCT_NUM = R.ACCT_NUM
  262. UPDATE #TEMP_RPT_DRILL_DOWN_NEW1 SET CLOSING_BALANCE = ISNULL(OPENING_BALANCE, 0) + ISNULL(IN_AMOUNT, 0) - ISNULL(OUT_AMOUNT, 0)
  263. DELETE FROM #TEMP_RPT_DRILL_DOWN_NEW1 WHERE ISNULL(CLOSING_BALANCE, 0) = 0 AND ISNULL(OPENING_BALANCE, 0) = 0 AND ISNULL(IN_AMOUNT, 0) = 0 AND ISNULL(OUT_AMOUNT, 0) = 0
  264. SELECT AGENTID, AGENTNAME
  265. FROM AGENTMASTER AM(NOLOCK)
  266. INNER JOIN (SELECT DISTINCT BRANCH_ID FROM #TEMP_RPT_DRILL_DOWN_NEW1)X ON X.BRANCH_ID = AM.AGENTID
  267. SELECT AGENT_NAME, OPENING_BALANCE, IN_AMOUNT, OUT_AMOUNT, CLOSING_BALANCE, BRANCH_ID, ADD_BRANCH
  268. FROM (
  269. --AccountReport/AccountStatement/StatementDetails.aspx?startDate=2019-07-06&endDate=2019-07-06&acNum=101003966&acName=101003966%20|%20Transit%20Charges%20(Intermediary%20Charge)&curr=&type=a
  270. SELECT AGENT_NAME = '<a href=''/AccountReport/AccountStatement/StatementDetails.aspx?endDate='+@DATE+'&type=a&startDate='+@DATE+'&acNum='+ACCT_NUM+'&acName='+BRANCH_NAME+'''>'+BRANCH_NAME+' ('+CAST(ISNULL(TOTAL_SENT, 0) AS VARCHAR)+' - '+CAST(ISNULL(TOTAL_CANCEL, 0) AS VARCHAR)+')</a>',
  271. OPENING_BALANCE,
  272. IN_AMOUNT,
  273. OUT_AMOUNT,
  274. CLOSING_BALANCE,
  275. BRANCH_ID,
  276. RPT_TYPE = 'A',
  277. BRANCH_NAME ,
  278. ADD_BRANCH = 'Y'
  279. FROM #TEMP_RPT_DRILL_DOWN_NEW1
  280. UNION ALL
  281. SELECT AGENT_NAME = REFERRAL_NAME + ' (' + CAST(COUNT(1) AS VARCHAR) +')'
  282. , OPENING_BALANCE = 0
  283. , IN_AMOUNT = SUM(CAMT)
  284. , OUT_AMOUNT = 0
  285. , CLOSING_BALANCE = 0
  286. , R.BRANCH_ID
  287. , RPT_TYPE = 'B'
  288. , BRANCH_NAME = 'Z'
  289. , ADD_BRANCH = 'N'
  290. FROM REFERRAL_AGENT_WISE R(NOLOCK)
  291. INNER JOIN remitTran RT(NOLOCK) ON RT.promotionCode = R.REFERRAL_CODE
  292. WHERE STAFF_VISIT = 1
  293. AND RT.createdDate BETWEEN @DATE AND @DATE + ' 23:59:59'
  294. AND RT.tranStatus <> 'CANCEL'
  295. AND RT.COLLMODE = 'CASH COLLECT'
  296. AND R.BRANCH_ID = ISNULL(@AGENT_ID, R.BRANCH_ID)
  297. GROUP BY R.REFERRAL_NAME, R.BRANCH_ID
  298. )X
  299. WHERE x.add_branch = 'Y'
  300. ORDER BY RPT_TYPE, BRANCH_NAME ASC
  301. --EXEC proc_errorHandler '0', 'Report has been prepared successfully.', NULL
  302. --SELECT 'As Of Date' head, @DATE
  303. --SELECT 'Cash Status Report - Referral' title
  304. END
  305. IF @flag = 'summary'
  306. BEGIN
  307. DECLARE @rowId INT
  308. SELECT @rowId = ROW_ID FROM REFERRAL_AGENT_WISE WHERE BRANCH_ID = @AGENT_ID
  309. SELECT R.REFERRAL_NAME, ISNULL(RT.SENDERNAME,cm.fullName) SENDERNAME, PARTNER_ID, COMMISSION_PCNT, PAID_COMMISSION, FX_PCNT, PAID_FX, FLAT_RATE,ISNULL(RT.serviceCharge,0) serviceCharge,ISNULL(T.TAX_AMOUNT,0) TAX_AMOUNT
  310. , CONTROLNO = '<a href="javascript:void(0)" onclick="OpenInNewWindow(''/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId='+CAST(RT.ID AS VARCHAR)+''')">'+dbo.FNADecryptString(controlNo) +'</a>'
  311. , PAID_FLAT, PAID_NEW_CUSTOMER_RATE, PAID_NEW_CUSTOMER, ISNULL(CONVERT(CHAR(10), T.TXN_DATE,126), CONVERT( CHAR(10), cm.createdDate, 126)) [DATE]
  312. , ISNULL(RT.CAMT, 0) CAMT
  313. , T.REFERRAL_TYPE
  314. INTO #STAFF_VISIT_REPORT_SUMMARY
  315. FROM REFERRAL_INCENTIVE_TRANSACTION_WISE T(NOLOCK)
  316. INNER JOIN REFERRAL_AGENT_WISE R(NOLOCK) ON R.REFERRAL_CODE = T.REFERRAL_ID
  317. LEFT JOIN customerMaster cm(NOLOCK) ON cm.customerId = T.CUSTOMER_ID
  318. LEFT JOIN REMITTRAN RT(NOLOCK) ON RT.ID = T.TRAN_ID AND T.TXN_DATE BETWEEN @FROMDATE AND @TODATE + ' 23:59:59'
  319. -- AND RT.COLLMODE = 'CASH COLLECT'
  320. WHERE
  321. R.ROW_ID = ISNULL(@rowId, R.ROW_ID)
  322. AND R.IS_ACTIVE = 1
  323. UPDATE #STAFF_VISIT_REPORT_SUMMARY SET PARTNER_ID = 393880 WHERE PARTNER_ID = 394397
  324. SELECT * FROM #STAFF_VISIT_REPORT_SUMMARY
  325. ORDER BY [DATE], REFERRAL_NAME
  326. END
  327. END