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.

475 lines
34 KiB

10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_ApproveHoldedTxnMobile] Script Date: 11/26/2023 2:40:39 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[proc_ApproveHoldedTxnMobile]
  9. @flag VARCHAR(50)
  10. ,@user VARCHAR(130)
  11. ,@userType VARCHAR(10) = NULL
  12. ,@branch VARCHAR(50) = NULL
  13. ,@id VARCHAR(40) = NULL
  14. ,@country VARCHAR(50) = NULL
  15. ,@sender VARCHAR(50) = NULL
  16. ,@receiver VARCHAR(50) = NULL
  17. ,@amt MONEY = NULL
  18. ,@bank VARCHAR(50) = NULL
  19. ,@voucherNo VARCHAR(50) = NULL
  20. ,@branchId INT = NULL
  21. ,@pin VARCHAR(50) = NULL
  22. ,@errorCode VARCHAR(10) = NULL
  23. ,@msg VARCHAR(500) = NULL
  24. ,@idList XML = NULL
  25. ,@txnDate VARCHAR(20) = NULL
  26. ,@txncreatedBy VARCHAR(50) = NULL
  27. ,@xml VARCHAR(MAX) = NULL
  28. ,@remarks VARCHAR(MAX) = NULL
  29. ,@settlingAgentId INT = NULL
  30. ,@ControlNo VARCHAR(50) = NULL
  31. ,@txnType VARCHAR(1) = NULL
  32. ,@sendCountry VARCHAR(50) = NULL
  33. ,@sendAgent VARCHAR(50) = NULL
  34. ,@sendBranch VARCHAR(50) = NULL
  35. ,@approvedFrom VARCHAR(10) = NULL
  36. ,@tpControlNo1 VARCHAR(30) = NULL
  37. ,@tpControlNo2 VARCHAR(30) = NULL
  38. ,@isTxnRealtime BIT = NULL
  39. ,@cAmt MONEY = NULL
  40. ,@collectedBy VARCHAR(20) = NULL
  41. ,@tranId VARCHAR(20) = NULL
  42. ,@email VARCHAR(1000) = NULL
  43. ,@collectedByName varchar(50) = null
  44. AS
  45. --------------------------------------------------------------------
  46. -- #101 - Mobile Changes
  47. -- #418 - Add Email Filter
  48. -- #618 add FNAGetCustomerAvailableBalanceVerify
  49. -- #652 - collected by ddl in verify transaction
  50. -- Remove logic to allow same user to approve
  51. -- #651 cash collet logic to clear downloadby & promotion
  52. -- #1135 pushNotificationHistroy
  53. -- #18970 - change in @flag = 'verify' to hold txn from verifying if kyc is not completed
  54. -- added trantype in @flag = 's-unverified-txn' to show txn channel in UI
  55. -- change in @flag = 's-unverified-txn' to show all txn
  56. --------------------------------------------------------------------
  57. BEGIN TRY
  58. DECLARE
  59. @table VARCHAR(MAX)
  60. ,@sql VARCHAR(MAX)
  61. ,@sqlSelfTxn VARCHAR(MAX)
  62. ,@sRouteId VARCHAR(5)
  63. ,@collMode VARCHAR(100)
  64. SET NOCOUNT ON;
  65. SET XACT_ABORT ON;
  66. DECLARE
  67. @pinEncrypted VARCHAR(50) = dbo.FNAEncryptString(@pin)
  68. ,@userId INT
  69. ,@createdBy VARCHAR(50)
  70. ,@tranStatus VARCHAR(50)
  71. ,@message VARCHAR(200)
  72. ,@sBranch BIGINT
  73. ,@invicePrintMethod VARCHAR(50)
  74. ,@parentId BIGINT
  75. ,@tablesql AS VARCHAR(MAX)
  76. ,@branchList VARCHAR(MAX)
  77. ,@denyAmt MONEY
  78. ,@C2CAgentID VARCHAR(30) = '1045'
  79. ,@REAgentID VARCHAR(30) = '1100'
  80. IF @pin IS NULL
  81. BEGIN
  82. SELECT @pin = dbo.FNADecryptString(controlNo), @pinEncrypted = controlNo FROM remitTranTemp WITH(NOLOCK) WHERE id = @id
  83. END
  84. ELSE
  85. BEGIN
  86. SET @pinEncrypted = dbo.FNAEncryptString(@pin)
  87. END
  88. DECLARE @PinList TABLE(id VARCHAR(50), pin VARCHAR(50),hasProcess CHAR(1),isOFAC CHAR(1),errorMsg VARCHAR(MAX),tranId INT,createdBy VARCHAR(50))
  89. DECLARE @TempcompTable TABLE(errorCode INT,msg VARCHAR(MAX),id VARCHAR(50))
  90. DECLARE @isSelfApprove VARCHAR(1)
  91. DECLARE @cdTable VARCHAR(MAX) = ''
  92. SET @cdTable = '
  93. LEFT JOIN (
  94. SELECT
  95. DISTINCT
  96. tranId
  97. ,cb.bankName
  98. ,cd.countryBankId
  99. FROM collectionDetails cd WITH(NOLOCK)
  100. LEFT JOIN countryBanks cb WITH(NOLOCK) ON cd.countryBankId = cb.countryBankId
  101. INNER JOIN remitTranTemp trn WITH(NOLOCK) ON cd.tranId = trn.id
  102. AND (trn.tranStatus = ''Hold'' OR trn.tranStatus = ''Compliance Hold'' OR trn.tranStatus = ''OFAC Hold'' )
  103. AND trn.payStatus = ''Unpaid''
  104. AND trn.approvedBy IS NULL
  105. ) cd ON cd.tranId = trn.id '
  106. IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[#collModeList]') AND type = 'D')
  107. BEGIN
  108. DROP TABLE #collModeList
  109. END
  110. CREATE TABLE #collModeList(tranId INT, hasProcess CHAR(1), proMode varchar(50))
  111. DECLARE @tranId1 INT
  112. IF @flag = 's-unverified-txn'
  113. BEGIN
  114. SET @table = '
  115. SELECT DISTINCT
  116. trn.id
  117. ,controlNo = ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(trn.id AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(trn.CONTROLNO)+''</a>''
  118. ,tranType = CASE
  119. WHEN (trn.tranType = ''M'' AND trn.isOnlineTxn = ''M'') THEN ''Mobile''
  120. WHEN (trn.tranType = ''M'' AND trn.isOnlineTxn = ''O'') THEN ''Web''
  121. WHEN trn.tranType = ''I'' THEN ''CR Panel''
  122. ELSE trn.tranType END
  123. ,branchName = am.agentName
  124. ,country = trn.pCountry
  125. ,senderId = sen.customerId
  126. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  127. ,receiverId = rec.customerId
  128. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  129. ,cm.email as email
  130. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  131. --,paymentMethod = case when trn.collMode = ''Bank Deposit'' then ''JP Post'' ELSE trn.collMode END
  132. ,voucherNo = trn.voucherNo
  133. ,txnDate = CAST(trn.createdDate AS DATE)
  134. ,txncreatedBy = trn.createdBy
  135. ,trn.paymentMethod collMode
  136. ,CM.membershipId
  137. ,CM.mobile sMobile
  138. ,CM.customerId
  139. ,CAST(trn.pAmt AS DECIMAL(10,2)) AS pAmt
  140. ,CAST(trn.cAmt AS DECIMAL(10,2)) AS cAmt
  141. ,cAmtByUser = ISNULL(CAST(CASE WHEN TRN.COLLMODE = ''Cash Collect'' THEN trn.cAmt
  142. ELSE dbo.FNAGetCustomerAvailableBalance_New(cm.customerId) END AS VArchar),''N/A'')
  143. --ELSE X.depositAmount END AS VArchar),''N/A'')
  144. --,mappedDetail = ISNULL(CAST(CASE WHEN TRN.COLLMODE = ''Cash Collect'' THEN TCC.COLLECTED_BY
  145. -- ELSE X.particulars END AS NVARCHAR) ,''N/A'')
  146. ,REFERRAL_DETAIL = RA.REFERRAL_NAME + ''|'' + RA.REFERRAL_CODE
  147. ,ISNULL(depositType,'''') depositType
  148. ,controlNum = DBO.FNADECRYPTSTRING(trn.CONTROLNO)
  149. FROM remitTranTemp trn WITH(NOLOCK)
  150. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  151. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  152. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  153. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  154. INNER JOIN CUSTOMERMASTER CM WITH(NOLOCK) ON CM.CUSTOMERID = SEN.CUSTOMERID
  155. LEFT JOIN REFERRAL_AGENT_WISE RA(NOLOCK) ON RA.REFERRAL_CODE = TRN.PROMOTIONCODE
  156. --LEFT JOIN
  157. --(
  158. -- SELECT CDL.CUSTOMERID,PARTICULARS,depositAmount FROM remitTranTemp trn (NOLOCK)
  159. -- INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  160. -- LEFT JOIN CUSTOMER_DEPOSIT_LOGS CDL WITH(NOLOCK) ON CDL.CUSTOMERID = SEN.CUSTOMERID
  161. -- WHERE CDL.APPROVEDBY IS NULL
  162. --)X ON X.CUSTOMERID = SEN.CUSTOMERiD
  163. WHERE trn.tranStatus IN (''Hold'') AND
  164. trn.payStatus = ''Unpaid'' AND
  165. trn.approvedBy IS NULL
  166. --AND trn.tranType=''M''
  167. and trn.verifiedBy IS NULL
  168. --AND trn.pcountry in (''vietnam'',''nepal'')
  169. '
  170. IF @id IS NOT NULL
  171. SET @table = @table + ' AND trn.id = ''' + @id + ''''
  172. IF @branch IS NOT NULL
  173. SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
  174. IF @country IS NOT NULL
  175. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  176. --IF @sendCountry IS NOT NULL
  177. -- SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
  178. IF @amt IS NOT NULL
  179. SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20))+ ''
  180. IF @voucherNo IS NOT NULL
  181. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  182. IF @txncreatedBy IS NOT NULL
  183. SET @table = @table + ' AND trn.createdBy = '''+@txncreatedBy+''''
  184. IF @txnDate IS NOT NULL
  185. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)='''+@txnDate +''''
  186. IF @ControlNo IS NOT NULL
  187. SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString('''+@ControlNo+''')'
  188. IF @sendAgent IS NOT NULL
  189. SET @table = @table + ' AND trn.sAgent = '''+@sendAgent+''''
  190. IF @sendBranch IS NOT NULL
  191. SET @table = @table + ' AND trn.sBranch = '''+@sendBranch+''''
  192. IF @email IS NOT NULL
  193. SET @table = @table + ' AND cm.email LIKE ''%' + @email + '%'''
  194. SET @sql = '
  195. SELECT
  196. *
  197. FROM (
  198. ' + @table + '
  199. ) x
  200. WHERE 1 = 1 '
  201. IF @sender IS NOT NULL
  202. SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
  203. IF @receiver IS NOT NULL
  204. SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
  205. PRINT @sql
  206. EXEC (@sql)
  207. RETURN
  208. END
  209. IF @flag = 's-verified-txn'
  210. BEGIN
  211. SET @table = '
  212. SELECT DISTINCT
  213. trn.id
  214. ,controlNo = ''<a href="/Remit/Transaction/Reports/SearchTransaction.aspx?commentFlag=N&showBankDetail=N&tranId=''+CAST(trn.id AS VARCHAR)+''">''+DBO.FNADECRYPTSTRING(trn.CONTROLNO)+''</a>''
  215. ,branchName = am.agentName
  216. ,tranType = CASE
  217. WHEN (trn.tranType = ''M'' AND trn.isOnlineTxn = ''M'') THEN ''Mobile''
  218. WHEN (trn.tranType = ''M'' AND trn.isOnlineTxn = ''O'') THEN ''Web Online''
  219. WHEN trn.tranType = ''I'' THEN ''CR Panel''
  220. ELSE trn.tranType END
  221. ,country = trn.pCountry
  222. ,senderId = sen.customerId
  223. ,sender = sen.firstName + ISNULL( '' '' + sen.middleName, '''') + ISNULL( '' '' + sen.lastName1, '''') + ISNULL( '' '' + sen.lastName2, '''')
  224. ,receiverId = rec.customerId
  225. ,receiver = rec.firstName + ISNULL( '' '' + rec.middleName, '''') + ISNULL( '' '' + rec.lastName1, '''') + ISNULL( '' '' + rec.lastName2, '''')
  226. ,amt = CAST(trn.cAmt AS DECIMAL(18, 2))
  227. ,paymentMethod = UPPER(trn.paymentMethod)
  228. ,depositType = UPPER(trn.depositType)
  229. ,txnDate = CAST(trn.createdDate AS DATE)
  230. ,txncreatedBy = trn.createdBy
  231. ,trn.collMode collMode
  232. ,cm.email
  233. ,CAST(trn.pAmt AS DECIMAL(10,2)) AS pAmt
  234. FROM remitTranTemp trn WITH(NOLOCK) ' + @cdTable + '
  235. LEFT JOIN apiRoutingTable art WITH(NOLOCK) ON trn.pAgent = art.agentId
  236. INNER JOIN agentMaster am WITH(NOLOCK) ON trn.sBranch = am.agentId
  237. INNER JOIN tranSendersTemp sen WITH(NOLOCK) ON trn.id = sen.tranId
  238. INNER JOIN tranReceiversTemp rec WITH(NOLOCK) ON trn.id = rec.tranId
  239. INNER JOIN CUSTOMERMASTER CM WITH(NOLOCK) ON CM.CUSTOMERID = SEN.CUSTOMERID
  240. WHERE trn.tranStatus IN (''Hold'') AND
  241. trn.payStatus = ''Unpaid'' AND
  242. trn.approvedBy IS NULL
  243. AND trn.tranType=''M''
  244. and trn.verifiedBy IS NOT NULL
  245. '
  246. IF @id IS NOT NULL
  247. SET @table = @table + ' AND trn.id = ''' + @id + ''''
  248. IF @branch IS NOT NULL
  249. SET @table = @table + ' AND am.agentId = ''' + @branch + ''''
  250. IF @country IS NOT NULL
  251. SET @table = @table + ' AND trn.pCountry LIKE ''' + @country + '%'''
  252. --IF @sendCountry IS NOT NULL
  253. -- SET @table = @table + ' AND trn.sCountry LIKE ''' + @sendCountry + '%'''
  254. IF @amt IS NOT NULL
  255. SET @table = @table + ' AND trn.pAmt = ' + CAST(@amt AS VARCHAR(20))+ ''
  256. IF @voucherNo IS NOT NULL
  257. SET @table = @table + ' AND trn.voucherNo = ''' + @voucherNo + ''''
  258. IF @txncreatedBy IS NOT NULL
  259. SET @table = @table + ' AND trn.createdBy = '''+@txncreatedBy+''''
  260. IF @txnDate IS NOT NULL
  261. SET @table = @table + ' AND CAST(trn.createdDate AS DATE)='''+@txnDate +''''
  262. IF @ControlNo IS NOT NULL
  263. SET @table = @table + ' AND trn.controlNo = dbo.fnaEncryptString('''+@ControlNo+''')'
  264. IF @sendAgent IS NOT NULL
  265. SET @table = @table + ' AND trn.sAgent = '''+@sendAgent+''''
  266. IF @sendBranch IS NOT NULL
  267. SET @table = @table + ' AND trn.sBranch = '''+@sendBranch+''''
  268. IF @email IS NOT NULL
  269. SET @table = @table + ' AND cm.email LIKE ''%' + @email + '%'''
  270. SET @sql = '
  271. SELECT
  272. *
  273. FROM (
  274. ' + @table + '
  275. ) x
  276. WHERE 1 = 1 '
  277. IF @sender IS NOT NULL
  278. SET @sql = @sql + ' AND sender LIKE ''' + @sender + '%'''
  279. IF @receiver IS NOT NULL
  280. SET @sql = @sql + ' AND receiver LIKE ''' + @receiver + '%'''
  281. PRINT @sql
  282. EXEC (@sql)
  283. RETURN
  284. END
  285. IF @flag = 'i'
  286. BEGIN
  287. IF NOT EXISTS(SELECT * FROM REFERRAL_AGENT_WISE (NOLOCK) WHERE REFERRAL_CODE = @collectedBy)
  288. BEGIN
  289. --EXEC proc_errorHandler 1,'Invalid value is selected.', NULL;
  290. --RETURN;
  291. DECLARE @u_agentid VARCHAR(30);
  292. select @u_agentid = agentId FROM applicationUsers where userName=@collectedByName;
  293. IF @u_agentid='394392' --Tokyo Main-Head Office
  294. SET @collectedBy='JME0051' --Head Office Tokyo Branch
  295. ELSE IF @u_agentid='394389' --Chiba Funabashi Branch
  296. SET @collectedBy='JME0021' --Funabashi Branch,Office
  297. ELSE IF @u_agentid='394390' --Fukuoka Branch
  298. SET @collectedBy='JME0061' --Counter fukuoka
  299. ELSE IF @u_agentid='394391' --Nagoya Branch
  300. SET @collectedBy='JME0105' --Nagoya Branch,Office
  301. ELSE IF @u_agentid='394396' --New Office Shin Okubo
  302. SET @collectedBy='JME0151' --New Shin Okubo,Branch Office
  303. UPDATE remitTranTemp SET promotionCode = @collectedBy, collMode = 'Cash Collect' , downloadedBy = @collectedByName WHERE id = @tranId
  304. END
  305. ELSE
  306. BEGIN
  307. UPDATE remitTranTemp SET promotionCode = @collectedBy, collMode = 'Cash Collect' , downloadedBy = '' WHERE id = @tranId
  308. END
  309. EXEC proc_errorHandler 0,'Cash collected data saved successfully.', NULL;
  310. END
  311. IF @flag = 'update-as-bank'
  312. BEGIN
  313. IF NOT EXISTS(SELECT * FROM remitTranTemp (NOLOCK) WHERE id = @tranId)
  314. BEGIN
  315. EXEC proc_errorHandler 1,'Invalid data is selected.', NULL;
  316. RETURN;
  317. END
  318. UPDATE remitTranTemp SET promotionCode = null, collMode = 'Bank Deposit' WHERE id = @tranId
  319. EXEC proc_errorHandler 0,'Bank Deposit data saved successfully.', NULL;
  320. END
  321. IF @flag = 'u'
  322. BEGIN
  323. IF EXISTS(SELECT * FROM TBL_CASH_COLLECTED WHERE TRAN_ID = @tranId)
  324. BEGIN
  325. UPDATE TBL_CASH_COLLECTED SET COLLECTED_AMOUNT = @cAmt
  326. ,COLLECTED_BY = @collectedBy
  327. ,MODIFIED_BY = @user
  328. ,MODIFIED_DATE = GETDATE()
  329. WHERE TRAN_ID = @tranId
  330. EXEC proc_errorHandler 0,'Cash collect updated successfully', NULL;
  331. RETURN;
  332. END
  333. END
  334. IF @flag = 'verify'
  335. BEGIN
  336. DECLARE @cAmtByCustomer MONEY,@cAmtByUser MONEY,@customerId BIGINT, @USERNAME VARCHAR(100)
  337. SELECT @cAmtByCustomer= cAmt,
  338. @collMode = collMode ,
  339. @customerId = tsTmp.customerId,
  340. @USERNAME = CM.USERNAME
  341. from REMITTRANTEMP rtTmp(nolock)
  342. inner join transenderstemp tsTmp (nolock) on tsTmp.tranid = rtTmp.id
  343. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = tsTmp.CUSTOMERID
  344. WHERE rtTmp.id = @tranId
  345. IF @customerId IS NULL
  346. BEGIN
  347. EXEC proc_errorHandler 1,'No txn found!', NULL;
  348. RETURN;
  349. END
  350. -- 11th march, 2022
  351. IF @collMode = 'Bank Deposit'
  352. BEGIN
  353. --IF EXISTS (SELECT 1 FROM CUSTOMER_DEPOSIT_LOGS (NOLOCK) WHERE CUSTOMERID = @customerId AND APPROVEDBY IS NULL)
  354. --BEGIN
  355. -- EXEC proc_errorHandler 1, 'Customer Deposit Mapping pending for Approval!!', @id
  356. -- RETURN;
  357. --END
  358. SET @cAmtByUser = 0;
  359. SELECT @cAmtByUser = DBO.FNAGetCustomerAvailableBalanceVerify(@customerId)
  360. -- print @cAmtByUser;
  361. -- print @cAmtByCustomer;
  362. --IF @cAmtByUser < @cAmtByCustomer
  363. --BEGIN
  364. -- EXEC proc_errorHandler 1, 'Customer do not have sufficient balance for this transaction!!', @id
  365. -- RETURN;
  366. --END
  367. DECLARE @cAmtByUserAc MONEY=0;
  368. DECLARE @kycStatus INT
  369. SELECT @kycStatus = kycStatus
  370. FROM TBL_CUSTOMER_KYC(NOLOCK)
  371. WHERE CUSTOMERID = @customerId
  372. AND ISDELETED = 0
  373. --AND kycStatus=11044
  374. ORDER BY KYC_DATE
  375. IF ISNULL(@kycStatus, 0) <> 11044
  376. BEGIN
  377. IF @kycStatus IS NOT NULL
  378. SELECT @MSG = 'KYC for selected customer is not completed, it is in status:' + detailTitle
  379. FROM staticDataValue(NOLOCK)
  380. WHERE valueId = @kycStatus
  381. ELSE
  382. SELECT @MSG = 'Please complete KYC status first'
  383. EXEC proc_errorHandler 2
  384. ,@MSG
  385. ,NULL;
  386. RETURN
  387. END
  388. -- SELECT @cAmtByUserAc = DBO.FNAGetCustomerACBalById(@customerId);
  389. ---- print @@cAmtByUserAc;
  390. ---- print @cAmtByCustomer;
  391. -- IF @cAmtByUserAc < @cAmtByCustomer
  392. -- BEGIN
  393. -- EXEC proc_errorHandler 1, 'Customer do not have sufficient ac balance for this transaction!!', @id
  394. -- RETURN;
  395. -- END
  396. UPDATE remitTranTemp SET promotionCode = null, downloadedBy = '' WHERE id = @tranId
  397. --IF ISNULL(@cAmtByUser, -1) < @cAmtByCustomer
  398. --BEGIN
  399. -- EXEC proc_errorHandler 1, 'Customer do not have sufficient balance for this transaction!!', @id
  400. -- RETURN;
  401. --END
  402. END
  403. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category)
  404. select @customerid,'This is send Txn body Msg','SendTxn',getdate(),'',@tranId,1,0,0,0,'INFO'
  405. UPDATE REMITTRANTEMP SET verifiedby = @user,verifiedDate = getDate() where id = @tranId
  406. EXEC proc_errorHandler 0,'Transaction verified successfully', NULL;
  407. END
  408. END TRY
  409. BEGIN CATCH
  410. IF @@TRANCOUNT > 0
  411. ROLLBACK TRANSACTION
  412. SELECT 1 error_code, ERROR_MESSAGE() msg, NULL id
  413. END CATCH