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.

641 lines
21 KiB

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