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.

215 lines
14 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_OMRemitGate_GetUnpaidList] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE proc [dbo].[proc_OMRemitGate_GetUnpaidList]
  9. @flag char(1),
  10. @user varchar(50)=NULL,
  11. @fromDate varchar(50)=NULL,
  12. @toDate varchar(50)=NULL,
  13. @session_id varchar(200)=NULL
  14. AS
  15. SET NOCOUNT ON;
  16. SET XACT_ABORT ON;
  17. IF @fromDate is null
  18. begin
  19. SET @fromDate = CONVERT(varchar(20), getdate(), 101)
  20. SET @toDate = CONVERT(varchar(20), getdate(), 101) +' 23:59'
  21. end
  22. DECLARE @table_name VARCHAR(200),@sql VARCHAR(max)
  23. SET @table_name = '[10.20.30.42].RemittanceDBIntregration.dbo.REMIT_TRN_MASTER_IRH'
  24. IF @flag='s'
  25. BEGIN
  26. SELECT [TRN_REF_NO], dbo.decryptDb([TRN_REF_NO2]) [TRN_REF_NO2],[SENDER_NAME]+ '-' + isnull(TXN_STATUS,'') [SENDER_NAME],[RECEIVER_NAME],[TRN_DATE],[P_AMT],[DOWNLODED_TS]
  27. FROM sambaRemitGateData with(nolock) WHERE APPROVED_TS is NULL
  28. END
  29. IF @flag='j' --- RUN FROM JOB
  30. BEGIN
  31. Exec [proc_OMRemitGate_GetUnpaidList] @flag='i', @user='system'
  32. Exec [proc_OMRemitGate_GetUnpaidList] @flag='a', @user='system'
  33. END
  34. IF @flag='i' --- insert in temporary table.... iremit_process.OMRemitGate_tempSave
  35. BEGIN
  36. DECLARE @count VARCHAR(20)
  37. delete from sambaRemitGateData
  38. SET @sql='
  39. INSERT INTO sambaRemitGateData(
  40. [TRN_REF_NO],[TRN_REF_NO2],[SENDER_NAME],[SENDER_COUNTRY],[SENDER_ADDRESS],[SENDER_ADDRESS2],
  41. [SENDER_PH],[SENDER_EMAIL],[SENDER_CARD_NO],[RECEIVER_NAME],[RECEIVER_COUNTRY],[RECEIVER_ADDRESS],
  42. [RECEIVER_ADDRESS2],[RECEIVER_PH],[RECEIVER_EMAIL],[RECEIVER_CARD_NO],[S_AGENT],[S_BRANCH],[S_CURR],[S_AMT],
  43. [P_AGENT],[P_BRANCH],[P_CURR],[P_AMT],[SC_TOTAL],[SC_HO],[SC_S_AGENT],[SC_P_AGENT],[SC_OTHER],[COLLECTED_AMT],
  44. [USD_AMT],[EX_LC],[EX_USD],[EX_FLC],[TRN_TYPE],[TRN_STATUS],[PAY_STATUS],[TRN_DATE],[PAID_DATE],[CANCEL_DATE],
  45. [SETTLEMENT_RATE],[TRN_MODE],[TH_TRANNO],[GAIN_LOSS],[RAN],[DOWNLODED_TS])
  46. SELECT
  47. [TRN_REF_NO],[TRN_REF_NO2],[SENDER_NAME],[SENDER_COUNTRY],[SENDER_ADDRESS],[SENDER_ADDRESS2],
  48. [SENDER_PH],[SENDER_EMAIL],[SENDER_CARD_NO],[RECEIVER_NAME],[RECEIVER_COUNTRY],[RECEIVER_ADDRESS],
  49. [RECEIVER_ADDRESS2],[RECEIVER_PH],[RECEIVER_EMAIL],[RECEIVER_CARD_NO],[S_AGENT],[S_BRANCH],[S_CURR],[S_AMT],
  50. [P_AGENT],[P_BRANCH],[P_CURR],[P_AMT],[SC_TOTAL],[SC_HO],[SC_S_AGENT],[SC_P_AGENT],[SC_OTHER],[COLLECTED_AMT],
  51. [USD_AMT],[EX_LC],[EX_USD],[EX_FLC],[TRN_TYPE],[TRN_STATUS],[PAY_STATUS],[TRN_DATE],[PAID_DATE],[CANCEL_DATE],
  52. [SETTLEMENT_RATE],[TRN_MODE],[TH_TRANNO],[GAIN_LOSS],[RAN],getdate()
  53. from '+@table_name+' where len(TRN_REF_NO2)=8
  54. AND TRN_DATE between '''+ @fromDate +''' AND '''+ @toDate +''' '
  55. EXEC(@sql)
  56. SET @count = @@ROWCOUNT
  57. UPDATE sambaRemitGateData SET TRN_REF_NO2 = dbo.encryptDB(TRN_REF_NO2)
  58. UPDATE S
  59. SET TXN_STATUS='<font color="red">Duplicate</font>'
  60. FROM sambaRemitGateData S with(nolock) , remitTran R with(nolock)
  61. WHERE S.TRN_REF_NO2 = R.controlNo
  62. If @count = 0
  63. BEGIN
  64. SELECT '1' errorCode, 'No Data Found For Import!' msg, NUll id
  65. RETURN;
  66. END
  67. ELSE
  68. BEGIN
  69. SELECT '0' errorCode, @count+'Row(s) Successfully Imported ' msg, NUll id
  70. RETURN
  71. END
  72. END
  73. ELSE IF @flag = 'a'
  74. BEGIN
  75. DECLARE @sAgent varchar(20), @sAgentName varchar(200),
  76. @sBranch varchar(20), @sBranchName varchar(200), @today_time varchar(20)
  77. ,@scharge varchar(20),@digi_info varchar(20), @tranId int
  78. SET @sAgent='4876'
  79. SET @sAgentName='Samba Online'
  80. SET @sBranch='4877'
  81. SET @sBranchName='Samba Online - Riyadh online'
  82. SET @today_time = GETDATE()
  83. SET @digi_info = 'IMP'
  84. SET @scharge ='0'
  85. SELECT * into #tbl_integration_swift FROM sambaRemitGateData with(nolock)
  86. WHERE APPROVED_TS is NULL
  87. DELETE T
  88. FROM #tbl_integration_swift T, dbo.remitTran S with(nolock)
  89. WHERE S.controlNo = T.TRN_REF_NO2
  90. SET @count = (SELECT COUNT(*) FROM #tbl_integration_swift)
  91. If @count = 0
  92. BEGIN
  93. SELECT '1' errorCode, ' No Data Found !' msg, NUll id
  94. RETURN;
  95. END
  96. BEGIN TRANSACTION
  97. INSERT INTO remitTran(controlNo, sAgent, sAgentName, sBranch, sBranchName, senderName,
  98. sCountry, receiverName,pCountry,
  99. createdDate, createdDateLocal, createdBy, approvedBy, approvedDate, approvedDateLocal,
  100. cAmt, tAmt, pAmt,payoutCurr,customerRate,sAgentSettRate,agentCrossSettRate,
  101. collCurr, collMode, paymentMethod,tranStatus, payStatus,serviceCharge,sAgentComm,
  102. tranType,sCurrCostRate,pCurrCostRate, sCurrHoMargin, sCurrAgentMargin)
  103. SELECT TRN_REF_NO2 controlNo,@sAgent sAgent, @sAgentName sAgentName,@sBranch sBranch
  104. ,@sBranchName sBranchName,SENDER_NAME senderName,
  105. 'Saudi Arabia' sCountry, RECEIVER_NAME receiverName,'Nepal' pCountry,
  106. TRN_DATE,TRN_DATE ,@user createdBy,@user approvedBy,TRN_DATE,TRN_DATE,
  107. USD_AMT cAmt, USD_AMT tAmt, P_AMT pAmt,'NPR' payoutCurr,cast(P_AMT/USD_AMT AS MONEY)customerRate,1 sAgentSettRate,cast(P_AMT/USD_AMT AS MONEY) agentCrossSettRate,
  108. 'USD' collCurr,'Cash Pay' collMode,'Cash Payment' paymentMethod,
  109. 'Payment' tranStatus,'Unpaid' payStatus,isNULL(@scharge,0) serviceCharge,'0' sAgentComm,'i'
  110. ,1,cast(P_AMT/USD_AMT AS MONEY), 0, 0
  111. FROM #tbl_integration_swift
  112. WHERE APPROVED_TS is NULL
  113. INSERT INTO tranSenders(
  114. tranId
  115. ,firstName
  116. ,middleName
  117. ,lastName1
  118. ,lastName2
  119. ,fullName
  120. ,[address]
  121. ,nativeCountry
  122. ,dcInfo
  123. ,membershipId
  124. )
  125. SELECT rt.id
  126. ,(SELECT firstName FROM dbo.FNASplitName(actrn.SENDER_NAME)) firstName
  127. ,(SELECT middleName FROM dbo.FNASplitName(actrn.SENDER_NAME)) middleName
  128. ,(SELECT lastName1 FROM dbo.FNASplitName(actrn.SENDER_NAME)) lastName1
  129. ,(SELECT lastName2 FROM dbo.FNASplitName(actrn.SENDER_NAME)) lastName2
  130. ,SENDER_NAME fullName
  131. ,'Riyad'
  132. ,'Nepal'
  133. ,@digi_info
  134. ,isNull(RAN,'')
  135. FROM #tbl_integration_swift actrn
  136. INNER JOIN remitTran rt WITH(NOLOCK) ON actrn.TRN_REF_NO2 = rt.controlNo
  137. INSERT INTO tranReceivers(
  138. tranId
  139. ,firstName
  140. ,middleName
  141. ,lastName1
  142. ,lastName2
  143. ,fullName
  144. ,address
  145. ,dcInfo
  146. )
  147. SELECT rt.id
  148. ,(SELECT firstName FROM dbo.FNASplitName(actrn.RECEIVER_NAME)) firstName
  149. ,(SELECT middleName FROM dbo.FNASplitName(actrn.RECEIVER_NAME)) middleName
  150. ,(SELECT lastName1 FROM dbo.FNASplitName(actrn.RECEIVER_NAME)) lastName1
  151. ,(SELECT lastName2 FROM dbo.FNASplitName(actrn.RECEIVER_NAME)) lastName2
  152. ,RECEIVER_NAME fullName
  153. ,isNULL(RECEIVER_ADDRESS,'')+' '+isNULL(RECEIVER_ADDRESS2,'')
  154. ,@digi_info
  155. FROM #tbl_integration_swift actrn
  156. INNER JOIN remitTran rt WITH(NOLOCK) ON actrn.TRN_REF_NO2 = rt.controlNo
  157. DELETE S
  158. FROM sambaRemitGateData S, #tbl_integration_swift T
  159. WHERE S.TRN_REF_NO = T.TRN_REF_NO2
  160. INSERT INTO PinQueueList(ICN)
  161. SELECT TRN_REF_NO2 FROM #tbl_integration_swift
  162. DELETE S
  163. FROM sambaRemitGateData S, remitTran R with(nolock)
  164. WHERE S.TRN_REF_NO2 = R.controlNo
  165. COMMIT TRANSACTION
  166. SELECT '0' errorCode, @count+' Row(s) Successfully Approved ' msg, NUll id
  167. RETURN;
  168. END
  169. GO