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.

539 lines
21 KiB

1 year ago
  1. ALTER PROC PROC_WSB_DEPOSIT_NOTICE (@Flag VARCHAR(20),
  2. @customerId BIGINT = NULL,
  3. @processId VARCHAR(50) = NULL,
  4. @requestData NVARCHAR(max) = NULL,
  5. @requestDate DATETIME = NULL,
  6. @responseData NVARCHAR(max) = NULL,
  7. @responseDate DATETIME = NULL,
  8. @dataLen NUMERIC(4) = NULL,
  9. @orgtId VARCHAR(10) = NULL,
  10. @srvcDs VARCHAR(6) = NULL,
  11. @trxTypeCd VARCHAR(4) = NULL,
  12. @rspsCd VARCHAR(4) = NULL,
  13. @tlgSeqNo NUMERIC(10) = NULL,
  14. @tlgSendHur VARCHAR(14) = NULL,
  15. @filler NVARCHAR(max) = NULL,
  16. @virtualAccountNo VARCHAR(20) = NULL,
  17. @maccNo VARCHAR(20) = NULL,
  18. @trxDt VARCHAR(8) = NULL,
  19. @trxTime VARCHAR(6) = NULL,
  20. @trxAmt NUMERIC(15) = NULL,
  21. @bankCd VARCHAR(3) = NULL,
  22. @bankBranCd VARCHAR(7) = NULL,
  23. @vtulAccTrnfCustNm NVARCHAR(max) = NULL,
  24. @trxSeqNo NUMERIC(9) = NULL,
  25. @cnclYn VARCHAR(1) = NULL,
  26. @vtulAccTrnfAccNo VARCHAR(16) = NULL,
  27. @filler1 NVARCHAR(max) = NULL,
  28. @rowId INT = NULL,
  29. @MethodName VARCHAR(100) = NULL)
  30. AS
  31. SET nocount ON;
  32. SET xact_abort ON;
  33. BEGIN try
  34. DECLARE @depositor NVARCHAR(100),
  35. @receivedOn VARCHAR(30)
  36. IF @trxTypeCd = '0210'
  37. BEGIN
  38. SET @flag='iulog'
  39. END
  40. IF @flag = 'iulog'
  41. BEGIN
  42. INSERT INTO dbo.wsb_deposit_notice
  43. (customerid,
  44. processid,
  45. requestdata,
  46. requestdate,
  47. datalen,
  48. orgtid,
  49. srvcds,
  50. trxtypecd,
  51. rspscd,
  52. tlgseqno,
  53. tlgsendhur,
  54. filler,
  55. virtualaccountno,
  56. maccno,
  57. trxdt,
  58. trxtime,
  59. trxamt,
  60. bankcd,
  61. bankbrancd,
  62. vtulacctrnfcustnm,
  63. trxseqno,
  64. cnclyn,
  65. vtulacctrnfaccno,
  66. filler1,
  67. responsedata,
  68. responsedate)
  69. VALUES ( @customerId,
  70. @processId,
  71. @requestData,
  72. Getdate(),
  73. @dataLen,
  74. @orgtId,
  75. @srvcDs,
  76. @trxTypeCd,
  77. @rspsCd,
  78. @tlgSeqNo,
  79. @tlgSendHur,
  80. @filler,
  81. @virtualAccountNo,
  82. @maccNo,
  83. @trxDt,
  84. @trxTime,
  85. @trxAmt,
  86. @bankCd,
  87. @bankBranCd,
  88. @vtulAccTrnfCustNm,
  89. @trxSeqNo,
  90. Isnull(@cnclYn, 'N'),
  91. @vtulAccTrnfAccNo,
  92. @filler1,
  93. @responseData,
  94. CASE
  95. WHEN @responseData = N'' THEN NULL
  96. ELSE Getdate()
  97. END )
  98. SET @rowId = @@IDENTITY
  99. IF @rspsCd = '0000'
  100. BEGIN
  101. ----##send sms to customer
  102. DECLARE @SMSBody VARCHAR(90) =
  103. 'Your GME Wallet is successfully credited by KRW '
  104. + Format(Cast(@trxAmt AS MONEY), '0,00')
  105. + ' Thank you for using GME.'
  106. DECLARE @Mobile VARCHAR(20)
  107. ,@avaiableBalance MONEY
  108. SELECT @Mobile = mobile,
  109. @depositor = firstname,
  110. @customerId = customerid
  111. ,@avaiableBalance=availableBalance
  112. FROM customermaster(nolock)
  113. WHERE walletaccountno = @virtualAccountNo
  114. AND customertype = 11068
  115. EXEC fastmoneypro_remit.dbo.Proc_calltosendsms
  116. @FLAG = 'I',
  117. @SMSBody = @SMSBody,
  118. @MobileNo = @Mobile
  119. ----## VOUCHER ENTRY
  120. UPDATE cm
  121. SET cm.availablebalance = Isnull(cm.availablebalance, 0) +
  122. @trxAmt
  123. FROM dbo.customermaster cm
  124. WHERE walletAccountNo = @virtualAccountNo
  125. /*block easy remit customer if balance is more than 3 mil*/
  126. IF(ISNULL(@avaiableBalance,0) + ISNULL(@trxAmt,0))>3000000
  127. BEGIN
  128. UPDATE customermaster SET
  129. onlineUser ='N'
  130. ,isactive ='N'
  131. ,islocked ='Y'
  132. ,modifiedBy = 'SYSTEM'
  133. ,modifieddate = GETDATE()
  134. WHERE customerid=@customerid
  135. AND walletaccountno = @virtualAccountNo
  136. AND customertype = 11068
  137. END
  138. --AND bankAccountNo = @no
  139. INSERT INTO fastmoneypro_account.dbo.temp_tran
  140. (entry_user_id,
  141. acct_num,
  142. part_tran_type,
  143. tran_amt,
  144. field1,
  145. field2,
  146. sessionid,
  147. refrence,
  148. emp_name)
  149. SELECT 'system',
  150. '100241008219',
  151. 'DR',
  152. @trxAmt,
  153. @virtualAccountNo,
  154. 'Easy Deposit',
  155. @virtualAccountNo,
  156. @rowId,
  157. @depositor
  158. ----Welcome Savings Bank-Customer Account(0678571)
  159. UNION ALL
  160. SELECT 'system',
  161. @virtualAccountNo,
  162. 'CR',
  163. @trxAmt,
  164. @virtualAccountNo,
  165. 'Easy Deposit',
  166. @virtualAccountNo,
  167. @rowId,
  168. @depositor
  169. SELECT '0' ErrorCode,
  170. 'Record has been added successfully.' Msg,
  171. @rowId id
  172. SELECT @receivedOn = CONVERT(VARCHAR, Getdate(), 101),
  173. @depositor =
  174. 'Being Easy remit amount deposited on virtual ac : '
  175. + @virtualAccountNo
  176. EXEC fastmoneypro_account.dbo.[Spa_savetemptrn]
  177. @flag='i',
  178. @sessionID= @virtualAccountNo,
  179. @date=@receivedOn,
  180. @narration=@depositor,
  181. @company_id=1,
  182. @v_type='R',
  183. @user='WSB'
  184. END
  185. ELSE
  186. SELECT '0' ErrorCode,
  187. 'Record has been added successfully.' Msg,
  188. @rowId id
  189. RETURN
  190. END
  191. IF @flag = 'ilog'
  192. BEGIN
  193. SET @processId =Newid()
  194. IF NOT EXISTS(SELECT 'A'
  195. FROM customermaster(nolock)
  196. WHERE walletaccountno = @virtualAccountNo
  197. AND customertype = 11068) ---WSB CUSTOMER
  198. BEGIN
  199. INSERT INTO dbo.wsb_deposit_notice
  200. (customerid,
  201. processid,
  202. requestdata,
  203. requestdate,
  204. datalen,
  205. orgtid,
  206. srvcds,
  207. trxtypecd,
  208. rspscd,
  209. tlgseqno,
  210. tlgsendhur,
  211. filler,
  212. virtualaccountno,
  213. maccno,
  214. trxdt,
  215. trxtime,
  216. trxamt,
  217. bankcd,
  218. bankbrancd,
  219. vtulacctrnfcustnm,
  220. trxseqno,
  221. cnclyn,
  222. vtulacctrnfaccno,
  223. filler1)
  224. VALUES ( @customerId,
  225. @processId,
  226. @requestData,
  227. Getdate(),
  228. @dataLen,
  229. @orgtId,
  230. @srvcDs,
  231. @trxTypeCd,
  232. @rspsCd,
  233. @tlgSeqNo,
  234. @tlgSendHur,
  235. @filler,
  236. @virtualAccountNo,
  237. @maccNo,
  238. @trxDt,
  239. @trxTime,
  240. @trxAmt,
  241. @bankCd,
  242. @bankBranCd,
  243. @vtulAccTrnfCustNm,
  244. @trxSeqNo,
  245. Isnull(@cnclYn, 'N'),
  246. @vtulAccTrnfAccNo,
  247. @filler1 )
  248. SELECT '1' ErrorCode,
  249. 'Invalid Virtual Account Found.' Msg,
  250. NULL
  251. RETURN
  252. END
  253. IF EXISTS (SELECT 'A'
  254. FROM dbo.wsb_deposit_notice (nolock)
  255. WHERE processid = @processId)
  256. BEGIN
  257. INSERT INTO dbo.wsb_deposit_notice
  258. (customerid,
  259. processid,
  260. requestdata,
  261. requestdate,
  262. datalen,
  263. orgtid,
  264. srvcds,
  265. trxtypecd,
  266. rspscd,
  267. tlgseqno,
  268. tlgsendhur,
  269. filler,
  270. virtualaccountno,
  271. maccno,
  272. trxdt,
  273. trxtime,
  274. trxamt,
  275. bankcd,
  276. bankbrancd,
  277. vtulacctrnfcustnm,
  278. trxseqno,
  279. cnclyn,
  280. vtulacctrnfaccno,
  281. filler1)
  282. VALUES ( @customerId,
  283. @processId,
  284. @requestData,
  285. Getdate(),
  286. @dataLen,
  287. @orgtId,
  288. @srvcDs,
  289. @trxTypeCd,
  290. @rspsCd,
  291. @tlgSeqNo,
  292. @tlgSendHur,
  293. @filler,
  294. @virtualAccountNo,
  295. @maccNo,
  296. @trxDt,
  297. @trxTime,
  298. @trxAmt,
  299. @bankCd,
  300. @bankBranCd,
  301. @vtulAccTrnfCustNm,
  302. @trxSeqNo,
  303. Isnull(@cnclYn, 'N'),
  304. @vtulAccTrnfAccNo,
  305. @filler1 )
  306. SELECT '1' ErrorCode,
  307. 'Same record already exists.' Msg,
  308. NULL
  309. RETURN
  310. END
  311. BEGIN TRAN
  312. SELECT @Mobile = mobile,
  313. @depositor = firstname,
  314. @customerId = customerid
  315. FROM customermaster(nolock)
  316. WHERE walletaccountno = @virtualAccountNo
  317. AND customertype = 11068
  318. INSERT INTO dbo.wsb_deposit_notice
  319. (customerid,
  320. processid,
  321. requestdata,
  322. requestdate,
  323. datalen,
  324. orgtid,
  325. srvcds,
  326. trxtypecd,
  327. rspscd,
  328. tlgseqno,
  329. tlgsendhur,
  330. filler,
  331. virtualaccountno,
  332. maccno,
  333. trxdt,
  334. trxtime,
  335. trxamt,
  336. bankcd,
  337. bankbrancd,
  338. vtulacctrnfcustnm,
  339. trxseqno,
  340. cnclyn,
  341. vtulacctrnfaccno,
  342. filler1,
  343. responsedata,
  344. responsedate)
  345. VALUES ( @customerId,
  346. @processId,
  347. @requestData,
  348. Getdate(),
  349. @dataLen,
  350. @orgtId,
  351. @srvcDs,
  352. @trxTypeCd,
  353. @rspsCd,
  354. @tlgSeqNo,
  355. @tlgSendHur,
  356. @filler,
  357. @virtualAccountNo,
  358. @maccNo,
  359. @trxDt,
  360. @trxTime,
  361. @trxAmt,
  362. @bankCd,
  363. @bankBranCd,
  364. @vtulAccTrnfCustNm,
  365. @trxSeqNo,
  366. Isnull(@cnclYn, 'N'),
  367. @vtulAccTrnfAccNo,
  368. @filler1,
  369. @responseData,
  370. CASE
  371. WHEN @responseData = N'' THEN NULL
  372. ELSE Getdate()
  373. END )
  374. SET @rowId = @@IDENTITY
  375. INSERT INTO dbo.TblVirtualBankDepositDetail
  376. (
  377. processId,
  378. virtualAccountNo,
  379. amount,
  380. receivedOn,
  381. partnerServiceKey,
  382. logDate
  383. )
  384. VALUES (
  385. @processId,
  386. @virtualAccountNo,
  387. @trxAmt,
  388. CONVERT(VARCHAR(19), GETDATE(), 120),
  389. 'WSB',
  390. GETDATE()
  391. )
  392. /*Customer block logic after deposit 1000000 mil krw*/
  393. DECLARE @todayTotalAmt NUMERIC(15)
  394. SELECT @todayTotalAmt=ISNULL(sum(amount),0) FROM TblVirtualBankDepositDetail(NOLOCK)
  395. WHERE virtualaccountno=@virtualAccountNo AND receivedOn BETWEEN CAST(GETDATE() AS DATE)
  396. AND GETDATE() and partnerServiceKey='WSB' GROUP BY virtualaccountno
  397. print @todayTotalAmt
  398. /*new table insert logic here */
  399. IF @todayTotalAmt >1000000
  400. BEGIN
  401. INSERT INTO CUSTOMER_BLOCK_LIST
  402. (
  403. customerId, reason, isBlock, blockedDate, blockedBy
  404. )
  405. SELECT @customerId,'01', 'Y', Getdate(), 'system'
  406. END
  407. COMMIT TRAN
  408. SELECT '0' ErrorCode,
  409. 'Record has been added successfully.' Msg,
  410. @rowId id
  411. END
  412. IF @flag = 'ulog'
  413. BEGIN
  414. BEGIN TRANSACTION
  415. SELECT TOP 1 @processId = processid
  416. FROM wsb_deposit_notice(nolock)
  417. WHERE rowid = @rowId
  418. UPDATE wsb_deposit_notice
  419. SET responsedata = @responseData,
  420. responsedate = Getdate(),
  421. datalen = Isnull(@dataLen, datalen),
  422. orgtid = Isnull(@orgtId, orgtid),
  423. srvcds = Isnull(@srvcDs, srvcds),
  424. trxtypecd = Isnull(@trxTypeCd, trxtypecd),
  425. rspscd = Isnull(@rspsCd, rspscd),
  426. tlgseqno = Isnull(@tlgSeqNo, tlgseqno),
  427. tlgsendhur = Isnull(@tlgSendHur, tlgsendhur),
  428. filler = Isnull(@filler, filler),
  429. virtualaccountno = Isnull(@virtualAccountNo, virtualaccountno
  430. ),
  431. maccno = Isnull(@maccNo, maccno),
  432. trxdt = Isnull(@trxDt, trxdt),
  433. trxtime = Isnull(@trxTime, trxtime),
  434. trxamt = Isnull(@trxAmt, trxamt),
  435. bankcd = Isnull(@bankCd, bankcd),
  436. bankbrancd = Isnull(@bankBranCd, bankbrancd),
  437. vtulacctrnfcustnm = Isnull(@vtulAccTrnfCustNm,
  438. vtulacctrnfcustnm),
  439. trxseqno = Isnull(@trxSeqNo, trxseqno),
  440. cnclyn = Isnull(@cnclYn, cnclyn),
  441. vtulacctrnfaccno = Isnull(@vtulAccTrnfAccNo, vtulacctrnfaccno
  442. ),
  443. filler1 = Isnull(@filler1, filler1)
  444. WHERE rowid = @rowId
  445. COMMIT TRANSACTION
  446. SELECT 0 AS code,
  447. 'Record saved successfully' message,
  448. @processId id
  449. END
  450. IF @Flag = 'details'
  451. BEGIN
  452. --DECLARE @NewValue VARCHAR(10)
  453. --SET @NewValue= NEXT VALUE FOR dbo.WSB_SEQUENCE
  454. --SET @tlgSeqNo=(SELECT CONVERT(VARCHAR(6), GETDATE(), 12)) +@NewValue
  455. SELECT datalen,
  456. orgtid,
  457. srvcds,
  458. '0210' AS trxTypeCd,
  459. Isnull(rspscd, '0000') AS rspsCd,
  460. tlgseqno,
  461. tlgsendhur,
  462. filler,
  463. virtualaccountno AS vtulAccNo,
  464. maccno,
  465. trxdt,
  466. trxtime,
  467. trxamt,
  468. bankcd,
  469. bankbrancd,
  470. vtulacctrnfcustnm,
  471. trxseqno,
  472. Isnull(cnclyn, 'N'),
  473. vtulacctrnfaccno,
  474. filler1,
  475. customerid,
  476. processid
  477. FROM wsb_deposit_notice (nolock)
  478. WHERE rowid = @rowId
  479. RETURN
  480. END
  481. END try
  482. BEGIN catch
  483. IF @@TRANCOUNT > 0
  484. ROLLBACK TRANSACTION
  485. DECLARE @errorMessage VARCHAR(max)
  486. SET @errorMessage = Error_message()
  487. EXEC Proc_errorhandler
  488. 1,
  489. @errorMessage,
  490. NULL
  491. END catch