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.

668 lines
20 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_transactionViewInt] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_transactionViewInt]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_transactionViewInt] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE proc [dbo].[proc_transactionViewInt](
  12. @flag VARCHAR(50)
  13. ,@user VARCHAR(30) = NULL
  14. ,@controlNo VARCHAR(30) = NULL
  15. ,@tranId VARCHAR(50) = NULL
  16. ,@message VARCHAR(500) = NULL
  17. ,@messageComplaince VARCHAR(500) = NULL
  18. ,@messageOFAC VARCHAR(500) = NULL
  19. ,@lockMode CHAR(1) = NULL
  20. ,@viewType VARCHAR(50) = NULL
  21. ,@viewMsg VARCHAR(MAX) = NULL
  22. ,@branch INT = NULL
  23. ,@sortBy VARCHAR(50) = NULL
  24. ,@sortOrder VARCHAR(5) = NULL
  25. ,@pageSize INT = NULL
  26. ,@pageNumber INT = NULL
  27. ,@ip VARCHAR(100) = NULL
  28. ,@dcInfo VARCHAR(100) = NULL
  29. )
  30. AS
  31. DECLARE
  32. @select_field_list VARCHAR(MAX)
  33. ,@extra_field_list VARCHAR(MAX)
  34. ,@table VARCHAR(MAX)
  35. ,@sql_filter VARCHAR(MAX)
  36. DECLARE @controlNoEncrypted VARCHAR(100)
  37. ,@code VARCHAR(50)
  38. ,@userName VARCHAR(50)
  39. ,@password VARCHAR(50)
  40. ,@userType VARCHAR(10)
  41. ,@tranStatus VARCHAR(50)
  42. ,@tranIdType CHAR(1)
  43. ,@voucherNo VARCHAR(50)
  44. ,@holdTranId INT
  45. SET NOCOUNT ON;
  46. SET XACT_ABORT ON;
  47. SET @tranIdType = DBO.FNAGetTranIdType(LTRIM(RTRIM(@tranId)))
  48. IF @controlNo IS NOT NULL
  49. BEGIN
  50. SET @controlNo = UPPER(@controlNo)
  51. SELECT @controlNoEncrypted = dbo.FNAEncryptString(LTRIM(RTRIM(@controlNo)))
  52. SELECT @tranId = id, @tranStatus = tranStatus,@holdTranId =holdTranId FROM vwRemitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  53. END
  54. ELSE IF @tranId IS NOT NULL
  55. BEGIN
  56. IF @tranIdType ='H' --- h - remitTRanTemp , c- remitTran
  57. SELECT @controlNoEncrypted = controlNo, @tranStatus = tranStatus,@voucherNo = voucherNo,@holdTranId =holdTranId ,@controlNo = dbo.FNADecryptString(controlNo)
  58. FROM vwremitTran WITH(NOLOCK) WHERE holdTranId = @tranId
  59. ELSE
  60. SELECT @controlNoEncrypted = controlNo, @tranStatus = tranStatus,@voucherNo = voucherNo,@holdTranId =holdTranId ,@controlNo = dbo.FNADecryptString(controlNo)
  61. FROM remitTran WITH(NOLOCK) WHERE id = @tranId
  62. END
  63. IF @flag = 's'
  64. BEGIN
  65. IF OBJECT_ID('tempdb..#countryHead') IS NOT NULL
  66. DROP TABLE #countryHead
  67. -->> IMPORT FROM OLD DB
  68. IF @tranStatus IS NULL
  69. BEGIN
  70. SELECT
  71. @tranStatus = tranStatus
  72. ,@tranId = id
  73. ,@controlNoEncrypted = controlNo
  74. ,@voucherNo = voucherNo
  75. ,@holdTranId = id
  76. FROM vwremitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  77. END
  78. IF @tranStatus IS NULL
  79. BEGIN
  80. SELECT * FROM remitTranTemp WITH (NOLOCK) WHERE 1=2
  81. RETURN;
  82. END
  83. CREATE TABLE #countryHead(userName VARCHAR(200),branchId VARCHAR(50))
  84. IF @userType IS NULL
  85. BEGIN
  86. SELECT @userType = userType FROM applicationUsers WITH(NOLOCK) WHERE userName = @user
  87. END
  88. EXEC proc_tranViewHistoryInt 'i', @user, @tranId, @controlNoEncrypted, NULL, @viewType, @viewMsg, @ip, @dcInfo
  89. --## Transaction Details
  90. SET @table='SELECT
  91. tranId = case when trn.id = trn.holdTranId THEN NULL ELSE trn.id END
  92. ,holdTranId = ISNULL(CAST(trn.holdTranId AS VARCHAR),''-'')
  93. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  94. -->> Sender Information
  95. ,sMemId = sen.membershipId
  96. ,sCustomerId = sen.customerId
  97. ,senderName = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL('' '' + sen.lastName1, '''') + ISNULL('' '' + sen.lastName2, '''')
  98. ,sCountryName = sen.country
  99. ,sCity = sen.city
  100. ,sAddress = sen.address
  101. ,sContactNo = sen.mobile
  102. ,sTelNo = ISNULL(sen.homephone, sen.workphone)
  103. ,sIdType = sen.idType
  104. ,sIdNo = sen.idNumber
  105. ,sValidDate = sen.validDate
  106. ,sEmail = sen.email
  107. ,nativeCountry = sen.nativeCountry
  108. -->> Receiver Information
  109. ,rMemId = rec.membershipId
  110. ,rCustomerId = rec.customerId
  111. ,receiverName = rec.firstName + ISNULL('' '' + rec.middleName, '''') + ISNULL('' '' + rec.lastName1, '''') + ISNULL('' '' + rec.lastName2, '''')
  112. ,rCountryName = rec.country
  113. ,rCity = rec.city
  114. ,rAddress = rec.address
  115. ,rContactNo = rec.mobile
  116. ,rTelNo = ISNULL(rec.homephone, rec.workphone)
  117. ,rIdType = ISNULL(rec.idType, rec.idType2)
  118. ,rIdNo = ISNULL(rec.idNumber, rec.idNumber2)
  119. ,rValidDate = ISNULL(rec.validDate,rec.validDate2)
  120. -->> Sending Agent Information
  121. ,sAgentName = trn.sAgentName --CASE WHEN trn.sAgentName = trn.sBranchName THEN ''-'' ELSE trn.sAgentName END
  122. ,sBranchName = trn.sBranchName
  123. ,sAgentCountry = sa.agentCountry
  124. ,sAgentState = ''''
  125. ,sAgentDistrict = ''''
  126. ,sAgentLocation = ''''
  127. ,sAgentCity = sa.agentCity
  128. ,sAgentAddress = sa.agentAddress
  129. -->> Payout Agent Information
  130. ,pAgentName = trn.pAgentName --CASE WHEN trn.pAgentName = trn.pBranchName THEN ''-'' ELSE trn.pAgentName END
  131. ,pBranchName = trn.pBranchName
  132. ,pAgentCountry = trn.pCountry
  133. ,pAgentState = ''''
  134. ,pAgentDistrict = ''''
  135. ,pAgentLocation = ''''
  136. ,pAgentCity = pa.agentCity
  137. ,pAgentAddress = pa.agentAddress
  138. ,trn.tAmt
  139. ,trn.serviceCharge
  140. ,handlingFee = ISNULL(trn.handlingFee, 0)
  141. ,sAgentComm = isnull(sAgentComm,0)
  142. ,sAgentCommCurrency = ISNULL(sAgentCommCurrency,0)
  143. ,pAgentComm = ISNULL(pAgentComm,0)
  144. ,pAgentCommCurrency = ISNULL(pAgentCommCurrency,0)
  145. ,exRate = customerRate
  146. ,trn.cAmt
  147. ,pAmt = FLOOR(trn.pAmt)
  148. ,CashOrBank = CASE WHEN UPPER(trn.paymentMethod) =''BANK DEPOSIT'' THEN ''BANK'' ELSE ''CASH'' END
  149. ,relationship = ISNULL(trn.relWithSender, ''-'')
  150. ,purposeOfRemit = ISNULL(trn.purposeOfRemit, ''-'')
  151. ,sourceOfFund = ISNULL(trn.sourceOfFund, ''-'')
  152. ,collMode = trn.collMode
  153. ,trn.collCurr
  154. ,paymentMethod = UPPER(trn.paymentMethod)
  155. ,trn.payoutCurr
  156. ,BranchName = trn.pBankBranchName
  157. ,accountNo = case WHEN trn.payStatus =''Post'' then trn.accountNo + '' <font color="red" style="font-weight: bold">[Post User: ''+trn.postedBy+'', Date: ''+CAST(trn.postedDate as VARCHAR)+'']</font>'' else trn.accountNo end
  158. ,BankName = trn.pBankName
  159. ,tranStatus = case when trn.id = trn.holdTranId THEN ''Payment'' ELSE trn.tranStatus END
  160. ,trn.payStatus
  161. ,custRate = isnull(customerRate,0) +isnull(schemePremium,0)
  162. ,settRate = agentCrossSettRate
  163. ,payoutMsg = ISNULL(trn.pMessage, ''-'')
  164. ,trn.createdBy
  165. ,trn.createdDate
  166. ,trn.approvedBy
  167. ,trn.approvedDate
  168. ,trn.paidBy
  169. ,trn.paidDate
  170. ,trn.cancelRequestBy
  171. ,trn.cancelRequestDate
  172. ,trn.cancelApprovedBy
  173. ,trn.cancelApprovedDate
  174. ,trn.lockedBy
  175. ,trn.lockedDate
  176. ,trn.payTokenId
  177. ,trn.tranType
  178. ,trn.pAgent
  179. ,expectedPayoutAgent = ISNULL(trn.expectedPayoutAgent,''[Any Where]'')
  180. ,sen.txnTestQuestion
  181. ,sen.txnTestAnswer
  182. ,trnStatusBeforeCnlReq = case when trn.trnStatusBeforeCnlReq = ''Payment''
  183. then ''Approved Transaction''
  184. when trn.trnStatusBeforeCnlReq = ''Paid'' then ''Transaction on PAID''
  185. when trn.trnStatusBeforeCnlReq = ''Post'' then ''Transaction on POST''
  186. else ''Transaction on ''+trnStatusBeforeCnlReq
  187. end
  188. FROM vwremitTran trn WITH(NOLOCK)
  189. LEFT JOIN vwtranSenders sen WITH(NOLOCK) ON trn.id = sen.tranId
  190. LEFT JOIN vwtranReceivers rec WITH(NOLOCK) ON trn.id = rec.tranId
  191. LEFT JOIN agentMaster sa WITH(NOLOCK) ON trn.sBranch = sa.agentId
  192. LEFT JOIN agentMaster pa WITH(NOLOCK) ON trn.pBranch = pa.agentId
  193. LEFT JOIN serviceTypeMaster stm WITH(NOLOCK) ON trn.paymentMethod = stm.typeTitle'
  194. SET @table=@table+ ' WHERE trn.controlNo = '''+ @controlNoEncrypted +''''
  195. IF @userType='CH'
  196. BEGIN
  197. INSERT #countryHead
  198. SELECT x.userName,x.agentId FROM dbo.FNAAgentUserListForCH(@user) x WHERE userId IS NOT NULL
  199. SET @table=@table+ ' AND (trn.sBranch IN (SELECT branchId FROM #countryHead) OR (trn.pBranch IN(SELECT branchId FROM #countryHead)))'
  200. END
  201. PRINT(@table)
  202. EXEC(@table)
  203. --## Lock Transaction
  204. IF (@lockMode = 'Y')
  205. BEGIN
  206. IF @viewType <> 'CANCEL'
  207. BEGIN
  208. IF @tranStatus LIKE '%Hold%'
  209. BEGIN
  210. UPDATE remitTranTemp SET
  211. tranStatus = 'Lock'
  212. ,lockedBy = @user
  213. ,lockedDate = GETDATE()
  214. ,lockedDateLocal = dbo.FNADateFormatTZ(GETDATE(), @user)
  215. WHERE (tranStatus = 'Payment' AND tranStatus <> 'CancelRequest')
  216. AND payStatus = 'Unpaid' AND controlNo = @controlNoEncrypted
  217. END
  218. ELSE
  219. BEGIN
  220. UPDATE remitTran SET
  221. tranStatus = 'Lock'
  222. ,lockedBy = @user
  223. ,lockedDate = GETDATE()
  224. ,lockedDateLocal = dbo.FNADateFormatTZ(GETDATE(), @user)
  225. WHERE (tranStatus = 'Payment' AND tranStatus <> 'CancelRequest')
  226. AND payStatus = 'Unpaid' AND controlNo = @controlNoEncrypted
  227. END
  228. END
  229. END
  230. --## Log Details
  231. SELECT
  232. rowId
  233. ,MESSAGE
  234. ,msgType
  235. ,trn.createdBy
  236. ,trn.createdDate
  237. ,ISNULL(trn.fileType,'')fileType
  238. FROM tranModifyLog trn WITH(NOLOCK)
  239. LEFT JOIN applicationUsers au WITH(NOLOCK) ON trn.createdBy = au.userName
  240. WHERE trn.controlNo = @controlNoEncrypted OR tranId = @tranId OR tranid = @holdTranId
  241. ORDER BY trn.createdDate DESC
  242. --## COLLECTION DETAIL
  243. SELECT @tranId = ID, @voucherNo = voucherNo FROM remitTran WITH(NOLOCK)
  244. WHERE (controlNo = @controlNoEncrypted OR id = @tranId)
  245. SELECT
  246. bankName = ISNULL(B.bankName, 'Cash')
  247. ,collMode
  248. ,amt = ISNULL(amt, 0)
  249. ,collDate
  250. ,voucherNo = @voucherNo
  251. ,narration
  252. FROM collectionDetails C WITH (NOLOCK)
  253. LEFT JOIN countryBanks B WITH (NOLOCK) ON C.countryBankId = B.countryBankId
  254. WHERE tranId = @holdTranId
  255. AND C.countryBankId = B.countryBankId
  256. END
  257. --## Add Complain (Trouble Ticket)
  258. ELSE IF @flag = 'ac'
  259. BEGIN TRY
  260. IF @message IS NULL
  261. BEGIN
  262. EXEC proc_errorHandler 1, 'Message can not be blank.', @tranId
  263. RETURN
  264. END
  265. IF @tranId IS NULL
  266. BEGIN
  267. EXEC proc_errorHandler 1, 'Transaction No can not be blank.', @tranId
  268. RETURN
  269. END
  270. INSERT INTO tranModifyLog(
  271. tranId
  272. ,controlNo
  273. ,MESSAGE
  274. ,createdBy
  275. ,createdDate
  276. ,MsgType
  277. ,status
  278. )
  279. SELECT
  280. @tranId
  281. ,@controlNoEncrypted
  282. ,@message
  283. ,@user
  284. ,GETDATE()
  285. ,'COMPLAIN'
  286. ,'Not Resolved'
  287. EXEC proc_errorHandler 0, 'Comments has been added successfully.', @tranId
  288. END TRY
  289. BEGIN CATCH
  290. SELECT 1 error_code, ERROR_MESSAGE() mes, NULL id
  291. END CATCH
  292. --## Log Details
  293. ELSE IF @flag = 'showLog'
  294. BEGIN
  295. SELECT
  296. rowId
  297. ,MESSAGE
  298. ,msgType
  299. ,trn.createdBy
  300. ,trn.createdDate
  301. ,ISNULL(trn.fileType,'') fileType
  302. FROM tranModifyLog trn WITH(NOLOCK)
  303. LEFT JOIN applicationUsers au WITH(NOLOCK) ON trn.createdBy = au.userName
  304. WHERE trn.tranId = @tranId
  305. ORDER BY trn.createdDate DESC
  306. END
  307. ELSE IF @flag='OFAC'
  308. BEGIN
  309. /*
  310. EXEC proc_transactionView @flag = 'OFAC', @tranId = '10000045'
  311. select * from dbo.remitTranOfac
  312. select * from remitTranCompliance
  313. select * from blackList where entNum=10009
  314. select * from blackList where rowId=12822
  315. */
  316. IF @controlNoEncrypted IS NOT NULL
  317. SELECT @holdTranId = holdTranId, @tranId = id FROM vwRemitTran WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
  318. IF OBJECT_ID('tempdb..#tempMaster') IS NOT NULL
  319. DROP TABLE #tempMaster
  320. IF OBJECT_ID('tempdb..#tempDataTable') IS NOT NULL
  321. DROP TABLE #tempDataTable
  322. CREATE TABLE #tempDataTable
  323. (
  324. DATA VARCHAR(MAX) NULL
  325. )
  326. DECLARE @ofacKeyIds VARCHAR(MAX)
  327. SELECT @ofacKeyIds=blackListId FROM dbo.remitTranOfac
  328. WHERE TranId = ISNULL(@holdTranId, @tranId)
  329. SELECT distinct A.val ofacKeyId
  330. INTO #tempMaster
  331. FROM
  332. (
  333. SELECT * FROM dbo.SplitXML(',',@ofacKeyIds)
  334. )A
  335. INNER JOIN
  336. (
  337. SELECT ofacKey FROM blacklistHistory WITH(NOLOCK)
  338. )B ON A.val=B.ofacKey
  339. ALTER TABLE #tempMaster ADD ROWID INT IDENTITY(1,1)
  340. DECLARE @TNA_ID AS INT
  341. ,@MAX_ROW_ID AS INT
  342. ,@ROW_ID AS INT=1
  343. ,@ofacKeyId VARCHAR(100)
  344. ,@SDN VARCHAR(MAX)=''
  345. ,@ADDRESS VARCHAR(MAX)=''
  346. ,@REMARKS AS VARCHAR(MAX)=''
  347. ,@ALT AS VARCHAR(MAX)=''
  348. ,@DATA AS VARCHAR(MAX)=''
  349. ,@DATA_SOURCE AS VARCHAR(200)=''
  350. SELECT @MAX_ROW_ID=MAX(ROWID) FROM #tempMaster
  351. WHILE @MAX_ROW_ID >= @ROW_ID
  352. BEGIN
  353. SELECT @ofacKeyId=ofacKeyId FROM #tempMaster WHERE ROWID=@ROW_ID
  354. SELECT @SDN='<b>'+ISNULL(entNum,'')+'</b>, <b>Name:</b> '+ ISNULL(name,''),@DATA_SOURCE='<b>Data Source:</b> '+ISNULL(dataSource,'')
  355. FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='sdn'
  356. SELECT @ADDRESS=ISNULL(address,'')+', '+ISNULL(city,'')+', '+ISNULL(STATE,'')+', '+ISNULL(zip,'')+', '+ISNULL(country,'')
  357. FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='add'
  358. SELECT @ALT = COALESCE(@ALT + ', ', '') +CAST(ISNULL(NAME,'') AS VARCHAR(MAX))
  359. FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType IN ('alt','aka')
  360. SELECT @REMARKS=ISNULL(remarks,'')
  361. FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='sdn'
  362. SET @SDN=RTRIM(LTRIM(@SDN))
  363. SET @ADDRESS=RTRIM(LTRIM(@ADDRESS))
  364. SET @ALT=RTRIM(LTRIM(@ALT))
  365. SET @REMARKS=RTRIM(LTRIM(@REMARKS))
  366. SET @SDN=REPLACE(@SDN,', ,','')
  367. SET @ADDRESS=REPLACE(@ADDRESS,', ,','')
  368. SET @ALT=REPLACE(@ALT,', ,','')
  369. SET @REMARKS=REPLACE(@REMARKS,', ,','')
  370. SET @SDN=REPLACE(@SDN,'-0-','')
  371. SET @ADDRESS=REPLACE(@ADDRESS,'-0-','')
  372. SET @ALT=REPLACE(@ALT,'-0-','')
  373. SET @REMARKS=REPLACE(@REMARKS,'-0-','')
  374. SET @SDN=REPLACE(@SDN,',,','')
  375. SET @ADDRESS=REPLACE(@ADDRESS,',,','')
  376. SET @ALT=REPLACE(@ALT,',,','')
  377. SET @REMARKS=REPLACE(@REMARKS,',,','')
  378. IF @DATA_SOURCE IS NOT NULL AND @DATA_SOURCE<>''
  379. SET @DATA=@DATA_SOURCE
  380. IF @SDN IS NOT NULL AND @SDN<>''
  381. SET @DATA=@DATA+'<BR>'+@SDN
  382. IF @ADDRESS IS NOT NULL AND @ADDRESS<>''
  383. SET @DATA=@DATA+'<BR><b>Address: </b>'+@ADDRESS
  384. IF @ALT IS NOT NULL AND @ALT<>'' AND @ALT<>' '
  385. SET @DATA=@DATA+'<BR>'+'<b>a.k.a :</b>'+@ALT+''
  386. IF @REMARKS IS NOT NULL AND @REMARKS<>''
  387. SET @DATA=@DATA+'<BR><b>Other Info :</b>'+@REMARKS
  388. IF @DATA IS NOT NULL OR @DATA <>''
  389. BEGIN
  390. INSERT INTO #tempDataTable
  391. SELECT REPLACE(@DATA,'<BR><BR>','')
  392. END
  393. SET @ROW_ID=@ROW_ID+1
  394. END
  395. ALTER TABLE #tempDataTable ADD ROWID INT IDENTITY(1,1)
  396. SELECT ROWID [S.N.],DATA [Remarks] FROM #tempDataTable
  397. END
  398. ELSE IF @flag='Compliance'
  399. BEGIN
  400. SELECT @holdTranId = holdTranId, @tranId = id FROM vwRemitTran WITH(NOLOCK) WHERE controlNo = dbo.FNAEncryptString(@controlNo)
  401. SELECT
  402. rowId
  403. ,csDetailRecId
  404. ,[S.N.] = ROW_NUMBER()OVER(ORDER BY ROWID)
  405. ,[Remarks] = ISNULL( RTRIM(LTRIM(dbo.FNAGetDataValue(condition))) + ' ' +
  406. CASE WHEN checkType = 'Sum' THEN 'Transaction Amount'
  407. WHEN checkType = 'Count' THEN 'Transaction Count' END
  408. + ' exceeds ' + CAST(PARAMETER AS VARCHAR) + ' limit within ' + CAST(period AS VARCHAR)+ ' days ' + dbo.FNAGetDataValue(criteria)
  409. ,reason)
  410. ,[Matched TRAN ID] = ISNULL(rtc.matchTranId,rtc.TranId)
  411. FROM remitTranCompliance rtc WITH(NOLOCK)
  412. LEFT JOIN csDetailRec cdr WITH(NOLOCK) ON rtc.csDetailTranId = cdr.csDetailRecId
  413. WHERE rtc.TranId = ISNULL(@holdTranId, @tranId)
  414. END
  415. ELSE IF @flag='COMPL_DETAIL'
  416. BEGIN
  417. /*
  418. 5000 By Sender ID
  419. 5001 By Sender Name
  420. 5002 By Sender Mobile
  421. 5003 By Beneficiary ID
  422. 5004 By Beneficiary ID(System)
  423. 5005 By Beneficiary Name
  424. 5006 By Beneficiary Mobile
  425. 5007 By Beneficiary A/C Number
  426. */
  427. DECLARE @tranIds AS VARCHAR(MAX), @criteria AS INT, @totalTran AS INT, @criteriaValue AS VARCHAR(500), @id AS INT,@reason VARCHAR(500)
  428. SELECT
  429. @tranIds = matchTranId,
  430. @id = TranId
  431. FROM remitTranCompliance WITH(NOLOCK)
  432. WHERE rowId = @controlNo --(ROWID) --id of remitTranCompliance
  433. SELECT @criteria = criteria FROM csDetailRec WITH(NOLOCK) WHERE csDetailRecId = @tranId--id of csDetailRec
  434. SELECT @totalTran = COUNT(*) FROM dbo.Split(',', @tranIds)
  435. IF @criteria='5000'
  436. SELECT @criteriaValue = B.membershipId
  437. FROM tranSenders B WITH(NOLOCK) WHERE B.tranId = @id
  438. IF @criteria='5001'
  439. SELECT @criteriaValue = ISNULL(B.firstName, '') + ISNULL(' ' + B.middleName, '') + ISNULL(' ' + B.lastName1, '') + ISNULL(' ' + B.lastName2, '')
  440. FROM tranSenders B WITH(NOLOCK) WHERE B.tranId = @id
  441. IF @criteria='5002'
  442. SELECT @criteriaValue = B.mobile
  443. FROM tranSenders B WITH(NOLOCK) WHERE B.tranId = @id
  444. IF @criteria='5003'
  445. SELECT @criteriaValue = B.membershipId
  446. FROM tranReceivers B WITH(NOLOCK) WHERE B.tranId = @id
  447. IF @criteria='5004'
  448. SELECT @criteriaValue = B.membershipId
  449. FROM tranReceivers B WITH(NOLOCK) WHERE B.tranId = @id
  450. IF @criteria='5005'
  451. SELECT @criteriaValue = ISNULL(B.firstName, '') + ISNULL(' ' + B.middleName, '') + ISNULL(' ' + B.lastName1, '') + ISNULL(' ' + B.lastName2, '')
  452. FROM tranReceivers B WITH(NOLOCK) WHERE B.tranId = @id
  453. IF @criteria='5006'
  454. SELECT @criteriaValue = B.mobile
  455. FROM tranReceivers B WITH(NOLOCK) WHERE B.tranId = @id
  456. IF @criteria='5007'
  457. SELECT @criteriaValue = A.accountNo
  458. FROM remitTran A WITH(NOLOCK) WHERE A.id = @id
  459. -- @tranId=0 LOGIC IS ONLY FOR Suspected duplicate transaction WHERE THERE IS csDetailRecId ALWAYS 0
  460. SELECT
  461. REMARKS = CASE WHEN @tranId = 0 THEN @reason ELSE
  462. RTRIM(LTRIM(dbo.FNAGetDataValue(condition))) + ' ' +
  463. CASE WHEN checkType = 'Sum' THEN 'Transaction Amount'
  464. WHEN checkType = 'Count' THEN 'Transaction Count' END
  465. + ' exceeds ' + CAST(PARAMETER AS VARCHAR) + ' limit within ' + CAST(period AS VARCHAR)+ ' days ' + dbo.FNAGetDataValue(criteria)+': <font size=''2px''>'+ISNULL(@criteriaValue,'')+'</font>'
  466. END
  467. ,totTran = 'Total Count: <b>'+ CASE WHEN @tranId = 0 THEN '1' ELSE CAST(@totalTran AS VARCHAR) END +'</b>'
  468. FROM csDetailRec WITH(NOLOCK)
  469. WHERE csDetailRecId= CASE WHEN @tranId=0 THEN 1 ELSE @tranId END
  470. SELECT
  471. [S.N.] = ROW_NUMBER() OVER(ORDER BY @controlNo)
  472. ,[CONTROL NO.] = dbo.FNADecryptString(trn.controlNo)
  473. ,[TRAN AMOUNT] = dbo.ShowDecimal(trn.cAmt)
  474. ,[CURRENCY] = trn.collCurr
  475. ,[TRAN DATE] = CONVERT(VARCHAR,trn.createdDate,101)
  476. FROM VWremitTran trn WITH(NOLOCK) INNER JOIN
  477. (
  478. SELECT * FROM dbo.Split(',', @tranIds)
  479. )B ON trn.holdTranId = B.value
  480. UNION ALL
  481. ---- RECORD DISPLAY FROM CANCEL TRANSACTION TABLE
  482. SELECT
  483. [S.N.] = ROW_NUMBER() OVER(ORDER BY @controlNo)
  484. ,[CONTROL NO.] = dbo.FNADecryptString(trn.controlNo)
  485. ,[TRAN AMOUNT] = dbo.ShowDecimal(trn.cAmt)
  486. ,[CURRENCY] = trn.collCurr
  487. ,[TRAN DATE] = CONVERT(VARCHAR,trn.createdDate,101)
  488. FROM cancelTranHistory trn WITH(NOLOCK) INNER JOIN
  489. (
  490. SELECT * FROM dbo.Split(',', @tranIds)
  491. )B ON trn.tranId = B.value
  492. END
  493. --## Approve Complaince/OFAC
  494. ELSE IF @flag = 'saveComplainceRmks'
  495. BEGIN
  496. IF EXISTS(SELECT 'X' FROM remitTranOfac WITH(NOLOCK) WHERE TranId = @holdTranId)
  497. BEGIN
  498. IF EXISTS(SELECT 'X' FROM remitTranCompliance WITH(NOLOCK) WHERE TranId = @holdTranId)
  499. BEGIN
  500. IF @messageOFAC IS NULL
  501. BEGIN
  502. EXEC proc_errorHandler 1, 'OFAC remarks can not be blank.', @holdTranId
  503. RETURN;
  504. END
  505. IF @messageComplaince IS NULL
  506. BEGIN
  507. EXEC proc_errorHandler 1, 'Complaince remarks can not be blank.', @holdTranId
  508. RETURN;
  509. END
  510. END
  511. ELSE
  512. BEGIN
  513. IF @messageOFAC IS NULL
  514. BEGIN
  515. EXEC proc_errorHandler 1, 'OFAC remarks can not be blank.', @holdTranId
  516. RETURN;
  517. END
  518. END
  519. END
  520. IF EXISTS(SELECT 'X' FROM remitTranCompliance WITH(NOLOCK) WHERE TranId=@holdTranId)
  521. BEGIN
  522. IF @messageComplaince IS NULL
  523. BEGIN
  524. EXEC proc_errorHandler 1, 'Complaince remarks can not be blank.', @holdTranId
  525. RETURN;
  526. END
  527. END
  528. BEGIN TRANSACTION
  529. UPDATE remitTranOfac SET
  530. approvedRemarks = @messageOFAC
  531. ,approvedBy = @user
  532. ,approvedDate = GETDATE()
  533. WHERE TranId = ISNULL(@holdTranId, @tranId) AND approvedBy IS NULL
  534. UPDATE remitTranCompliance SET
  535. approvedRemarks = @messageComplaince
  536. ,approvedBy = @user
  537. ,approvedDate = GETDATE()
  538. WHERE TranId = ISNULL(@holdTranId, @tranId) AND approvedBy IS NULL
  539. UPDATE remitTran SET
  540. tranStatus = 'Payment'
  541. WHERE id = @tranId
  542. -- UPDATE irh_ime_plus_01.dbo.moneySend
  543. --SET TransStatus = 'Payment'
  544. -- WHERE refno = @controlNoEncrypted
  545. COMMIT TRANSACTION
  546. EXEC proc_errorHandler 0, 'Release remarks has been saved successfully.', @tranId
  547. END
  548. --EXEC proc_transactionView @FLAG='chkFlag',@tranId='26'
  549. ELSE IF @flag = 'chkFlagOFAC'
  550. BEGIN
  551. SELECT CASE WHEN approvedDate IS NULL THEN 'N' ELSE 'Y' END AS Compliance_FLAG
  552. FROM remitTranOfac WITH(NOLOCK) WHERE TranId = @holdTranId
  553. END
  554. ELSE IF @flag = 'chkFlagCOMPLAINCE'
  555. BEGIN
  556. SELECT CASE WHEN approvedDate IS NULL THEN 'N' ELSE 'Y' END AS Compliance_FLAG
  557. FROM remitTranCompliance WITH(NOLOCK) WHERE TranId = @holdTranId
  558. END
  559. ELSE IF @flag = 'va' --Verify Agent For Tran Modification
  560. BEGIN
  561. --Necessary paremeter: @user, @branch, @controlNo
  562. IF NOT EXISTS(SELECT 'X' FROM remitTran WITH(NOLOCK) WHERE controlNo = dbo.FNAEncryptString(@controlNo) AND sBranch = @branch)
  563. BEGIN
  564. EXEC proc_errorHandler 1, 'Transaction not found', NULL
  565. RETURN
  566. END
  567. EXEC proc_errorHandler 0, 'Success', NULL
  568. END
  569. GO