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.

256 lines
16 KiB

10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_approveOFACCompliance] Script Date: 11/17/2023 9:14:46 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER proc [dbo].[proc_approveOFACCompliance]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(200) = NULL
  11. ,@trnId VARCHAR(30) = NULL
  12. ,@controlNo VARCHAR(100) = NULL
  13. ,@sCountry VARCHAR(50) = NULL
  14. ,@sAgentName VARCHAR(50) = NULL
  15. ,@branchName VARCHAR(50) = NULL
  16. ,@createdBy VARCHAR(50) = NULL
  17. ,@createdDate VARCHAR(20) = NULL
  18. ,@type VARCHAR(10) = NULL
  19. ,@sortBy VARCHAR(50) = NULL
  20. ,@sortOrder VARCHAR(5) = NULL
  21. ,@pageSize INT = NULL
  22. ,@pageNumber INT = NULL
  23. ,@Msg VARCHAR(20) = NULL
  24. ,@tranType CHAR(1) = NULL
  25. ,@email VARCHAR(50) = NULL
  26. ,@kycStatus VARCHAR(100) = NULL
  27. AS
  28. ------------------------------------------------------------------------
  29. -- #101 - Mobile Changes , #418 - Add email filter
  30. -- #18970 change in @flag='s' to hide document upload panel
  31. -- #18970 chnage in @flag='s' to split txn on the basis of kyc status
  32. -- change in @flag = 's' to show registration type and kyc status
  33. -- change in @flaf = 's' to order the txn by created Date
  34. -------------------------------------------------------------------------
  35. SET NOCOUNT ON;
  36. SET XACT_ABORT ON;
  37. DECLARE @controlNoEncrypted VARCHAR(20)
  38. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  39. BEGIN TRY
  40. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  41. DECLARE
  42. @sql VARCHAR(MAX)
  43. ,@oldValue VARCHAR(MAX)
  44. ,@newValue VARCHAR(MAX)
  45. ,@module VARCHAR(10)
  46. ,@tableAlias VARCHAR(100)
  47. ,@logIdentifier VARCHAR(50)
  48. ,@logParamMod VARCHAR(100)
  49. ,@logParamMain VARCHAR(100)
  50. ,@table VARCHAR(MAX)
  51. ,@select_field_list VARCHAR(MAX)
  52. ,@extra_field_list VARCHAR(MAX)
  53. ,@sql_filter VARCHAR(MAX)
  54. ,@id VARCHAR(10)
  55. ,@modType VARCHAR(6)
  56. ,@ApprovedFunctionId INT
  57. ,@tranAmount MONEY
  58. SELECT
  59. @ApprovedFunctionId = 20123030
  60. ,@logIdentifier = 'trnId'
  61. ,@logParamMain = 'remitTranCompliance'
  62. ,@logParamMod = 'remitTranOfac'
  63. ,@module = '20'
  64. ,@tableAlias = 'Approve OFAC Compliance'
  65. IF @flag='s'
  66. BEGIN
  67. SET @table = '(
  68. select
  69. tranId=ISNULL(b.holdTranId,b.id)
  70. ,controlNo=dbo.FNADecryptString(b.controlNo)
  71. ,b.sCountry
  72. ,b.sAgentName
  73. ,branchName=CASE b.isonlineTxn WHEN ''M'' THEN ''Mobile'' ELSE ''WEB Online'' END
  74. ,b.createdBy
  75. ,b.createdDate
  76. ,b.cAmt
  77. ,type = ISNULL((SELECT dbo.FNAGetOfacComplianceReason(ISNULL(b.holdTranId, b.id))),''Cash Limit Hold'')
  78. ,receiverName = rec.fullname
  79. ,senderName = b.senderName
  80. , hasChanged = '' ''
  81. --,cm.email as email
  82. ,complianceRemarks = cl.complianceReason
  83. ,[RegistrationType] = CASE WHEN cm.LawsonCardNo IS NULL THEN '''' ELSE cm.LawsonCardNo END
  84. --,ISNULL(cm.verificationCode,''NOT_COMPLETED'') verificationCode
  85. ,verificationCode = cm.verificationCode
  86. from vwRemitTran b with(nolock)
  87. INNER JOIN VWTRANRECEIVERS REC (NOLOCK) ON REC.TRANID = B.ID
  88. LEFT JOIN complianceLog cl (NOLOCK) ON cl.tranId = B.ID
  89. LEFT JOIN CustomerMaster cm(nolock) ON cm.customerId = REC.customerId
  90. WHERE B.tranStatus IN (''Compliance Hold'', ''Hold'', ''OFAC Hold'', ''OFAC/Compliance Hold'', ''Cash Limit Hold'', ''Cash Limit/OFAC/Compliance Hold'', ''Cash Limit/OFAC Hold'', ''Cash Limit/Compliance Hold'')
  91. '
  92. IF ISNULL(@tranType, '') <> ''
  93. BEGIN
  94. SET @table += 'AND B.TRANTYPE = ISNULL('''+@tranType+''', B.TRANTYPE)';
  95. END
  96. IF ISNULL(@kycstatus, '') <> ''
  97. BEGIN
  98. SET @table += 'AND cm.LawsonCardNo = ISNULL(''' + @kycstatus + ''', cm.LawsonCardNo)';
  99. END
  100. SET @table += ')';
  101. IF @sortBy IS NULL
  102. SET @sortBy = 'createdDate'
  103. IF @sortOrder IS NULL
  104. SET @sortOrder = 'DESC'
  105. --print @table
  106. --return;
  107. SET @table = '(
  108. SELECT
  109. tranId,
  110. --,controlNo= ''<a href="#" onclick="OpenInNewWindow('''''+dbo.FNAGetURL()+'Remit/Transaction/Reports/SearchTransaction.aspx?controlNo='' + main.controlNo + '''''')">'' + main.controlNo + ''</a>''
  111. controlNo = ''<a href="'+dbo.FNAGetURL()+'Remit/Compliance/ApproveOFACandComplaince/Manage.aspx?controlNo='' + main.controlNo + ''&showDocPanel=N">'' + main.controlNo + ''</a>'',
  112. branchName,
  113. type,
  114. receiverName,
  115. senderName,
  116. hasChanged,
  117. sCountry,
  118. sAgentName,
  119. createdBy,
  120. createdDate,
  121. cAmt,
  122. complianceRemarks,
  123. RegistrationType,
  124. verificationCode
  125. FROM ' + @table + ' main
  126. ) x'
  127. SET @sql_filter = ''
  128. IF @controlNo IS NOT NULL
  129. SET @sql_filter = @sql_filter + ' AND controlNo LIKE ''%' + @controlNo + '%'''
  130. IF @email IS NOT NULL
  131. SET @sql_filter = @sql_filter + ' AND createdBy LIKE ''%' + @email + '%'''
  132. IF @sCountry IS NOT NULL
  133. SET @sql_filter = @sql_filter + ' AND sCountry = ''' + @sCountry + ''''
  134. IF @sAgentName IS NOT NULL
  135. SET @sql_filter = @sql_filter + ' AND sAgentName = ''' + @sAgentName + ''''
  136. IF @branchName IS NOT NULL
  137. SET @sql_filter = @sql_filter + ' AND senderName = ''' + @branchName + ''''
  138. IF @createdBy IS NOT NULL
  139. SET @sql_filter = @sql_filter + ' AND createdBy = ''' + @createdBy + ''''
  140. IF @createdDate IS NOT NULL
  141. SET @sql_filter = @sql_filter + ' AND CAST(createdDate AS DATE) = ''' + @createdDate + ''''
  142. IF @type IS NOT NULL
  143. SET @sql_filter = @sql_filter + ' AND type LIKE ''' + @type + '%'''
  144. SET @select_field_list ='
  145. tranId
  146. ,controlNo
  147. ,branchName
  148. ,type
  149. ,receiverName
  150. ,senderName
  151. ,hasChanged
  152. ,sCountry
  153. ,sAgentName
  154. ,createdBy
  155. ,createdDate
  156. ,cAmt
  157. ,complianceRemarks
  158. ,RegistrationType
  159. ,verificationCode
  160. '
  161. EXEC dbo.proc_paging
  162. @table
  163. ,@sql_filter
  164. ,@select_field_list
  165. ,@extra_field_list
  166. ,@sortBy
  167. ,@sortOrder
  168. ,@pageSize
  169. ,@pageNumber
  170. END
  171. /*
  172. ELSE IF @flag = 'c' -- ## search transaction for Errorneously Pay
  173. BEGIN
  174. IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK)
  175. WHERE controlNo = @controlNoEncrypted and tranStatus = 'Paid' )
  176. BEGIN
  177. EXEC proc_errorHandler 1, 'Paid Transaction Not Found', @controlNoEncrypted
  178. RETURN
  179. END
  180. IF EXISTS(SELECT 'X' FROM errPaidTran WITH(NOLOCK)
  181. WHERE controlNo = (select controlNo from errPaidTran where controlNo=@controlNo and tranStatus='Paid'))
  182. BEGIN
  183. EXEC proc_errorHandler 1, 'Transaction Already Errorneously Paid!', @controlNoEncrypted
  184. RETURN
  185. END
  186. IF EXISTS(SELECT 'X' FROM errPaidTran WITH(NOLOCK)
  187. WHERE controlNo = (select controlNo from errPaidTran where controlNo=@controlNo
  188. and tranStatus is null and ISNULL(isDeleted,'N')<>'Y'))
  189. BEGIN
  190. EXEC proc_errorHandler 1, 'Transaction Already Requested For Errorneously Pay!', @controlNoEncrypted
  191. RETURN
  192. END
  193. DECLARE @agentId INT
  194. SELECT @agentId = agentId FROM applicationUsers WHERE userName = @user
  195. IF @agentId = 1
  196. BEGIN
  197. EXEC proc_errorHandler 0, 'Transaction Found', @controlNoEncrypted
  198. RETURN
  199. END
  200. IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK)
  201. WHERE controlNo = @controlNoEncrypted AND
  202. (pBranch = (SELECT agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @user))
  203. )
  204. BEGIN
  205. EXEC proc_errorHandler 1, 'You are not authorized to view this transaction', @controlNoEncrypted
  206. RETURN
  207. END
  208. EXEC proc_errorHandler 0, 'Transaction Found', @controlNo
  209. END
  210. */
  211. END TRY
  212. BEGIN CATCH
  213. IF @@TRANCOUNT > 0
  214. ROLLBACK TRANSACTION
  215. DECLARE @errorMessage VARCHAR(MAX)
  216. SET @errorMessage = ERROR_MESSAGE()
  217. EXEC proc_errorHandler 1, @errorMessage, @trnId
  218. END CATCH