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.

250 lines
7.8 KiB

1 year ago
  1. USE FastMoneyPro_Remit
  2. GO
  3. ALTER PROC proc_SendTransactionOnBehalf (
  4. @flag VARCHAR(20)
  5. ,@searchData VARCHAR(50) = NULL
  6. ,@searchValue VARCHAR(50) = NULL
  7. ,@countryId VARCHAR(10) = NULL
  8. ,@reciverID VARCHAR(20) = NULL
  9. ,@CustomerID VARCHAR(20) = NULL
  10. ,@locationId VARCHAR(10) = NULL
  11. ,@tranid BIGINT = NULL
  12. )
  13. AS
  14. SET NOCOUNT ON
  15. IF @flag = 's'
  16. BEGIN
  17. DECLARE @availableBalance MONEY
  18. IF @searchData NOT IN ('Email','Id Numbert')
  19. BEGIN
  20. SELECT errorCode = 1, msg = 'Enter search value'
  21. RETURN
  22. END
  23. /*Check Easy remit customer block or not*/
  24. DECLARE @custId VARCHAR(20)
  25. SELECT TOP 1 @custId=customerId from customerMaster(nolock) where email=@searchValue and customerType='11068' ---change customer type in live
  26. IF EXISTS (SELECT 'X' FROM CUSTOMER_BLOCK_LIST(nolock) where customerid=@custId and isBlock='Y')
  27. BEGIN
  28. EXEC proc_errorHandler 1,'You account is blocked.Please contact GME Support!' ,null
  29. RETURN;
  30. END
  31. IF @searchData = 'email'
  32. BEGIN
  33. SELECT @availableBalance = ISNULL(cm.availablebalance,0)
  34. FROM customermaster cm (NOLOCK)
  35. WHERE cm.email = @searchValue AND CM.approvedDate IS NOT NULL AND isActive = 'Y'
  36. IF @availableBalance IS NULL
  37. BEGIN
  38. SELECT errorCode=1 ,msg='Customer is not approved/exists in system.'
  39. RETURN
  40. END
  41. IF @availableBalance = 0
  42. BEGIN
  43. SELECT errorCode=1 ,msg='You do not have sufficient balance'
  44. RETURN
  45. END
  46. UPDATE customermaster SET sourceOfFund='Salary / Wages' WHERE sourceOfFund IS NULL AND email = @searchValue
  47. SELECT
  48. customerid,errorCode=0,
  49. fullName = ISNULL(cm.firstname,'')
  50. , valueId = idType
  51. , idName = sd.detailTitle
  52. , svalidDate = idExpiryDate
  53. , smobile = cm.mobile
  54. , senderAddress = cm.[address]
  55. , nativecountryid = cm.nativecountry
  56. , nativecountry = ctm.countryName
  57. , semail = cm.email
  58. , sCity = Cm.city
  59. , IdIssuedDate = cm.idissuedate
  60. , availablebalance = ISNULL(cm.availablebalance,0)
  61. , sourceOfFund = cm.sourceOfFund
  62. , sourceOfFundid = sof.valueId
  63. , cm.walletAccountNo
  64. , SenderIdNo = cm.idNumber
  65. , SenderBirthDate = cm.dob
  66. FROM customermaster cm (nolocK)
  67. INNER JOIN staticDataValue sd (NOLOCK) ON sd.valueId = cm.idType AND sd.typeID=1300 AND ISNULL(sd.IS_DELETE ,'N')<>'Y'
  68. INNER JOIN countrymaster ctm (nolocK) ON ctm.countryid=cm.nativecountry
  69. LEFT JOIN dbo.staticDataValue sof (NOLOCK) ON sof.detailTitle = cm.sourceOfFund AND sof.typeID = 3900 AND ISNULL(sof.IS_DELETE ,'N')<>'Y'
  70. WHERE cm.email = @searchValue AND cm.isActive = 'Y'
  71. END
  72. ELSE
  73. BEGIN
  74. SELECT @availableBalance = ISNULL(cm.availablebalance,0)
  75. FROM customermaster cm (NOLOCK)
  76. WHERE cm.idNumber = @searchValue AND CM.approvedDate IS NOT NULL AND isActive = 'Y'
  77. IF @availableBalance IS NULL
  78. BEGIN
  79. SELECT errorCode=1 ,msg='Customer is not approved/exists in system.'
  80. RETURN
  81. END
  82. IF @availableBalance = 0
  83. BEGIN
  84. SELECT errorCode=1 ,msg='You do not have sufficient balance'
  85. RETURN
  86. END
  87. SELECT
  88. customerid,errorCode=0,
  89. fullName = ISNULL(cm.firstname,'')
  90. , valueId = idType
  91. , idName = sd.detailTitle
  92. , svalidDate = idExpiryDate
  93. , smobile = cm.mobile
  94. , senderAddress = cm.[address]
  95. , nativecountryid = cm.nativecountry
  96. , nativecountry = ctm.countryName
  97. , semail = cm.email
  98. , sCity = Cm.city
  99. , IdIssuedDate = cm.idissuedate
  100. , availablebalance = ISNULL(cm.availablebalance,0)
  101. , sourceOfFund = cm.sourceOfFund
  102. , sourceOfFundid = sof.valueId
  103. , cm.walletAccountNo
  104. , SenderIdNo = cm.idNumber
  105. , SenderBirthDate = cm.dob
  106. FROM customermaster cm (nolocK)
  107. INNER JOIN staticDataValue sd (NOLOCK) ON sd.valueId = cm.idType AND sd.typeID=1300 AND ISNULL(sd.IS_DELETE ,'N')<>'Y'
  108. INNER JOIN countrymaster ctm (nolocK) ON ctm.countryid=cm.nativecountry
  109. LEFT JOIN dbo.staticDataValue sof (NOLOCK) ON sof.detailTitle = cm.sourceOfFund AND sof.typeID = 3900 AND ISNULL(sof.IS_DELETE ,'N')<>'Y'
  110. WHERE cm.idNumber = @searchValue AND cm.isActive = 'Y'
  111. END
  112. END
  113. ELSE IF @flag = 'ddlReceiver'
  114. BEGIN
  115. SELECT [Key]=receiverId , Value= firstName + ' '+ ISNULL(middleName,'') + ' '+ ISNULL(lastName1,'') +''+ ISNULL(lastName2,' ')
  116. FROM receiverInformation (nolocK)
  117. WHERE customerId = @CustomerID AND isActive = 1
  118. END
  119. ELSE IF @flag = 'state'
  120. BEGIN
  121. IF @countryId = '151'
  122. BEGIN
  123. SELECT [Key] = Replace(stateName,char(9),'')
  124. , [Value] = Replace(stateName,CHAR(9),'')
  125. FROM dbo.countriesStates rcs WITH(NOLOCK)
  126. INNER JOIN dbo.countryMaster cm WITH(NOLOCK) ON cm.countryCode = rcs.countryCode
  127. WHERE countryId = @countryId
  128. ORDER BY stateName ASC
  129. END
  130. ELSE
  131. BEGIN
  132. IF NOT EXISTS(SELECT 'A' FROM tblServicewiseLocation (NOLOCK) WHERE countryId = @countryId)
  133. BEGIN
  134. SELECT [Value] = 'Any State', [Key] = '0'
  135. RETURN
  136. END
  137. SELECT [Value] = location
  138. ,[Key] = rowId
  139. FROM tblServicewiseLocation (NOLOCK)
  140. WHERE countryId = @countryId
  141. AND isActive = 1
  142. END
  143. END
  144. ELSE IF @flag = 'substate'
  145. BEGIN
  146. IF @countryId = '151'
  147. BEGIN
  148. SELECT [Key] = REPLACE(stateName,char(9),'')
  149. , [Value] = REPLACE(stateName,CHAR(9),'')
  150. FROM dbo.countriesStates rcs WITH(NOLOCK)
  151. INNER JOIN countryMaster CM (NOLOCK) ON CM.countryName = rcs.countryName
  152. WHERE CM.countryId = @countryId
  153. RETURN
  154. END
  155. ELSE
  156. BEGIN
  157. DECLARE @payoutPartner VARCHAR(20)
  158. SELECT @payoutPartner = partnerId FROM tblServicewiseLocation (NOLOCK) WHERE ROWID = @locationId
  159. --TRANGLO SDN. BHD. and country Indonesia have direct sub location defined
  160. IF @payoutPartner = '224388' AND @countryId = '105'
  161. BEGIN
  162. SELECT [Key] = rowId, [Value] = subLocation
  163. FROM tblSubLocation (NOLOCK)
  164. WHERE locationId = 0
  165. AND isActive = 1
  166. AND partnerId = @payoutPartner
  167. ORDER BY subLocation ASC
  168. RETURN
  169. END
  170. IF @payoutPartner = '393901' AND @countryId = '36' -- For truemoney
  171. BEGIN
  172. SELECT [Key] = rowId, [Value] = subLocation
  173. FROM tblSubLocation (NOLOCK)
  174. WHERE locationId = 0
  175. AND isActive = 1
  176. AND partnerId = @payoutPartner
  177. ORDER BY subLocation ASC
  178. RETURN
  179. END
  180. IF NOT EXISTS(SELECT 'A' FROM tblSubLocation (NOLOCK) WHERE locationId = @locationId AND partnerId<>'392577')
  181. BEGIN
  182. SELECT [Value] = 'Any location',[Key] = '0'
  183. RETURN
  184. END
  185. SELECT [Key] = rowId, [Value] = subLocation
  186. FROM tblSubLocation (NOLOCK)
  187. WHERE locationId = @locationId
  188. AND isActive = 1 AND partnerId<>'392577'
  189. ORDER BY subLocation ASC
  190. RETURN
  191. END
  192. RETURN
  193. END
  194. ELSE IF @flag='r'
  195. BEGIN
  196. IF @reciverID IS NULL
  197. BEGIN
  198. SELECT errorCode=1, msg='Select Receiver Value'
  199. RETURN
  200. END
  201. SELECT errorCode=0
  202. , ri.firstName
  203. , ri.middleName
  204. , ISNULL(lastName1,' ') + ISNULL(lastName2,' ') AS lastName
  205. , ri.city
  206. , ri.[address]
  207. , mobile
  208. , cm.countryId
  209. , cm.countryName
  210. , receiverId
  211. , relationship
  212. , Relationid =sd.valueid
  213. , [state]= ISNULL([state] ,'Any State')
  214. , StateId = CASE WHEN RI.COUNTRY = 'NEPAL' THEN cs.rowId ELSE TL.rowId END
  215. , locationid=partnersublocationid
  216. , district
  217. , purposeOfRemit
  218. , purposeOfRemitid =por.valueId
  219. FROM receiverInformation ri (nolocK)
  220. LEFT JOIN countriesStates cs (NOLOCK) ON cs.stateName = ri.state
  221. LEFT JOIN tblServicewiseLocation TL (NOLOCK) ON TL.location = ri.state
  222. LEFT JOIN tblSubLocation TS(NOLOCK) ON TS.subLocation = ri.district
  223. LEFT JOIN staticDataValue sd (NOLOCK) ON sd.detailTitle = ri.relationship AND sd.typeid= 2100 AND ISNULL(sd.IS_DELETE ,'N')<>'Y'
  224. LEFT JOIN staticDataValue por (NOLOCK) ON por.detailTitle=ri.purposeOfRemit AND por.typeid= 3800 AND ISNULL(por.IS_DELETE ,'N')<>'Y'
  225. lEFT JOIN countryMaster cm(NOLOCK) ON cm.countryName = ri.country
  226. WHERE ri.receiverId=@reciverID
  227. RETURN
  228. END
  229. ELSE IF @flag ='controlno'
  230. BEGIN
  231. SELECT dbo.FNADecryptString(controlNo) AS controlNo FROM vwRemitTran(NOLOCK) WHERE holdTranId = @tranid OR id = @tranid
  232. RETURN
  233. END