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.

1522 lines
84 KiB

3 months ago
3 months ago
3 months ago
3 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_transactionView] Script Date: 6/6/2024 2:54:48 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[proc_transactionView] (
  9. @flag VARCHAR(50)
  10. ,@user VARCHAR(30) = NULL
  11. ,@controlNo VARCHAR(30) = NULL
  12. ,@tranId BIGINT = NULL
  13. ,@message NVARCHAR(500) = NULL
  14. ,@messageComplaince VARCHAR(500) = NULL
  15. ,@messageOFAC VARCHAR(500) = NULL
  16. ,@messageCashLimitHold VARCHAR(500) = NULL
  17. ,@lockMode CHAR(1) = NULL
  18. ,@viewType VARCHAR(50) = NULL
  19. ,@viewMsg VARCHAR(MAX) = NULL
  20. ,@branch INT = NULL
  21. ,@sortBy VARCHAR(50) = NULL
  22. ,@sortOrder VARCHAR(5) = NULL
  23. ,@pageSize INT = NULL
  24. ,@pageNumber INT = NULL
  25. ,@ip VARCHAR(MAX) = NULL
  26. ,@dcInfo VARCHAR(MAX) = NULL
  27. ,@holdTranId INT = NULL
  28. ,@rowId INT = NULL
  29. ,@newAnswer VARCHAR(50) = NULL
  30. )
  31. AS
  32. -----------------------------------
  33. --July 14 --> Flag='@flag='Compliance'
  34. --Aug 05 JME-567 ->add col 'receiverNameAlt' changes to show BENEFICIARY NAME AS PER BANK
  35. --Sept 21 #134 -> Allow edit option of address in Town Area
  36. --Replace with FNAGetCustomerAddress
  37. --#298 Trim white space of Control number and TranId
  38. --#469 Show additional fields incase of Payment of Import Good
  39. --#334 : OFAC screening changes.
  40. --#101: mobile changes
  41. --#618 ID TYPE empty for mobile transaction
  42. --#807 Add hyperlink as View Details in Search transaction --AGT: VIEW TXN (SEARCH TRANSACTION)
  43. -- #932 - goods origin
  44. --#1320 - Remove Khanji character from search transaction
  45. --#1404 - @flag = 's' , add payer label in search transactioN
  46. --#1553 - Search transaction ui , @flag = 's'
  47. --#9658 -- add delete trouble ticket in search transaction
  48. --#10906 - approve transacation doc details
  49. --#10703 - allow edit Questionnaire , @flag = 'show-QA'
  50. --#18970 change to redirect to edit customer page
  51. -----------------------------------
  52. DECLARE @select_field_list VARCHAR(MAX)
  53. ,@extra_field_list VARCHAR(MAX)
  54. ,@table VARCHAR(MAX)
  55. ,@sql_filter VARCHAR(MAX)
  56. DECLARE @controlNoEncrypted VARCHAR(100)
  57. ,@code VARCHAR(50)
  58. ,@userName VARCHAR(50)
  59. ,@password VARCHAR(50)
  60. ,@userType VARCHAR(10)
  61. ,@tranStatus VARCHAR(50)
  62. ,@tranIdType CHAR(1)
  63. ,@voucherNo VARCHAR(50)
  64. ,@nepDate VARCHAR(50)
  65. SET NOCOUNT ON;
  66. SET XACT_ABORT ON;
  67. SET @tranIdType = DBO.FNAGetTranIdType(LTRIM(RTRIM(@tranId)))
  68. SET @nepDate = GETDATE()
  69. IF @controlNo IS NOT NULL
  70. BEGIN
  71. SET @controlNo = LTRIM(RTRIM(@controlNo))
  72. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  73. SELECT @tranId = id
  74. ,@tranStatus = tranStatus
  75. ,@holdTranId = holdTranId
  76. FROM vwRemitTran WITH (NOLOCK)
  77. WHERE controlNo = @controlNoEncrypted
  78. END
  79. ELSE IF @tranId IS NOT NULL
  80. BEGIN
  81. IF @tranIdType = 'H' --- h - remitTRanTemp , c- remitTran
  82. SELECT @controlNoEncrypted = controlNo
  83. ,@tranStatus = tranStatus
  84. ,@voucherNo = voucherNo
  85. ,@holdTranId = holdTranId
  86. ,@controlNo = dbo.FNADecryptString(controlNo)
  87. FROM vwremitTran WITH (NOLOCK)
  88. WHERE holdTranId = @tranId
  89. ELSE
  90. SELECT @controlNoEncrypted = controlNo
  91. ,@tranStatus = tranStatus
  92. ,@voucherNo = voucherNo
  93. ,@holdTranId = holdTranId
  94. ,@controlNo = dbo.FNADecryptString(controlNo)
  95. FROM remitTran WITH (NOLOCK)
  96. WHERE id = @tranId
  97. IF LEN(@controlNoEncrypted) = 0
  98. SET @controlNoEncrypted = '0'
  99. END
  100. IF @flag = 's'
  101. BEGIN
  102. DECLARE @partnerId INT
  103. ,@isRealTime BIT
  104. ,@pcountry INT
  105. ,@IsQuestionnaire VARCHAR(30) = 'NONE'
  106. ,@TranType CHAR(1) = 'I'
  107. ,@customerId INT
  108. SELECT @customerId = customerid
  109. FROM tranSendersTemp(NOLOCK)
  110. WHERE tranId = @tranId
  111. SELECT @partnerId = pSuperAgent
  112. ,@pcountry = CM.COUNTRYID
  113. FROM REMITTRANTEMP(NOLOCK) RTT
  114. INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = RTT.PCOUNTRY
  115. WHERE DBO.DECRYPTDB(CONTROLNO) = @controlNo
  116. SELECT @isRealTime = isRealTime
  117. FROM TblPartnerwiseCountry(NOLOCK)
  118. WHERE AgentId = @partnerId
  119. AND COUNTRYID = @pcountry
  120. IF @viewType = 'COMPLIANCE'
  121. BEGIN
  122. SELECT @TranType = tranType
  123. ,@holdTranId = holdtranId
  124. FROM vwRemitTran(NOLOCK)
  125. WHERE controlNo = @controlNoEncrypted
  126. OR isnull(id, holdTranId) = @tranId
  127. IF NOT EXISTS (
  128. SELECT *
  129. FROM TBL_TXN_COMPLIANCE_CDDI(NOLOCK)
  130. WHERE TRAN_ID = @holdTranId
  131. )
  132. BEGIN
  133. IF @TranType = 'M'
  134. BEGIN
  135. IF EXISTS (
  136. SELECT TOP 1 1
  137. FROM remitTranCompliance RTC(NOLOCK)
  138. INNER JOIN csDetail CD(NOLOCK) ON RTC.csDetailTranId = CD.csDetailId
  139. WHERE RTC.TranId = @tranId
  140. AND CD.nextAction = 'Q'
  141. )
  142. BEGIN
  143. SET @IsQuestionnaire = 'ONLY NORMAL'
  144. END
  145. IF EXISTS (
  146. SELECT *
  147. FROM remitTranCompliance(NOLOCK)
  148. WHERE TranId = @tranId
  149. AND reason = 'Questionnaire require due to Visa Status'
  150. )
  151. BEGIN
  152. IF @IsQuestionnaire = 'ONLY NORMAL'
  153. BEGIN
  154. SET @IsQuestionnaire = 'BOTH'
  155. END
  156. ELSE
  157. BEGIN
  158. SET @IsQuestionnaire = 'ONLY VISA'
  159. END
  160. END
  161. END
  162. END
  163. END
  164. EXEC proc_tranViewHistory 'i'
  165. ,@user
  166. ,@tranId
  167. ,@controlNo
  168. ,NULL
  169. ,@viewType
  170. ,@viewMsg
  171. DECLARE @referralName VARCHAR(100)
  172. SELECT @referralName = referral_name
  173. FROM vwremittran rt(NOLOCK)
  174. INNER JOIN referral_agent_wise ref(NOLOCK) ON ref.referral_code = rt.promotionCode
  175. WHERE (
  176. rt.controlNo = @controlNoEncrypted
  177. OR isnull(rt.id, rt.holdTranId) = @tranId
  178. )
  179. AND ref.staff_visit = 1
  180. --Transaction Details
  181. SELECT tranId = trn.holdtranid
  182. ,holdTranId = trn.holdTranId
  183. ,controlNo = dbo.FNADecryptString(trn.controlNo)
  184. --Sender Information
  185. ,sMemId = ISNULL(sen.membershipId, cm.membershipId)
  186. ,sCustomerId = sen.customerId
  187. ,Isnull(cm.postalcode, cm.membershipid) uniqueId
  188. ,senderName = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '')
  189. ,ShowDetails = CASE @viewMsg
  190. WHEN 'AGT: VIEW TXN (SEARCH TRANSACTION)'
  191. THEN '<a class= "btn btn-primary" style="padding-left:0.2em;" target="_blank" title = "Show Deatils" href="/AgentNew/Customer/CustomerDetails.aspx?customerId=' + CAST(sen.customerid AS VARCHAR) + '" > View Details </a>'
  192. ELSE '<a class= "btn btn-primary" style="padding-left:0.2em;" target="_blank" title = "Show Deatils" href="/Remit/Administration/CustomerSetup/CustomerDetails.aspx?customerId=' + CAST(sen.customerid AS VARCHAR) + '" > View Details </a>'
  193. END
  194. ,editCustomer = '<a class="btn btn-edit" style="padding-left:0.2em;" target="_blank" title="Edit Customer" href="/Remit/Administration/CustomerRegistration/Manage.aspx?customerId=' + CAST(sen.customerid AS VARCHAR) + '&MethodName=GetCustomerDetailsForEdit" > Edit Customer </a>'
  195. ,sCountryName = trn.sCountry
  196. ,sStateName = sen.STATE
  197. ,sDistrict = sen.district
  198. ,sCity = isnull(sen.city, '')
  199. --,sAddress = DBO.FNAGetCustomerAddress(trn.ID, 'TXN-SEARCH')
  200. ,sAddress = ISNULL(cm.zipCode, cm.postalCode) + ISNULL(', ' + cm.city,'') + ISNULL(', ' + cm.address, '') + ISNULL(', ' + cm.ADDITIONALADDRESS,'')--DBO.FNAGetCustomerAddress(sen.customerId, 'SEARCH-TXN')
  201. ,sContactNo = COALESCE(sen.mobile, sen.homephone, sen.workphone)
  202. ,sDob = convert(VARCHAR(10), sen.dob, 121)
  203. ,sIdType = ISNULL(sen.idtype, 'Other (please specify)' + (':') + ('' + cm.otherIdNumber))
  204. ,sIdNo = UPPER(sen.idNumber)
  205. ,sValidDate = sen.validDate
  206. ,sEmail = sen.email
  207. ,extCustomerId = sen.extCustomerId
  208. ,walletNo = cm.walletAccountNo
  209. ,VISA.detailTitle visaStatus
  210. ,CASE
  211. WHEN cm.occupation = '11383'
  212. THEN (occ.DETAILTITLE) + (':') + cm.occupationOther
  213. ELSE occ.DETAILTITLE
  214. END [Occupation]
  215. --Receiver Information
  216. ,rMemId = rec.membershipId
  217. ,rCustomerId = rec.customerId
  218. ,receiverName = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '')
  219. ,rCountryName = rec.country
  220. ,rStateName = rec.STATE
  221. ,rDistrict = rec.district
  222. ,rCity = isnull(rec.city, '')
  223. ,rAddress = rec.address
  224. ,rContactNo = COALESCE(rec.mobile, rec.homephone, rec.workphone)
  225. ,rIdType = ISNULL(sdv1.detailTitle, rec.idType)
  226. ,rIdNo = UPPER(ISNULL(rec.idNumber2, rec.idNumber) + isnull(' ' + rec.idPlaceOfIssue2, ''))
  227. --Sending Agent Information
  228. ,sAgentEmail = sa.agentEmail1
  229. ,sAgentName = CASE
  230. WHEN trn.sAgentName = trn.sBranchName
  231. THEN '-'
  232. ELSE trn.sAgentName
  233. END
  234. ,sBranchName = trn.sBranchName
  235. ,sAgentCountry = sa.agentCountry
  236. ,sAgentState = sa.agentState
  237. ,sAgentDistrict = sa.agentDistrict
  238. ,sAgentLocation = sLoc.districtName
  239. ,sAgentCity = sa.agentCity
  240. ,sAgentAddress = sa.agentAddress
  241. --Payout Agent Information
  242. ,trn.pAgent
  243. ,pAgentName = CASE
  244. WHEN trn.pAgentName IS NULL
  245. THEN '[Any Where]'
  246. ELSE CASE
  247. WHEN trn.pAgentName = trn.pBranchName
  248. THEN '-'
  249. ELSE trn.pAgentName
  250. END
  251. END
  252. ,pBranchName = trn.pBranchName
  253. ,pAgentCountry = trn.pCountry
  254. ,pAgentState = trn.pState
  255. ,pAgentDistrict = rec.district
  256. ,pAgentLocation = CASE
  257. WHEN trn.pBank IS NOT NULL
  258. THEN trn.pBankName
  259. ELSE ''
  260. END
  261. ,pAgentCity = pa.agentCity
  262. ,pAgentAddress = pa.agentAddress
  263. ,payerName = pbd.PAYER_CODE + ' - ' + pbd.Payer_Name
  264. ,trn.tAmt
  265. ,trn.serviceCharge
  266. ,handlingFee = ISNULL(trn.handlingFee, 0)
  267. ,sAgentComm = isnull(trn.sAgentComm, 0)
  268. ,sAgentCommCurrency = ISNULL(trn.sAgentCommCurrency, 0)
  269. ,pAgentComm = ISNULL(trn.pAgentComm, 0)
  270. ,pAgentCommCurrency = ISNULL(trn.pAgentCommCurrency, 0)
  271. ,exRate = trn.customerRate
  272. ,trn.cAmt
  273. ,pAmt = FLOOR(trn.pAmt)
  274. ,relationship = ISNULL(trn.relWithSender, ISNULL('' + sdv2.detailTitle, ''))
  275. ,purpose = ISNULL(trn.purposeOfRemit, '-')
  276. ,sourceOfFund = ISNULL(trn.sourceOfFund, '-')
  277. ,collMode = trn.collMode
  278. ,trn.collCurr
  279. ,paymentMethod = UPPER(trn.paymentMethod)
  280. ,trn.payoutCurr
  281. ,BranchName = trn.pBankBranchName
  282. ,accountNo = trn.accountNo
  283. ,BankName = trn.pBankName
  284. ,tranStatus = CASE
  285. WHEN trn.payStatus = 'Post'
  286. AND trn.tranType = 'D'
  287. THEN 'Post'
  288. ELSE trn.tranStatus
  289. END
  290. ,trn.payStatus
  291. ,createdFrom = CASE
  292. WHEN (trn.tranType = 'M' AND trn.isOnlineTxn = 'M') THEN 'Mobile'
  293. WHEN (trn.tranType = 'M' AND trn.isOnlineTxn = 'O') THEN 'Web Online'
  294. WHEN trn.tranType = 'I' THEN 'CR Panel'
  295. ELSE trn.tranType END
  296. ,payoutMsg = ISNULL(trn.pMessage, '-')
  297. ,trn.createdBy
  298. ,trn.createdDate
  299. ,trn.approvedBy
  300. ,trn.approvedDate
  301. ,trn.paidBy
  302. ,trn.paidDate
  303. ,trn.cancelRequestBy
  304. ,trn.cancelRequestDate
  305. ,trn.cancelApprovedBy
  306. ,trn.cancelApprovedDate
  307. ,trn.lockedBy
  308. ,trn.lockedDate
  309. ,trn.payTokenId
  310. ,trn.tranStatus
  311. ,trn.tranType
  312. ,trn.holdTranId
  313. ,sTelNo = ISNULL(sen.homephone, sen.workphone)
  314. ,rTelNo = ISNULL(rec.homephone, rec.workphone)
  315. ,CashOrBank = ''
  316. ,PurposeofRemit = CASE
  317. WHEN trn.PurposeofRemit = 'Payment of import good'
  318. THEN CONCAT (
  319. '<b>'
  320. ,trn.purposeOfRemit
  321. ,'</b>'
  322. ,'<br/>'
  323. ,'<b>Goods Type:</b> ' + ISNULL(rec.goodsType, '')
  324. ,'<br/>'
  325. ,'<b>Goods Origin:</b> ' + ISNULL(goodsorigin, '')
  326. ,'<br/>'
  327. ,'<b>Port Of Shipment:</b> ' + ISNULL(rec.portOfShipment, '')
  328. )
  329. ELSE ISNULL(trn.purposeOfRemit, '-')
  330. END
  331. ,custRate = isnull(trn.customerRate, 0) + isnull(trn.schemePremium, 0)
  332. ,settRate = trn.agentCrossSettRate
  333. ,nativeCountry = sen.nativeCountry
  334. ,@isRealTime AS isRealTime
  335. ,CASE
  336. WHEN ISNULL(@referralName, '') = ''
  337. THEN '-'
  338. ELSE @referralName
  339. END referralName
  340. ,introducer = CASE
  341. WHEN trn.referralId IS NULL
  342. THEN '-'
  343. ELSE intro.fullName + ' ' + ' - ' + intro.membershipId
  344. END
  345. ,receiverNameAlt = ISNULL(trn.receiverNameAlt, '')
  346. ,IsQuestionnaire = @IsQuestionnaire
  347. ,pSuperAgent = trn.pSuperAgent
  348. ,cm.createdDate registerDate
  349. ,rewardPoints = trn.rewardPoints
  350. ,customerPremium = trn.customerPremium
  351. ,depositType = tr.depositType
  352. ,trustPaymentId = tpd.transactionReference
  353. ,pCountryId = cs.countryId
  354. ,postDate =tr.postedDate
  355. ,releaseDate =tr.downloadedDate
  356. FROM vwRemitTran trn WITH (NOLOCK)
  357. LEFT JOIN remitTranTemp rt WITH (NOLOCK) ON trn.id = rt.id
  358. LEFT JOIN vwTranSenders sen WITH (NOLOCK) ON trn.id = sen.tranId
  359. LEFT JOIN vwTranReceivers rec WITH (NOLOCK) ON trn.id = rec.tranId
  360. LEFT JOIN agentMaster sa WITH (NOLOCK) ON trn.sBranch = sa.agentId
  361. LEFT JOIN agentMaster pa WITH (NOLOCK) ON trn.pBranch = pa.agentId
  362. LEFT JOIN api_districtList pLoc WITH (NOLOCK) ON trn.pLocation = pLoc.districtCode
  363. LEFT JOIN apiLocationMapping ALM WITH (NOLOCK) ON pLoc.districtCode = ALM.apiDistrictCode
  364. LEFT JOIN zoneDistrictMap ZDM WITH (NOLOCK) ON ZDM.districtId = ALM.districtId
  365. LEFT JOIN api_districtList sLoc WITH (NOLOCK) ON sa.agentLocation = sLoc.districtCode
  366. LEFT JOIN staticDataValue sdv WITH (NOLOCK) ON sen.idType = CAST(sdv.valueId AS VARCHAR)
  367. LEFT JOIN staticDataValue sdv1 WITH (NOLOCK) ON rec.idType = CAST(sdv1.valueId AS VARCHAR)
  368. LEFT JOIN staticDataValue sdv2 WITH (NOLOCK) ON rec.relationType = CAST(sdv2.valueId AS VARCHAR)
  369. LEFT JOIN customerMaster cm WITH (NOLOCK) ON cm.customerId = sen.customerId
  370. LEFT JOIN customerMaster intro WITH (NOLOCK) ON intro.customerId = trn.referralId
  371. LEFT JOIN staticDataValue VISA WITH (NOLOCK) ON CM.VISASTATUS = CAST(VISA.VALUEID AS VARCHAR)
  372. LEFT JOIN tbl_japan_address_detail detail WITH (NOLOCK) ON detail.zip_code = sen.zipcode
  373. LEFT JOIN dbo.countryStateMaster SS(NOLOCK) ON cast(SS.stateId AS INT) = detail.state_Id
  374. LEFT JOIN STATICDATAVALUE occ ON occ.VALUEID = CM.occupation
  375. LEFT JOIN PAYER_BANK_DETAILS pbd WITH (NOLOCK) ON pbd.payer_id = trn.payerId
  376. LEFT JOIN dbo.countryMaster cs(NOLOCK) ON cs.countryName = rec.country
  377. LEFT JOIN TRU_TranDetail tpd WITH (NOLOCK) ON tpd.Tranid = trn.id
  378. LEFT JOIN remitTran tr WITH (NOLOCK) ON tr.id = trn.id
  379. WHERE trn.controlNo = @controlNoEncrypted
  380. OR isnull(trn.id, trn.holdTranId) = LTRIM(RTRIM(@tranId))
  381. --End of Transaction Details------------------------------------------------------------
  382. --Lock Transaction----------------------------------------------------------------------
  383. IF (@lockMode = 'Y')
  384. BEGIN
  385. UPDATE remitTran
  386. SET tranStatus = 'Lock'
  387. ,lockedBy = @user
  388. ,lockedDate = GETDATE()
  389. ,lockedDateLocal = @nepDate
  390. WHERE (
  391. tranStatus = 'Payment'
  392. AND tranStatus <> 'CancelRequest'
  393. )
  394. AND payStatus = 'Unpaid'
  395. AND (
  396. controlNo = @controlNoEncrypted
  397. OR id = @tranId
  398. )
  399. END
  400. --End of Lock Transaction---------------------------------------------------------------
  401. --Log Details---------------------------------------------------------------------------
  402. PRINT @holdTranId
  403. SELECT *
  404. FROM (
  405. SELECT rowId = 0
  406. ,message = 'OFAC Release Msg:' + approvedRemarks
  407. ,createdBy = approvedBy
  408. ,createdDate = approvedDate
  409. ,fileType = NULL
  410. ,deleteComment = 'N'
  411. ,fieldName = NULL
  412. FROM remittranofac
  413. WHERE tranid = @holdTranId
  414. AND approvedBy IS NOT NULL
  415. UNION ALL
  416. SELECT rowId
  417. ,message = CASE
  418. WHEN message IS NULL
  419. THEN fieldName + ' ' + OLDVALUE + ' Changed By ' + REPLACE(REPLACE(FIELDVALUE, '<root><row ', ''), ' secondLastName = ""/></root>', '')
  420. ELSE [MESSAGE]
  421. END
  422. ,trn.createdBy
  423. ,trn.createdDate
  424. ,isnull(trn.fileType, '') fileType
  425. ,deleteComment = 'Y'
  426. ,fieldName
  427. FROM tranModifyLog trn WITH (NOLOCK)
  428. LEFT JOIN applicationUsers au WITH (NOLOCK) ON trn.createdBy = au.userName
  429. WHERE (
  430. trn.tranId = @tranId
  431. OR trn.controlNo = @controlNoEncrypted
  432. )
  433. AND ISNULL(trn.STATUS, '') <> 'Deleted'
  434. AND ISNULL(trn.OLDVALUE, '') NOT IN (
  435. '7000'
  436. ,'100'
  437. ,'415'
  438. ,'416'
  439. )
  440. ) x
  441. ORDER BY X.rowId DESC
  442. SELECT bankName = 'Cash'
  443. ,collMode = 'Cash'
  444. ,amt = ''
  445. ,collDate = ''
  446. ,voucherNo = ''
  447. ,narration = 'Cash Collection'
  448. SELECT C.PARTICULARS
  449. ,C.TRANDATE
  450. ,C.DEPOSITAMOUNT
  451. FROM TBL_BANK_DEPOSIT_TXN_MAPPING B(NOLOCK)
  452. INNER JOIN CUSTOMER_DEPOSIT_LOGS C(NOLOCK) ON C.TRANID = B.DEPOSIT_LOG_ID
  453. WHERE HOLD_TRAN_ID = @holdTranId
  454. -- Document Details
  455. SELECT ROW_NUMBER() OVER (
  456. ORDER BY uploadedDate ASC
  457. ) SN
  458. ,*
  459. FROM (
  460. SELECT documentType = CASE
  461. WHEN cd.documentType = '0'
  462. AND filetype = 'application/pdf'
  463. THEN cd.filedescription
  464. ELSE ISNULL(sdv.detailTitle, 'signature')
  465. END
  466. ,fileType = CASE
  467. WHEN ISNULL(cd.fileType, 'image/jpeg') IN ('receiver')
  468. THEN 'application/pdf'
  469. ELSE ISNULL(cd.fileType, 'image/jpeg')
  470. END
  471. ,uploadedDate = CONVERT(VARCHAR(10), cd.createddate, 111)
  472. ,fileName = '<a style=''cursor:pointer;'' onclick="showDocument(' + Cast(cd.cdId AS VARCHAR) + ',''' + CASE
  473. WHEN ISNULL(cd.fileType, 'image/jpeg') IN ('receiver')
  474. THEN 'application/pdf'
  475. ELSE ISNULL(cd.fileType, 'image/jpeg')
  476. END + ''');">' + cd.fileName + '</a>'
  477. FROM dbo.customerDocument cd
  478. LEFT JOIN dbo.staticDataValue sdv ON sdv.valueId = cd.documentType
  479. WHERE cd.customerId = @customerId
  480. AND ISNULL(isDeleted, 'N') = 'N'
  481. --ORDER BY cd.createdDate
  482. ) X
  483. ---- Questionaire details
  484. --SELECT ROW_NUMBER() OVER (
  485. -- ORDER BY ORDER_BY
  486. -- ) SN
  487. -- ,*
  488. --FROM (
  489. -- SELECT ORDER_BY
  490. -- ,QSN
  491. -- ,ANSWER_TEXT
  492. -- ,editQuestionnaire = '<button id="btnUpdate" class="btn btn-primary" value="Edit" onClick="UpdateQuestionnaire();"/>'
  493. -- FROM dbo.TBL_TXN_COMPLIANCE_CDDI A
  494. -- INNER JOIN dbo.VIEW_COMPLIANCE_QUESTION_SET B ON CAST(B.ID AS VARCHAR) = A.QUES_ID
  495. -- WHERE CAST(A.TRAN_ID AS VARCHAR) = CAST(ISNULL(@holdTranId, 0) AS VARCHAR)
  496. -- ) x
  497. END
  498. ELSE IF @flag = 'voucher'
  499. BEGIN
  500. IF EXISTS (
  501. SELECT *
  502. FROM dbo.bankCollectionVoucherDetail(NOLOCK)
  503. WHERE tempTranId = @tranId
  504. )
  505. BEGIN
  506. SELECT b.voucherAmt
  507. ,b.voucherDate
  508. ,b.voucherNo
  509. ,v.bankName
  510. FROM dbo.bankCollectionVoucherDetail b(NOLOCK)
  511. INNER JOIN vwBankLists v(NOLOCK) ON b.bankId = v.rowId
  512. WHERE b.tempTranId = @tranId
  513. END
  514. ELSE
  515. BEGIN
  516. SELECT b.voucherAmt
  517. ,b.voucherDate
  518. ,b.voucherNo
  519. ,v.bankName
  520. FROM dbo.bankCollectionVoucherDetail b(NOLOCK)
  521. INNER JOIN vwBankLists v(NOLOCK) ON b.bankId = v.rowId
  522. WHERE b.mainTranId = @tranId
  523. END
  524. END
  525. ELSE IF @flag = 'ac' --Add Comment
  526. BEGIN
  527. BEGIN TRY
  528. IF @message IS NULL
  529. BEGIN
  530. EXEC proc_errorHandler 1
  531. ,'Message can not be blank.'
  532. ,@tranId
  533. RETURN
  534. END
  535. IF @user IS NULL
  536. BEGIN
  537. EXEC proc_errorHandler 1
  538. ,'Your session has expired. Cannot add complain.'
  539. ,NULL
  540. RETURN
  541. END
  542. IF @tranId IS NULL
  543. BEGIN
  544. EXEC proc_errorHandler 1
  545. ,'Transaction No can not be blank.'
  546. ,@tranId
  547. RETURN
  548. END
  549. DECLARE @ttId VARCHAR(10) = NULL
  550. ,@OrderNo VARCHAR(50) = NULL
  551. SELECT @OrderNo = NULLIF(LTRIM(RTRIM(voucherNo)), '')
  552. FROM remitTran(NOLOCK)
  553. WHERE id = @tranId
  554. AND sRouteId = 'RIA'
  555. BEGIN TRAN
  556. INSERT INTO tranModifyLog (
  557. tranId
  558. ,controlNo
  559. ,message
  560. ,createdBy
  561. ,createdDate
  562. ,MsgType
  563. ,STATUS
  564. ,needToSync
  565. )
  566. SELECT @tranId
  567. ,@controlNoEncrypted
  568. ,@message
  569. ,@user
  570. ,@nepDate
  571. ,'C'
  572. ,'Not Resolved'
  573. ,CASE
  574. WHEN @OrderNo IS NOT NULL
  575. THEN 1
  576. ELSE 0
  577. END
  578. --SET @ttId=@@IDENTITY
  579. --IF @OrderNo IS NOT NULL
  580. --BEGIN
  581. -- UPDATE tranModifyLog SET needToSync=1 WHERE rowId=@ttId
  582. --END
  583. IF ISNUMERIC(@controlNo) = 1
  584. AND right(@controlNo, 1) <> 'D'
  585. BEGIN
  586. INSERT INTO dbo.rs_remitTranTroubleTicket (
  587. RefNo
  588. ,Comments
  589. ,DatePosted
  590. ,PostedBy
  591. ,uploadBy
  592. ,STATUS
  593. ,noteType
  594. ,tranno
  595. ,category
  596. )
  597. SELECT @controlNoEncrypted
  598. ,@message
  599. ,GETDATE()
  600. ,@user
  601. ,@user
  602. ,NULL
  603. ,2
  604. ,NULL
  605. ,'push'
  606. END
  607. COMMIT TRAN
  608. ---EXEC proc_errorHandler 0, 'Comments has been added successfully.', @tranId
  609. SELECT '0' AS errorCode
  610. ,'Comments has been added successfully.' AS Msg
  611. ,@ttId AS Id
  612. ,'RIA' AS Extra
  613. ,@OrderNo AS Extra2
  614. END TRY
  615. BEGIN CATCH
  616. SELECT 1 error_code
  617. ,ERROR_MESSAGE() mes
  618. ,NULL id
  619. END CATCH
  620. END
  621. IF @flag = 'showLog' --Add Comment
  622. BEGIN
  623. --Log Details---------------------------------------------------------------------------
  624. --SELECT
  625. -- rowId
  626. -- ,message
  627. -- ,trn.createdBy
  628. -- ,trn.createdDate
  629. -- ,isnull(trn.fileType,'') fileType
  630. --FROM tranModifyLog trn WITH(NOLOCK)
  631. --LEFT JOIN applicationUsers au WITH(NOLOCK) ON trn.createdBy = au.userName
  632. --WHERE trn.tranId = @tranId
  633. --ORDER BY trn.createdDate DESC
  634. SELECT *
  635. FROM (
  636. SELECT rowId = 0
  637. ,message = 'OFAC Release Msg:' + approvedRemarks
  638. ,createdBy = approvedBy
  639. ,createdDate = approvedDate
  640. ,fileType = NULL
  641. ,deleteComment = 'N'
  642. ,fieldName = null
  643. FROM remittranofac
  644. WHERE tranid = @holdTranId
  645. UNION ALL
  646. SELECT rowId
  647. ,message = CASE
  648. WHEN message IS NULL
  649. THEN fieldName + ' ' + OLDVALUE + ' Changed By ' + REPLACE(REPLACE(FIELDVALUE, '<root><row ', ''), ' secondLastName = ""/></root>', '')
  650. ELSE [MESSAGE]
  651. END
  652. ,trn.createdBy
  653. ,trn.createdDate
  654. ,isnull(trn.fileType, '') fileType
  655. ,deleteComment = 'Y'
  656. ,fieldName
  657. FROM tranModifyLog trn WITH (NOLOCK)
  658. LEFT JOIN applicationUsers au WITH (NOLOCK) ON trn.createdBy = au.userName
  659. WHERE (
  660. trn.tranId = @tranId
  661. OR trn.controlNo = @controlNoEncrypted
  662. )
  663. AND trn.[status] <> 'Deleted'
  664. ) x
  665. ORDER BY X.rowId DESC
  666. END
  667. ELSE IF @flag = 'OFAC'
  668. BEGIN
  669. DECLARE @TRACK_BY VARCHAR(20)
  670. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  671. IF @controlNoEncrypted IS NOT NULL
  672. SELECT @holdTranId = holdTranId
  673. ,@tranId = id
  674. FROM vwRemitTran WITH (NOLOCK)
  675. WHERE controlNo = @controlNoEncrypted
  676. IF OBJECT_ID('tempdb..#tempMaster') IS NOT NULL
  677. DROP TABLE #tempMaster
  678. IF OBJECT_ID('tempdb..#tempDataTable') IS NOT NULL
  679. DROP TABLE #tempDataTable
  680. CREATE TABLE #tempDataTable (DATA NVARCHAR(MAX) NULL)
  681. DECLARE @ofacKeyIds VARCHAR(MAX)
  682. ,@ofacRemarks NVARCHAR(MAX)
  683. SELECT @ofacKeyIds = blackListId
  684. ,@TRACK_BY = ISNULL(TRACK_BY, 'OFAC')
  685. ,@ofacRemarks = ofacDetail
  686. FROM dbo.remitTranOfac
  687. WHERE TranId = ISNULL(@holdTranId, @tranId)
  688. IF @ofacRemarks IS NOT NULL
  689. BEGIN
  690. SELECT ofacRemarks = @ofacRemarks
  691. ,'Y' isJsonData
  692. RETURN
  693. END
  694. DECLARE @TNA_ID AS INT
  695. ,@MAX_ROW_ID AS INT
  696. ,@ROW_ID AS INT = 1
  697. ,@ofacKeyId VARCHAR(100)
  698. ,@SDN VARCHAR(MAX) = ''
  699. ,@ADDRESS VARCHAR(MAX) = ''
  700. ,@REMARKS AS VARCHAR(MAX) = ''
  701. ,@ALT AS VARCHAR(MAX) = ''
  702. ,@DATA AS NVARCHAR(MAX) = ''
  703. ,@DATA_SOURCE AS VARCHAR(200) = ''
  704. IF @TRACK_BY = 'DJ'
  705. BEGIN
  706. IF OBJECT_ID('tempdb..#tempDJresult') IS NOT NULL
  707. DROP TABLE #tempDJ
  708. SELECT DISTINCT X.val ofacKeyId
  709. INTO #tempDJ
  710. FROM (
  711. SELECT *
  712. FROM dbo.SplitXML(',', @ofacKeyIds)
  713. ) X
  714. ALTER TABLE #tempDJ ADD ROWID INT IDENTITY (
  715. 1
  716. ,1
  717. )
  718. SELECT @MAX_ROW_ID = MAX(ROWID)
  719. FROM #tempDJ
  720. WHILE @MAX_ROW_ID >= @ROW_ID
  721. BEGIN
  722. SELECT @ofacKeyId = ofacKeyId
  723. FROM #tempDJ
  724. WHERE ROWID = @ROW_ID
  725. SELECT @DATA = RESULT
  726. FROM Dowjones.DBO.DJ_FNAGET_PERSON_DETAIL(@ofacKeyId)
  727. IF ISNULL(@DATA, '') <> ''
  728. BEGIN
  729. INSERT INTO #tempDataTable
  730. SELECT @DATA
  731. END
  732. SET @ROW_ID = @ROW_ID + 1
  733. END
  734. ALTER TABLE #tempDataTable ADD ROWID INT IDENTITY (
  735. 1
  736. ,1
  737. )
  738. SELECT ROWID [S.N.]
  739. ,DATA [Remarks]
  740. ,'N' isJsonData
  741. FROM #tempDataTable
  742. RETURN
  743. END
  744. SELECT DISTINCT A.val ofacKeyId
  745. INTO #tempMaster
  746. FROM (
  747. SELECT *
  748. FROM dbo.SplitXML(',', @ofacKeyIds)
  749. ) A
  750. INNER JOIN (
  751. SELECT ofacKey
  752. FROM blacklistHistory WITH (NOLOCK)
  753. ) B ON A.val = B.ofacKey
  754. ALTER TABLE #tempMaster ADD ROWID INT IDENTITY (
  755. 1
  756. ,1
  757. )
  758. SELECT @MAX_ROW_ID = MAX(ROWID)
  759. FROM #tempMaster
  760. WHILE @MAX_ROW_ID >= @ROW_ID
  761. BEGIN
  762. SELECT @SDN = ''
  763. ,@ADDRESS = ''
  764. ,@ADDRESS = ''
  765. ,@ALT = ''
  766. ,@REMARKS = ''
  767. SELECT @ofacKeyId = ofacKeyId
  768. FROM #tempMaster
  769. WHERE ROWID = @ROW_ID
  770. SELECT @SDN = '<b>' + ISNULL(entNum, '') + '</b>, <b>Name:</b> ' + ISNULL(name, '')
  771. ,@DATA_SOURCE = '<b>Data Source:</b> ' + ISNULL(dataSource, '')
  772. FROM blacklistHistory WITH (NOLOCK)
  773. WHERE ofacKey = @ofacKeyId
  774. AND vesselType = 'sdn'
  775. SELECT @ADDRESS = ISNULL(address, '') + ', ' + ISNULL(city, '') + ', ' + ISNULL(STATE, '') + ', ' + ISNULL(zip, '') + ', ' + ISNULL(country, '')
  776. FROM blacklistHistory WITH (NOLOCK)
  777. WHERE ofacKey = @ofacKeyId
  778. AND vesselType = 'add'
  779. SELECT @ALT = COALESCE(@ALT + ', ', '') + CAST(ISNULL(NAME, '') AS VARCHAR(MAX))
  780. FROM blacklistHistory WITH (NOLOCK)
  781. WHERE ofacKey = @ofacKeyId
  782. AND vesselType IN (
  783. 'alt'
  784. ,'aka'
  785. )
  786. SELECT @REMARKS = ISNULL(remarks, '') + isnull('<br/> ID Type:' + idType, '') + isnull(':' + idNumber, '') + isnull('|DOB:' + dob, '') + isnull(' |Father Name: ' + FatherName, '')
  787. FROM blacklistHistory WITH (NOLOCK)
  788. WHERE ofacKey = @ofacKeyId
  789. AND vesselType = 'sdn'
  790. SET @SDN = RTRIM(LTRIM(@SDN))
  791. SET @ADDRESS = RTRIM(LTRIM(@ADDRESS))
  792. SET @ALT = RTRIM(LTRIM(@ALT))
  793. SET @REMARKS = RTRIM(LTRIM(@REMARKS))
  794. SET @SDN = REPLACE(@SDN, ', ,', '')
  795. SET @ADDRESS = REPLACE(@ADDRESS, ', ,', '')
  796. SET @ALT = REPLACE(@ALT, ', ,', '')
  797. SET @REMARKS = REPLACE(@REMARKS, ', ,', '')
  798. SET @SDN = REPLACE(@SDN, '-0-', '')
  799. SET @ADDRESS = REPLACE(@ADDRESS, '-0-', '')
  800. SET @ALT = REPLACE(@ALT, '-0-', '')
  801. SET @REMARKS = REPLACE(@REMARKS, '-0-', '')
  802. SET @SDN = REPLACE(@SDN, ',,', '')
  803. SET @ADDRESS = REPLACE(@ADDRESS, ',,', '')
  804. SET @ALT = REPLACE(@ALT, ',,', '')
  805. SET @REMARKS = REPLACE(@REMARKS, ',,', '')
  806. IF @DATA_SOURCE IS NOT NULL
  807. AND @DATA_SOURCE <> ''
  808. SET @DATA = @DATA_SOURCE
  809. IF @SDN IS NOT NULL
  810. AND @SDN <> ''
  811. SET @DATA = @DATA + '<BR>' + @SDN
  812. IF @ADDRESS IS NOT NULL
  813. AND @ADDRESS <> ''
  814. SET @DATA = @DATA + '<BR><b>Address: </b>' + @ADDRESS
  815. IF @ALT IS NOT NULL
  816. AND @ALT <> ''
  817. AND @ALT <> ' '
  818. SET @DATA = @DATA + '<BR>' + '<b>a.k.a :</b>' + @ALT + ''
  819. IF @REMARKS IS NOT NULL
  820. AND @REMARKS <> ''
  821. SET @DATA = @DATA + '<BR><b>Other Info :</b>' + @REMARKS
  822. IF @DATA IS NOT NULL
  823. OR @DATA <> ''
  824. BEGIN
  825. INSERT INTO #tempDataTable
  826. SELECT REPLACE(@DATA, '<BR><BR>', '')
  827. END
  828. SET @ROW_ID = @ROW_ID + 1
  829. END
  830. ALTER TABLE #tempDataTable ADD ROWID INT IDENTITY (
  831. 1
  832. ,1
  833. )
  834. SELECT ROWID [S.N.]
  835. ,DATA [Remarks]
  836. ,'N' isJsonData
  837. FROM #tempDataTable
  838. END
  839. ELSE IF @flag = 'Compliance'
  840. BEGIN
  841. SELECT @holdTranId = holdTranId
  842. ,@tranId = id
  843. FROM vwRemitTran WITH (NOLOCK)
  844. WHERE controlNo = dbo.FNAEncryptString(@controlNo)
  845. SELECT rowId
  846. ,csDetailRecId
  847. ,[S.N.] = ROW_NUMBER() OVER (
  848. ORDER BY ROWID
  849. )
  850. ,[Remarks]
  851. ,[Matched ControlNo]
  852. ,[Doc. Required]
  853. ,[Approved Remarks]
  854. FROM (
  855. SELECT rowId
  856. ,csDetailRecId = CL.id
  857. ,[Remarks] = CASE
  858. WHEN RTC.CSDETAILTRANID = 0
  859. THEN RTC.REASON
  860. WHEN RTC.CSDETAILTRANID <> 0
  861. THEN CL.COMPLAINCEDETAILMESSAGE
  862. END
  863. --,[Matched TRAN ID] = ISNULL(rtc.matchTranId, '-')
  864. ,[Matched ControlNo] = ISNULL(CASE
  865. WHEN dbo.fnadecryptstring(rtt.controlno) = ''
  866. AND dbo.fnadecryptstring(rth.controlno) = ''
  867. THEN dbo.fnadecryptstring(rt.controlno)
  868. WHEN dbo.fnadecryptstring(rtt.controlno) = ''
  869. AND dbo.fnadecryptstring(rt.controlno) = ''
  870. THEN dbo.fnadecryptstring(rth.controlno)
  871. ELSE dbo.fnadecryptstring(rtt.controlno)
  872. END, '-')
  873. ,[Doc. Required] = CASE
  874. WHEN isDocumentRequired = 1
  875. THEN 'Yes'
  876. ELSE 'No'
  877. END
  878. ,[Approved Remarks] = rtc.approvedby + ': ' + rtc.approvedremarks
  879. FROM ComplianceLog CL
  880. LEFT JOIN remitTranCompliance rtc WITH (NOLOCK) ON CL.TRANID = RTC.TRANID AND RTC.CSDETAILTRANID = CL.complianceId
  881. LEFT JOIN CSDETAIL CD(NOLOCK) ON CD.csDetailId = CL.complianceId
  882. LEFT JOIN vwremittran rtt(NOLOCK) ON rtt.holdtranid = rtc.matchTranId
  883. LEFT JOIN vwremittran rth(NOLOCK) ON rth.id = rtc.matchTranId
  884. LEFT JOIN cancelTranHistory rt(NOLOCK) ON rt.tranid = rtc.matchTranId
  885. WHERE rtc.TranId = ISNULL(@holdTranId, @tranId)
  886. AND ISNULL(rtc.reason, '') <> 'Suspected duplicate transaction'
  887. --AND CD.nextAction = 'H'
  888. UNION ALL
  889. SELECT rowId
  890. ,csDetailRecId = CASE
  891. WHEN CSDETAILTRANID <> 0
  892. THEN CL.id
  893. ELSE 0
  894. END
  895. ,[Remarks] = CASE
  896. WHEN RTC.CSDETAILTRANID = 0
  897. THEN RTC.REASON
  898. WHEN RTC.CSDETAILTRANID <> 0
  899. THEN CL.COMPLAINCEDETAILMESSAGE
  900. END
  901. --,[Matched TRAN ID] = ISNULL(rtc.matchTranId, '-')
  902. ,[Matched ControlNo] = ISNULL(CASE
  903. WHEN dbo.fnadecryptstring(rtt.controlno) = ''
  904. AND dbo.fnadecryptstring(rth.controlno) = ''
  905. THEN dbo.fnadecryptstring(rt.controlno)
  906. WHEN dbo.fnadecryptstring(rtt.controlno) = ''
  907. AND dbo.fnadecryptstring(rt.controlno) = ''
  908. THEN dbo.fnadecryptstring(rth.controlno)
  909. ELSE dbo.fnadecryptstring(rtt.controlno)
  910. END, '-')
  911. ,[Doc. Required] = CASE
  912. WHEN isDocumentRequired = 1
  913. THEN 'Yes'
  914. ELSE 'No'
  915. END
  916. ,[Approved Remarks] = rtc.approvedby + ': ' + rtc.approvedremarks
  917. FROM remitTranCompliance rtc
  918. LEFT JOIN ComplianceLog CL WITH (NOLOCK) ON CL.TRANID = RTC.TRANID --AND RTC.CSDETAILTRANID = CL.complianceId
  919. LEFT JOIN CSDETAIL CD(NOLOCK) ON CD.csDetailId = CL.complianceId
  920. LEFT JOIN vwremittran rtt(NOLOCK) ON rtt.holdtranid = rtc.matchTranId
  921. LEFT JOIN vwremittran rth(NOLOCK) ON rth.id = rtc.matchTranId
  922. LEFT JOIN cancelTranHistory rt(NOLOCK) ON rt.tranid = rtc.matchTranId
  923. WHERE rtc.TranId = ISNULL(@holdTranId, @tranId)
  924. AND rtc.reason = 'Suspected duplicate transaction'
  925. ) X
  926. END
  927. ELSE IF @flag = 'CashLimitHold'
  928. BEGIN
  929. SELECT @holdTranId = holdTranId
  930. ,@tranId = id
  931. FROM vwRemitTran WITH (NOLOCK)
  932. WHERE controlNo = dbo.FNAEncryptString(@controlNo)
  933. SELECT rowId
  934. ,[S.N.] = ROW_NUMBER() OVER (
  935. ORDER BY ROWID
  936. )
  937. ,[TRAN ID] = rtclh.tranId
  938. ,[Remarks] = ' Transaction is in Cash Limit Hold beacase send amount is greater than available cash hold limit'
  939. FROM remitTranCashLimitHold rtclh WITH (NOLOCK)
  940. WHERE rtclh.TranId = ISNULL(@holdTranId, @tranId)
  941. END
  942. --EXEC proc_transactionView @FLAG='COMPL_DETAIL',@controlNo='1',@tranId='1'
  943. IF @flag = 'COMPL_DETAIL'
  944. BEGIN
  945. /*
  946. 5000 By Sender ID
  947. 5001 By Sender Name
  948. 5002 By Sender Mobile
  949. 5003 By Beneficiary ID
  950. 5004 By Beneficiary ID(System)
  951. 5005 By Beneficiary Name
  952. 5006 By Beneficiary Mobile
  953. 5007 By Beneficiary A/C Number
  954. */
  955. DECLARE @tranIds AS VARCHAR(MAX)
  956. ,@criteria AS INT
  957. ,@totalTran AS INT
  958. ,@criteriaValue AS VARCHAR(500)
  959. ,@id AS INT
  960. ,@reason VARCHAR(500)
  961. SELECT @tranIds = matchTranId
  962. ,@id = TranId
  963. FROM remitTranCompliance WITH (NOLOCK)
  964. WHERE rowId = @controlNo --(ROWID) --id of remitTranCompliance
  965. SELECT @criteria = criteria
  966. FROM csDetailRec WITH (NOLOCK)
  967. WHERE csDetailRecId = @tranId --id of csDetailRec
  968. SELECT @totalTran = COUNT(*)
  969. FROM dbo.Split(',', @tranIds)
  970. IF @criteria = '5000'
  971. SELECT @criteriaValue = B.membershipId
  972. FROM tranSenders B WITH (NOLOCK)
  973. WHERE B.tranId = @id
  974. IF @criteria = '5001'
  975. SELECT @criteriaValue = senderName
  976. FROM remitTran WITH (NOLOCK)
  977. WHERE Id = @id
  978. --SELECT @criteriaValue = SNULL(B.firstName, '') + ISNULL(' ' + B.middleName, '') + ISNULL(' ' + B.lastName1, '') + ISNULL(' ' + B.lastName2, '') FROM tranSenders B with(nolock) WHERE B.tranId = @id
  979. IF @criteria = '5002'
  980. SELECT @criteriaValue = B.mobile
  981. FROM tranSenders B WITH (NOLOCK)
  982. WHERE B.tranId = @id
  983. IF @criteria = '5003'
  984. SELECT @criteriaValue = B.membershipId
  985. FROM tranReceivers B WITH (NOLOCK)
  986. WHERE B.tranId = @id
  987. IF @criteria = '5004'
  988. SELECT @criteriaValue = B.membershipId
  989. FROM tranReceivers B WITH (NOLOCK)
  990. WHERE B.tranId = @id
  991. IF @criteria = '5005'
  992. SELECT @criteriaValue = receiverName
  993. FROM remitTran WITH (NOLOCK)
  994. WHERE Id = @id
  995. --SELECT @criteriaValue = ISNULL(B.firstName, '') + ISNULL(' ' + B.middleName, '') + ISNULL(' ' + B.lastName1, '') + ISNULL(' ' + B.lastName2, '') FROM tranReceivers B with(nolock) WHERE B.tranId = @id
  996. IF @criteria = '5006'
  997. SELECT @criteriaValue = B.mobile
  998. FROM tranReceivers B WITH (NOLOCK)
  999. WHERE B.tranId = @id
  1000. IF @criteria = '5007'
  1001. SELECT @criteriaValue = A.accountNo
  1002. FROM remitTran A WITH (NOLOCK)
  1003. WHERE A.id = @id
  1004. -- @tranId=0 LOGIC IS ONLY FOR Suspected duplicate transaction WHERE THERE IS csDetailRecId ALWAYS 0
  1005. SELECT REMARKS = CASE
  1006. WHEN @tranId = 0
  1007. THEN @reason
  1008. ELSE RTRIM(LTRIM(dbo.FNAGetDataValue(condition))) + ' ' + CASE
  1009. WHEN checkType = 'Sum'
  1010. THEN 'Transaction Amount'
  1011. WHEN checkType = 'Count'
  1012. THEN 'Transaction Count'
  1013. END + ' exceeds ' + CAST(parameter AS VARCHAR) + ' limit within ' + CAST(period AS VARCHAR) + ' days ' + dbo.FNAGetDataValue(criteria) + ': <font size=''2px''>' + ISNULL(@criteriaValue, '') + '</font>'
  1014. END
  1015. ,totTran = 'Total Count: <b>' + CASE
  1016. WHEN @tranId = 0
  1017. THEN '1'
  1018. ELSE CAST(@totalTran AS VARCHAR)
  1019. END + '</b>'
  1020. FROM csDetailRec WITH (NOLOCK)
  1021. WHERE csDetailRecId = CASE
  1022. WHEN @tranId = 0
  1023. THEN 1
  1024. ELSE @tranId
  1025. END
  1026. SELECT [S.N.] = ROW_NUMBER() OVER (
  1027. ORDER BY @controlNo
  1028. )
  1029. ,[CONTROL NO.] = dbo.FNADecryptString(trn.controlNo)
  1030. ,[TRAN AMOUNT] = dbo.ShowDecimal(trn.cAmt)
  1031. ,[CURRENCY] = trn.collCurr
  1032. ,[TRAN DATE] = CONVERT(VARCHAR, trn.createdDate, 101)
  1033. FROM VWremitTran trn WITH (NOLOCK)
  1034. INNER JOIN (
  1035. SELECT *
  1036. FROM dbo.Split(',', @tranIds)
  1037. ) B ON trn.holdTranId = B.value
  1038. UNION ALL
  1039. ---- RECORD DISPLAY FROM CANCEL TRANSACTION TABLE
  1040. SELECT [S.N.] = ROW_NUMBER() OVER (
  1041. ORDER BY @controlNo
  1042. )
  1043. ,[CONTROL NO.] = dbo.FNADecryptString(trn.controlNo)
  1044. ,[TRAN AMOUNT] = dbo.ShowDecimal(trn.cAmt)
  1045. ,[CURRENCY] = trn.collCurr
  1046. ,[TRAN DATE] = CONVERT(VARCHAR, trn.createdDate, 101)
  1047. FROM cancelTranHistory trn WITH (NOLOCK)
  1048. INNER JOIN (
  1049. SELECT *
  1050. FROM dbo.Split(',', @tranIds)
  1051. ) B ON trn.tranId = B.value
  1052. END
  1053. ELSE IF @flag = 'saveComplainceRmks' --Add Approve Remarks
  1054. BEGIN TRY
  1055. IF EXISTS (
  1056. SELECT 'X'
  1057. FROM remitTranOfac WITH (NOLOCK)
  1058. WHERE TranId = @holdTranId
  1059. )
  1060. BEGIN
  1061. IF EXISTS (
  1062. SELECT 'X'
  1063. FROM remitTranCompliance WITH (NOLOCK)
  1064. WHERE TranId = @holdTranId
  1065. )
  1066. BEGIN
  1067. IF @messageOFAC IS NULL
  1068. BEGIN
  1069. EXEC proc_errorHandler 1
  1070. ,'OFAC remarks can not be blank.'
  1071. ,@holdTranId
  1072. RETURN;
  1073. END
  1074. IF @messageComplaince IS NULL
  1075. BEGIN
  1076. EXEC proc_errorHandler 1
  1077. ,'Complaince remarks can not be blank.'
  1078. ,@holdTranId
  1079. RETURN;
  1080. END
  1081. END
  1082. ELSE
  1083. BEGIN
  1084. IF @messageOFAC IS NULL
  1085. BEGIN
  1086. EXEC proc_errorHandler 1
  1087. ,'OFAC remarks can not be blank.'
  1088. ,@holdTranId
  1089. RETURN;
  1090. END
  1091. END
  1092. END
  1093. IF EXISTS (
  1094. SELECT 'X'
  1095. FROM remitTranCompliance WITH (NOLOCK)
  1096. WHERE TranId = @holdTranId
  1097. )
  1098. BEGIN
  1099. IF @messageComplaince IS NULL
  1100. BEGIN
  1101. EXEC proc_errorHandler 1
  1102. ,'Complaince remarks can not be blank.'
  1103. ,@holdTranId
  1104. RETURN;
  1105. END
  1106. END
  1107. BEGIN TRANSACTION
  1108. UPDATE remitTranOfac
  1109. SET approvedRemarks = @messageOFAC
  1110. ,approvedBy = @user
  1111. ,approvedDate = @nepDate
  1112. WHERE TranId = ISNULL(@holdTranId, @tranId)
  1113. AND approvedBy IS NULL
  1114. UPDATE remitTranCompliance
  1115. SET approvedRemarks = @messageComplaince
  1116. ,approvedBy = @user
  1117. ,approvedDate = @nepDate
  1118. WHERE TranId = ISNULL(@holdTranId, @tranId)
  1119. AND approvedBy IS NULL
  1120. UPDATE remitTranTemp
  1121. SET tranStatus = CASE tranStatus
  1122. WHEN 'Cash Limit/Compliance Hold'
  1123. THEN 'Cash Limit'
  1124. WHEN 'Cash Limit/OFAC Hold'
  1125. THEN 'Cash Limit'
  1126. WHEN 'Cash Limit/OFAC/Compliance Hold'
  1127. THEN 'Cash Limit'
  1128. ELSE 'Hold'
  1129. END
  1130. WHERE id = @tranId
  1131. COMMIT TRANSACTION
  1132. EXEC proc_errorHandler 0
  1133. ,'Release remarks has been saved successfully.'
  1134. ,@tranId
  1135. END TRY
  1136. BEGIN CATCH
  1137. SELECT 1 error_code
  1138. ,ERROR_MESSAGE() mes
  1139. ,NULL id
  1140. END CATCH ELSE
  1141. IF @flag = 'saveCashHoldRmks' --Add Approve Remarks
  1142. BEGIN TRY
  1143. IF EXISTS (
  1144. SELECT 'X'
  1145. FROM dbo.remitTranCashLimitHold WITH (NOLOCK)
  1146. WHERE TranId = @holdTranId
  1147. )
  1148. BEGIN
  1149. IF @messageCashLimitHold IS NULL
  1150. BEGIN
  1151. EXEC proc_errorHandler 1
  1152. ,'Cash Limit Hold remarks can not be blank.'
  1153. ,@holdTranId
  1154. RETURN;
  1155. END
  1156. END
  1157. BEGIN TRANSACTION
  1158. --select * from remitTranCashLimitHold
  1159. --EXEC proc_transactionView @flag = 'saveCashHoldRmks', @user = 'admin', @controlNo = '212048659', @tranId = '100353262', @messageComplaince = null, @messageOFAC = null, @messageCashLimitHold = 'approve cash hold limit'
  1160. UPDATE H
  1161. SET H.approvedRemarks = @messageCashLimitHold
  1162. ,H.approvedBy = @user
  1163. ,H.approvedDate = GETDATE()
  1164. FROM REMITTRAN R(NOLOCK)
  1165. INNER JOIN remitTranCashLimitHold H(NOLOCK) ON R.HOLDTRANID = H.TRANID
  1166. AND R.id = @tranId
  1167. AND H.approvedBy IS NULL
  1168. UPDATE remitTran
  1169. SET tranStatus = CASE tranStatus
  1170. WHEN 'Cash Limit Hold'
  1171. THEN 'Payment'
  1172. WHEN 'Cash Limit/Compliance Hold'
  1173. THEN 'Compliance Hold'
  1174. WHEN 'Cash Limit/OFAC Hold'
  1175. THEN 'OFAC Hold'
  1176. WHEN 'Cash Limit/OFAC/Compliance Hold'
  1177. THEN 'OFAC/Compliance Hold'
  1178. ELSE 'Payment'
  1179. END
  1180. WHERE id = @tranId
  1181. COMMIT TRANSACTION
  1182. EXEC proc_errorHandler 0
  1183. ,'Release remarks has been saved successfully.'
  1184. ,@tranId
  1185. END TRY
  1186. BEGIN CATCH
  1187. SELECT 1 error_code
  1188. ,ERROR_MESSAGE() mes
  1189. ,NULL id
  1190. END CATCH
  1191. --EXEC proc_transactionView @FLAG='chkFlag',@tranId='26'
  1192. ELSE
  1193. IF @flag = 'chkFlagOFAC'
  1194. BEGIN
  1195. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  1196. IF @controlNoEncrypted IS NOT NULL
  1197. SELECT @holdTranId = holdTranId
  1198. ,@tranId = id
  1199. FROM vwRemitTran WITH (NOLOCK)
  1200. WHERE controlNo = @controlNoEncrypted
  1201. PRINT @holdTranId;
  1202. SELECT CASE
  1203. WHEN approvedDate IS NULL
  1204. THEN 'N'
  1205. ELSE 'Y'
  1206. END AS Compliance_FLAG
  1207. FROM remitTranOfac O(NOLOCK)
  1208. WHERE TranId = @holdTranId
  1209. END
  1210. ELSE IF @flag = 'chkFlagCOMPLAINCE'
  1211. BEGIN
  1212. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  1213. IF @controlNoEncrypted IS NOT NULL
  1214. SELECT @holdTranId = holdTranId
  1215. ,@tranId = id
  1216. FROM vwRemitTran WITH (NOLOCK)
  1217. WHERE controlNo = @controlNoEncrypted
  1218. SELECT CASE
  1219. WHEN approvedDate IS NULL
  1220. THEN 'N'
  1221. ELSE 'Y'
  1222. END AS Compliance_FLAG
  1223. FROM remitTranCompliance(NOLOCK)
  1224. WHERE TranId = @holdTranId
  1225. END
  1226. ELSE IF @flag = 'chkFlagCashLimitHold'
  1227. BEGIN
  1228. SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
  1229. IF @controlNoEncrypted IS NOT NULL
  1230. SELECT @holdTranId = holdTranId
  1231. ,@tranId = id
  1232. FROM vwRemitTran WITH (NOLOCK)
  1233. WHERE controlNo = @controlNoEncrypted
  1234. SELECT CASE
  1235. WHEN H.approvedDate IS NULL
  1236. THEN 'N'
  1237. ELSE 'Y'
  1238. END AS Compliance_FLAG
  1239. FROM remitTranCashLimitHold H(NOLOCK)
  1240. WHERE TRANID = @holdTranId
  1241. END
  1242. ELSE IF @flag = 'va' --Verify Agent For Tran Modification
  1243. BEGIN
  1244. --Necessary paremeter: @user, @branch, @controlNo
  1245. IF NOT EXISTS (
  1246. SELECT 'X'
  1247. FROM remitTran WITH (NOLOCK)
  1248. WHERE controlNo = dbo.FNAEncryptString(@controlNo)
  1249. AND sBranch = @branch
  1250. )
  1251. BEGIN
  1252. EXEC proc_errorHandler 1
  1253. ,'Transaction not found'
  1254. ,NULL
  1255. RETURN
  1256. END
  1257. EXEC proc_errorHandler 0
  1258. ,'Success'
  1259. ,NULL
  1260. END
  1261. IF @flag = 'show-QA'
  1262. BEGIN
  1263. SELECT ROW_NUMBER() OVER (
  1264. ORDER BY ORDER_BY
  1265. ) SN
  1266. ,*
  1267. FROM (
  1268. SELECT ORDER_BY
  1269. ,QSN
  1270. ,ANSWER_TEXT
  1271. ,A.ROW_ID
  1272. ,editQuestionnaire = '<button id="btnUpdate" class="btn btn-primary" value="Edit" onClick="UpdateQuestionnaire();"/>'
  1273. FROM dbo.TBL_TXN_COMPLIANCE_CDDI A
  1274. INNER JOIN dbo.VIEW_COMPLIANCE_QUESTION_SET B ON CAST(B.ID AS VARCHAR) = A.QUES_ID
  1275. WHERE CAST(A.TRAN_ID AS VARCHAR) = CAST(ISNULL(@holdTranId, 0) AS VARCHAR)
  1276. ) x
  1277. END
  1278. IF @flag = 'update-QA'
  1279. BEGIN
  1280. -- select * from TBL_TXN_COMPLIANCE_CDDI where tran_id = 10400665
  1281. DECLARE @oldAnswer VARCHAR(25)
  1282. SELECT @oldAnswer = ANSWER_TEXT
  1283. FROM TBL_TXN_COMPLIANCE_CDDI
  1284. WHERE ROW_ID = @rowId
  1285. UPDATE TBL_TXN_COMPLIANCE_CDDI
  1286. SET ANSWER_TEXT = @newAnswer
  1287. WHERE ROW_ID = @rowId
  1288. EXEC proc_applicationLogs @FLAG = 'i'
  1289. ,@logType = 'Update'
  1290. ,@tableName = 'TBL_TXN_COMPLIANCE_CDDI'
  1291. ,@dataId = @rowId
  1292. ,@oldData = @oldAnswer
  1293. ,@newData = @newAnswer
  1294. ,@module = NULL
  1295. ,@user = @user
  1296. SELECT 0 'ErrorCode'
  1297. ,'Success' Msg
  1298. ,NULL Id
  1299. END
  1300. IF @flag = 's-QuestionaireAnswer'
  1301. BEGIN
  1302. SET @sortBy = 'ORDER_BY'
  1303. SET @table = '
  1304. (
  1305. SELECT ORDER_BY, QUES_ID,QSN,ANSWER_TEXT
  1306. ,[updateQ] = ''<button id="btnUpdate" onClick="UpdateQuestionnaire();"/> ''
  1307. FROM dbo.TBL_TXN_COMPLIANCE_CDDI A
  1308. INNER JOIN dbo.VIEW_COMPLIANCE_QUESTION_SET B ON CAST(B.ID AS VARCHAR) = A.QUES_ID WHERE CAST(A.TRAN_ID AS VARCHAR) = ''' + CAST(ISNULL(@holdTranId, 0) AS VARCHAR) + '''';
  1309. SET @table = @table + ' )x';
  1310. SET @pageSize = 50
  1311. SET @select_field_list = 'QUES_ID,QSN,ANSWER_TEXT,updateQ';
  1312. EXEC dbo.proc_paging @table
  1313. ,@sql_filter
  1314. ,@select_field_list
  1315. ,@extra_field_list
  1316. ,@sortBy
  1317. ,@sortOrder
  1318. ,@pageSize
  1319. ,@pageNumber;
  1320. END
  1321. IF @flag = 'questionaire-available'
  1322. BEGIN
  1323. SELECT *
  1324. FROM TBL_TXN_COMPLIANCE_CDDI
  1325. WHERE TRAN_ID = @holdTranId
  1326. END
  1327. IF @flag = 'checkTran'
  1328. BEGIN
  1329. SELECT @holdTranId = holdtranid
  1330. FROM remittran
  1331. WHERE id = @TranId
  1332. --contain n ofac and cash hold
  1333. IF EXISTS (
  1334. SELECT 'x'
  1335. FROM remittranofac rto(NOLOCK)
  1336. INNER JOIN remitTranCashLimitHold rtch(NOLOCK) ON rto.tranid = rtch.tranid
  1337. WHERE rto.tranid = @holdTranId
  1338. )
  1339. BEGIN
  1340. SELECT 1 'ErrorCode'
  1341. ,'Contains in both Ofac and Cash limit' Msg
  1342. ,NULL Id
  1343. RETURN
  1344. END
  1345. IF EXISTS (
  1346. SELECT 'x'
  1347. FROM remittrancompliance rto(NOLOCK)
  1348. INNER JOIN remitTranCashLimitHold rtch(NOLOCK) ON rto.tranid = rtch.tranid
  1349. WHERE rto.tranid = @holdTranId
  1350. )
  1351. BEGIN
  1352. SELECT 1 'ErrorCode'
  1353. ,'Contains in both Compliance and Cash limit' Msg
  1354. ,NULL Id
  1355. RETURN
  1356. END
  1357. SELECT 0 'ErrorCode'
  1358. ,'Not Found in both' Msg
  1359. ,NULL Id
  1360. END
  1361. IF @flag = 'deleteTroubleTicket'
  1362. BEGIN
  1363. UPDATE tranModifyLog
  1364. SET STATUS = 'Deleted'
  1365. ,resolvedby = @user
  1366. ,resolvedDate = getdate()
  1367. WHERE rowId = @rowId
  1368. EXEC proc_errorHandler 0
  1369. ,'Trouble ticket deleted sucessfully.'
  1370. ,NULL
  1371. END