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.

274 lines
20 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_txnUploadLog] 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_txnUploadLog]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(50) = NULL
  11. ,@logId BIGINT = NULL
  12. ,@uploadedDateFrom DATETIME = NULL
  13. ,@uploadedDateTo DATETIME = NULL
  14. ,@uploadedBy VARCHAR(50) = NULL
  15. ,@agentId INT = NULL
  16. ,@agentName VARCHAR(100)= NULL
  17. ,@branchName VARCHAR(100)= NULL
  18. ,@sortBy VARCHAR(50) = NULL
  19. ,@sortOrder VARCHAR(5) = NULL
  20. ,@pageSize INT = NULL
  21. ,@pageNumber INT = NULL
  22. AS
  23. SET NOCOUNT ON
  24. DECLARE
  25. @sql VARCHAR(MAX)
  26. ,@oldValue VARCHAR(MAX)
  27. ,@newValue VARCHAR(MAX)
  28. ,@module VARCHAR(10)
  29. ,@tableAlias VARCHAR(100)
  30. ,@logIdentifier VARCHAR(50)
  31. ,@logParamMod VARCHAR(100)
  32. ,@logParamMain VARCHAR(100)
  33. ,@table VARCHAR(MAX)
  34. ,@select_field_list VARCHAR(MAX)
  35. ,@extra_field_list VARCHAR(MAX)
  36. ,@sql_filter VARCHAR(MAX)
  37. ,@modType VARCHAR(6)
  38. DECLARE @receivingMode VARCHAR(100)
  39. IF @flag = 's'
  40. BEGIN
  41. IF @sortBy IS NULL
  42. SET @sortBy = 'logId'
  43. IF @sortOrder IS NULL
  44. SET @sortOrder = 'DESC'
  45. SET @table = '(
  46. SELECT
  47. main.logId
  48. ,agentName = main.pAgentName
  49. ,branchName = main.pBranchName
  50. ,main.logType
  51. ,main.receivingMode
  52. ,main.uploadedBy
  53. ,main.uploadedDate
  54. FROM txnUploadLog main WITH(NOLOCK)
  55. WHERE 1=1
  56. ) x'
  57. SET @sql_filter = ''
  58. IF @logId IS NOT NULL
  59. SET @sql_filter = @sql_filter + ' AND logId = ''' + CAST(@logId AS VARCHAR) + ''''
  60. IF @agentName IS NOT NULL
  61. SET @sql_filter = @sql_filter + ' AND agentName LIKE ''' + @agentName + '%'''
  62. IF @branchName IS NOT NULL
  63. SET @sql_filter = @sql_filter + ' AND branchName LIKE ''' + @branchName + '%'''
  64. IF @uploadedBy IS NOT NULL
  65. SET @sql_filter = @sql_filter + ' AND uploadedBy = ''' + @uploadedBy + ''''
  66. IF @uploadedDateFrom IS NOT NULL AND @uploadedDateTo IS NOT NULL
  67. SET @sql_filter = @sql_filter + ' AND uploadedDate BETWEEN ''' + CONVERT(VARCHAR,@uploadedDateFrom,101) + ''' AND ''' + CONVERT(VARCHAR,@uploadedDateFrom,101) + ' 23:59:59'''
  68. SET @select_field_list ='
  69. logId
  70. ,agentName
  71. ,branchName
  72. ,logType
  73. ,receivingMode
  74. ,uploadedBy
  75. ,uploadedDate
  76. '
  77. EXEC dbo.proc_paging
  78. @table
  79. ,@sql_filter
  80. ,@select_field_list
  81. ,@extra_field_list
  82. ,@sortBy
  83. ,@sortOrder
  84. ,@pageSize
  85. ,@pageNumber
  86. END
  87. ELSE IF @flag = 'uploadedTxnList'
  88. BEGIN
  89. --Successful Transaction----------------------------------------------------------------------------------------------------
  90. SELECT @receivingMode = receivingMode FROM txnUploadLog WITH(NOLOCK) WHERE logId = @logId
  91. IF @receivingMode = 'Bank Deposit'
  92. BEGIN
  93. SELECT
  94. [ICN] = dbo.FNADecryptString(controlNo)
  95. ,[Branch] = ISNULL(rt.pBankBranchName, rt.pBranchName)
  96. ,[Sender Name] = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  97. ,[Receiver Name] = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  98. ,[Bank A/C No.] = rt.accountNo
  99. ,[Total Amount] = rt.pAmt
  100. ,[Paid Date] = rt.paidDate
  101. ,[Paid By] = rt.paidBy
  102. FROM remitTran rt WITH(NOLOCK)
  103. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  104. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  105. WHERE uploadLogId = @logId
  106. RETURN
  107. END
  108. ELSE IF @receivingMode = 'Account Deposit to other bank'
  109. BEGIN
  110. SELECT
  111. [ICN] = dbo.FNADecryptString(controlNo)
  112. ,[Ext. Bank] = ISNULL(rt.pBankName, rt.pAgentName)
  113. ,[Ext. Branch] = ISNULL(rt.pBankBranchName, rt.pBranchName)
  114. ,[Sender Name] = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  115. ,[Receiver Name] = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  116. ,[Bank A/C No.] = rt.accountNo
  117. ,[Total Amount] = rt.pAmt
  118. ,[Paid Date] = rt.paidDate
  119. ,[Paid By] = rt.paidBy
  120. FROM remitTran rt WITH(NOLOCK)
  121. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  122. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  123. WHERE uploadLogId = @logId
  124. RETURN
  125. END
  126. ELSE IF @receivingMode = 'Agri Bank Cash Pay'
  127. BEGIN
  128. SELECT
  129. [ICN] = dbo.FNADecryptString(controlNo)
  130. ,[Branch] = ISNULL(rt.pBankBranchName, rt.pBranchName)
  131. ,[Sender Name] = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  132. ,[Receiver Name] = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  133. ,[Receiver Contact No.] = ISNULL(rec.mobile, '') + ISNULL('/' + rec.homePhone, '')
  134. ,[Total Amount] = rt.pAmt
  135. ,[Paid Date] = rt.paidDate
  136. ,[Paid By] = rt.paidBy
  137. FROM remitTran rt WITH(NOLOCK)
  138. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  139. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  140. WHERE uploadLogId = @logId
  141. RETURN
  142. END
  143. ELSE IF @receivingMode = 'Door to Door'
  144. BEGIN
  145. SELECT
  146. [ICN] = dbo.FNADecryptString(controlNo)
  147. ,[Branch] = ISNULL(rt.pBankBranchName, rt.pBranchName)
  148. ,[Sender Name] = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  149. ,[Receiver Name] = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  150. ,[Receiver Contact No.] = ISNULL(rec.mobile, '') + ISNULL('/' + rec.homePhone, '')
  151. ,[Receiver Address] = rec.[address]
  152. ,[Total Amount] = rt.pAmt
  153. ,[Paid Date] = rt.paidDate
  154. ,[Paid By] = rt.paidBy
  155. FROM remitTran rt WITH(NOLOCK)
  156. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  157. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  158. WHERE uploadLogId = @logId
  159. RETURN
  160. END
  161. ELSE IF @receivingMode = 'Cash Payment to Other Bank'
  162. BEGIN
  163. SELECT
  164. [ICN] = dbo.FNADecryptString(controlNo)
  165. ,[Ext. Bank] = isnull(rt.pBankName, rt.pAgentName)
  166. ,[Ext. Branch] = isnull(rt.pBankBranchName, rt.pBranchName)
  167. ,[Sender Name] = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  168. ,[Receiver Name] = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  169. --,[Receiver Name] = '<b>' + rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '') + '</b>'
  170. -- + '<br/>[Contact No.: ' + ISNULL(rec.mobile, '') + ISNULL('/' + rec.homePhone, '') + ISNULL('<br/>' + rec.idType, '') + ISNULL(' : ' + rec.idNumber, '') + ']'
  171. ,[Receiver Contact No.] = ISNULL(rec.homePhone, '') + ISNULL('/' + rec.mobile, '')
  172. ,[Receiver ID] = ISNULL(rec.idType, '') + ISNULL(' : ' + rec.idNumber, '')
  173. ,[Total Amount] = rt.pAmt
  174. ,[Paid Date] = rt.paidDate
  175. ,[Paid By] = rt.paidBy
  176. FROM remitTran rt WITH(NOLOCK)
  177. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  178. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  179. WHERE uploadLogId = @logId
  180. RETURN
  181. --''<b>'' + actrn.ReceiverName + ''</b>'' + ''<br/>[Contact No.: '' + ISNULL(actrn.receiverPhone, '''') + ISNULL(''/'' + actrn.receiver_mobile, '''') + ISNULL(''<br/>'' + receiverIDDescription, '''') + ISNULL('' : '' + receiverID, '''') + '']''
  182. END
  183. ELSE IF @receivingMode = 'Cash Payment'
  184. BEGIN
  185. SELECT
  186. [ICN] = dbo.FNADecryptString(controlNo)
  187. ,[Branch] = ISNULL(rt.pBankBranchName, rt.pBranchName)
  188. ,[Sender Name] = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  189. ,[Receiver Name] = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  190. ,[Receiver Contact No.] = ISNULL(rec.mobile, '') + ISNULL('/' + rec.homePhone, '')
  191. ,[Total Amount] = rt.pAmt
  192. ,[Paid Date] = rt.paidDate
  193. ,[Paid By] = rt.paidBy
  194. FROM remitTran rt WITH(NOLOCK)
  195. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  196. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  197. WHERE uploadLogId = @logId
  198. RETURN
  199. END
  200. SELECT
  201. rt.controlNo
  202. ,sFirstName = sen.firstName, sMiddleName = sen.middleName, sLastName1 = sen.lastName1, sLastName2 = sen.lastName2
  203. ,rFirstName = rec.firstName, rMiddleName = rec.middleName, rLastName1 = rec.lastName1, rLastName2 = rec.lastName2
  204. ,pAmt
  205. ,tranStatus
  206. INTO #tempTrn
  207. FROM remitTran rt WITH(NOLOCK)
  208. INNER JOIN tranSenders sen WITH(NOLOCK) ON rt.id = sen.tranId
  209. INNER JOIN tranReceivers rec WITH(NOLOCK) ON rt.id = rec.tranId
  210. WHERE uploadLogId = @logId
  211. SELECT
  212. [ICN] = dbo.FNADecryptString(controlNo)
  213. ,[Sender Name] = sFirstName + ISNULL(' ' + sMiddleName, '') + ISNULL(' ' + sLastName1, '') + ISNULL(' ' + sLastName2, '')
  214. ,[Receiver Name] = rFirstName + ISNULL(' ' + rMiddleName, '') + ISNULL(' ' + rLastName1, '') + ISNULL(' ' + rLastName2, '')
  215. ,[Payout Amount] = pAmt
  216. ,[Status] = tranStatus
  217. FROM #tempTrn
  218. --Unsuccessful Transaction--------------------------------------------------------------------------------------------------
  219. DECLARE @dataList TABLE(
  220. id INT IDENTITY(1,1)
  221. ,controlNoEncrypted VARCHAR(20)
  222. ,controlNo VARCHAR(20)
  223. ,Amount VARCHAR(20)
  224. ,[Status] VARCHAR(300)
  225. ,errorCode INT
  226. )
  227. DECLARE @xml XML
  228. SELECT @xml = xmlErrorData FROM txnUploadLog WITH(NOLOCK) WHERE logId = @logId
  229. IF @xml IS NULL
  230. RETURN
  231. INSERT @dataList
  232. SELECT
  233. dbo.FNAEncryptString(p.value('@controlno','VARCHAR(20)') )as ControlnoEnc
  234. ,p.value('@controlno','VARCHAR(20)') as ControlNo
  235. ,p.value('@amount','VARCHAR(20)')as Amount
  236. ,p.value('@status','VARCHAR(300)') as [status]
  237. ,NULL
  238. FROM @xml.nodes('/root/row') as tmp(p)
  239. SELECT
  240. [ICN] = controlNo
  241. ,[Amount] = CASE WHEN Amount = '' THEN '0' ELSE Amount END
  242. ,[Status] = [status]
  243. FROM @dataList
  244. END
  245. GO