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.

349 lines
28 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_MOBILE_RECEIVER_INFORMATION] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. --ALTER TABLE receiverInformation add nativeCountry VARCHAR(100) NULL
  9. --EXEC PROC_MOBILE_RECEIVER_INFORMATION @flag = 'receiver-info', @customerId =48604
  10. ALTER PROCEDURE PROC_MOBILE_RECEIVER_INFORMATION(
  11. @flag VARCHAR(100) = NULL
  12. ,@customerId VARCHAR(100) = NULL
  13. ,@receiverId VARCHAR(100) = NULL
  14. ,@firstName VARCHAR(100) = NULL
  15. ,@middleName VARCHAR(100) = NULL
  16. ,@lastName1 VARCHAR(100) = NULL
  17. ,@lastName2 VARCHAR(100) = NULL
  18. ,@country VARCHAR(100) = NULL
  19. ,@countryId VARCHAR(100) = NULL
  20. ,@nativeCountry VARCHAR(100) = NULL
  21. ,@address VARCHAR(100) = NULL
  22. ,@state VARCHAR(100) = NULL
  23. ,@stateId VARCHAR(100) = NULL
  24. ,@zipCode VARCHAR(100) = NULL
  25. ,@city VARCHAR(100) = NULL
  26. ,@email VARCHAR(100) = NULL
  27. ,@homePhone VARCHAR(100) = NULL
  28. ,@workPhone VARCHAR(100) = NULL
  29. ,@mobile VARCHAR(100) = NULL
  30. ,@relationship VARCHAR(100) = NULL
  31. ,@relationshipId VARCHAR(100) = NULL
  32. ,@district VARCHAR(100) = NULL
  33. ,@districtId VARCHAR(100) = NULL
  34. ,@purposeOfRemit VARCHAR(100) = NULL
  35. ,@fullName VARCHAR(100) = NULL
  36. ,@idType VARCHAR(100) = NULL
  37. ,@idNumber VARCHAR(100) = NULL
  38. ,@bank VARCHAR(100) = NULL
  39. ,@branch VARCHAR(100) = NULL
  40. ,@accountNo VARCHAR(100) = NULL
  41. ,@localFirstName NVARCHAR(100) = NULL
  42. ,@localMiddleName NVARCHAR(100) = NULL
  43. ,@localLastName1 NVARCHAR(100) = NULL
  44. ,@localLastName2 NVARCHAR(100) = NULL
  45. ,@paymentMethodId VARCHAR(100) = NULL
  46. )AS
  47. BEGIN
  48. IF @flag = 'receiver-info'
  49. BEGIN
  50. SELECT
  51. receiverId = ri.receiverId,
  52. fullName = CASE WHEN ri.firstName + ISNULL(' '+ ri.middleName,'') + ISNULL(' '+ ri.lastName1,'') IS NOT NULL THEN ri.firstName + ISNULL(' '+ ri.middleName,'') + ISNULL(' '+ ri.lastName1,'') ELSE ri.localFirstName + ISNULL(' '+ ri.localMiddleName,'') + ISNULL(' '+ ri.localLastName1,'') END,
  53. ri.firstName,
  54. ri.middleName ,
  55. lastName1 = LTRIM(RTRIM(ISNULL(' '+ ri.lastName1,'')+ISNULL(' ' + ri.lastName2,''))),
  56. lastName2 ='',
  57. [localizedName] = ri.localFirstName + ISNULL(' '+ ri.localMiddleName,'') + ISNULL(' '+ ri.localLastName1,''),
  58. [paymentMethodId] = ri.paymentMode,
  59. [paymentMethodName] = stm.typeTitle,
  60. [bankId] = ri.payOutPartner,
  61. [bankName] = amb.BANK_NAME,
  62. [bankLocalizedName] = amb.BANK_NAME,
  63. [branchId] = ri.bankLocation,
  64. [branchName] = abbb.BRANCH_NAME,
  65. [branchLocalizedName] = abbb.BRANCH_NAME,
  66. [accountNo] = ri.receiverAccountNo,
  67. ri.membershipId,
  68. ri.country,
  69. ri.address,
  70. state = ri.state,
  71. stateId = ri.state,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblServicewiseLocation(NOLOCK) AS TSL WHERE TSL.location = ri.state),
  72. district = ri.district,
  73. districtId = ri.district,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblSubLocation(NOLOCK) AS TSL WHERE TSL.subLocation = ri.district),
  74. ri.zipCode,
  75. ri.city,
  76. ri.email,
  77. ri.mobile,
  78. relationship = RELN.DETAILTITLE,
  79. relationshipId = ri.relationship,
  80. purposeOfRemitId = ri.purposeOfRemit,
  81. purposeOfRemit = ri.purposeOfRemit,
  82. idType = ri.idType,
  83. idTypeId = ri.idType,
  84. ri.idNumber,
  85. ri.localFirstName,
  86. ri.localMiddleName,
  87. ri.localLastName1,
  88. ri.localLastName2,
  89. countryId = cm.countryId,
  90. countryCode = cm.countryCode,
  91. bankCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,ri.bank),
  92. paymentMethodCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,ri.bank),
  93. payoutPartner = payoutPartner.payOutPartner,--dbo.GetActivePayoutPartner(cm.countryId,ri.paymentMode,ri.bank),
  94. nativeCountry = ncm.countryName,
  95. nativeCountryCode = ncm.countryCode,
  96. nativeCountryId = ncm.countryId,
  97. isOTPVerified = ISNULL(ri.isOTPVerified, 0)
  98. FROM dbo.receiverInformation(nolock) ri
  99. LEFT JOIN dbo.countryMaster(nolock) cm ON ri.country = cm.countryName
  100. LEFT JOIN STATICDATAVALUE RELN(NOLOCK) ON RELN.VALUEID = CASE WHEN ISNUMERIC(RI.RELATIONSHIP) = 1 THEN RI.RELATIONSHIP ELSE 0 END
  101. LEFT JOIN (
  102. SELECT PAYOUTPARTNER = TP.AGENTID, TP.CountryId, TP.PaymentMethod
  103. FROM TblPartnerwiseCountry TP(NOLOCK)
  104. INNER JOIN AGENTMASTER AM(NOLOCK) ON AM.AGENTID = TP.AGENTID
  105. WHERE ISNULL(TP.IsActive, 1) = 1
  106. AND ISNULL(AM.ISACTIVE, 'Y') = 'Y'
  107. AND ISNULL(AM.ISDELETED, 'N') = 'N'
  108. AND ISNULL(TP.IsMobileEnabled, 0) = 1
  109. ) payoutPartner ON payoutPartner.CountryId = cm.countryid AND ISNULL(payoutPartner.PaymentMethod, ri.paymentMode) = ri.paymentMode
  110. LEFT JOIN dbo.countryMaster(nolock) ncm ON ri.nativeCountry = ncm.countryId
  111. LEFT JOIN dbo.serviceTypeMaster(nolock) stm ON stm.serviceTypeId = ri.paymentMode
  112. LEFT JOIN dbo.API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.MASTER_BANK_ID = RI.payOutPartner
  113. LEFT JOIN dbo.API_BANK_LIST(nolock) amb ON amb.JME_BANK_CODE = ABM.JME_BANK_CODE
  114. LEFT JOIN dbo.API_BANK_BRANCH_LIST(nolock) abbb ON abbb.BRANCH_ID = ri.bankLocation
  115. WHERE ri.customerId = @customerId --AND ISNULL(ri.isActive,'0') = '1'
  116. END
  117. IF @flag = 'get'
  118. BEGIN
  119. SELECT
  120. receiverId = ri.receiverId,
  121. fullName = CASE WHEN ri.firstName + ISNULL(' '+ ri.middleName,'') + ISNULL(' '+ ri.lastName1,'') IS NOT NULL THEN ri.firstName + ISNULL(' '+ ri.middleName,'') + ISNULL(' '+ ri.lastName1,'') ELSE ri.localFirstName + ISNULL(' '+ ri.localMiddleName,'') + ISNULL(' '+ ri.localLastName1,'') END,
  122. ri.firstName,
  123. ri.middleName ,
  124. lastName1 = LTRIM(RTRIM(ISNULL(' '+ ri.lastName1,'')+ISNULL(' ' + ri.lastName2,''))),
  125. lastName2 ='',
  126. [localizedName] = ri.localFirstName + ISNULL(' '+ ri.localMiddleName,'') + ISNULL(' '+ ri.localLastName1,''),
  127. [paymentMethodId] = ri.paymentMode,
  128. [paymentMethodName] = stm.typeTitle,
  129. [bankId] = ri.payOutPartner,
  130. [bankName] = amb.BANK_NAME,
  131. [bankLocalizedName] = amb.BANK_NAME,
  132. [branchId] = ri.bankLocation,
  133. [branchName] = abbb.BRANCH_NAME,
  134. [branchLocalizedName] = abbb.BRANCH_NAME,
  135. [accountNo] = ri.receiverAccountNo,
  136. ri.membershipId,
  137. ri.country,
  138. ri.address,
  139. state = ri.state,
  140. stateId = ri.state,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblServicewiseLocation(NOLOCK) AS TSL WHERE TSL.location = ri.state),
  141. district = ri.district,
  142. districtId = ri.district,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblSubLocation(NOLOCK) AS TSL WHERE TSL.subLocation = ri.district),
  143. ri.zipCode,
  144. ri.city,
  145. ri.email,
  146. ri.mobile,
  147. relationship = ri.relationship,
  148. relationshipId = ri.relationship,
  149. purposeOfRemitId = ri.purposeOfRemit,
  150. purposeOfRemit = ri.purposeOfRemit,
  151. idType = ri.idType,
  152. idTypeId = ri.idType,
  153. ri.idNumber,
  154. ri.localFirstName,
  155. ri.localMiddleName,
  156. ri.localLastName1,
  157. ri.localLastName2,
  158. countryId = cm.countryId,
  159. countryCode = cm.countryCode,
  160. bankCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,ri.bank),
  161. paymentMethodCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,null),
  162. payoutPartner = payOutPartner,--dbo.GetActivePayoutPartner(cm.countryId,ri.paymentMode,ri.bank),
  163. nativeCountry = ncm.countryName,
  164. nativeCountryCode = ncm.countryCode,
  165. nativeCountryId = ncm.countryId,
  166. isOTPVerified = ISNULL(ri.isOTPVerified, 0)
  167. FROM dbo.receiverInformation(nolock) ri
  168. INNER JOIN dbo.countryMaster(nolock) cm ON ri.country = cm.countryName
  169. LEFT JOIN dbo.countryMaster(nolock) ncm ON ri.nativeCountry = ncm.countryId
  170. LEFT JOIN dbo.serviceTypeMaster(nolock) stm ON stm.serviceTypeId = ri.paymentMode
  171. LEFT JOIN dbo.API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.MASTER_BANK_ID = RI.payOutPartner
  172. LEFT JOIN dbo.API_BANK_LIST(nolock) amb ON amb.JME_BANK_CODE = ABM.JME_BANK_CODE
  173. LEFT JOIN dbo.API_BANK_BRANCH_LIST(nolock) abbb ON abbb.BRANCH_ID = ri.bankLocation
  174. --LEFT JOIN (SELECT * FROM dbo.staticDataValue(nolock) WHERE typeID = 3800) AS purpose ON ri.purposeOfRemit = relation.detailTitle
  175. WHERE ri.customerId = @customerId
  176. --AND ISNULL(ri.isActive,'0') = '1'
  177. AND ri.receiverId = @receiverId
  178. END
  179. IF @flag = 'add'
  180. BEGIN
  181. IF NOT EXISTS(SELECT 'X' FROM dbo.customerMaster(NOLOCK) WHERE customerId=@customerId)
  182. BEGIN
  183. SELECT '1' ErrorCode, 'Customer Details Not Found' Msg, @customerId Id
  184. RETURN
  185. END
  186. --IF EXISTS(SELECT 'x' FROM dbo.receiverInformation(NOLOCK) WHERE mobile=@mobile)
  187. --BEGIN
  188. -- SELECT '1' ErrorCode, 'Receiver Mobile No Already Register !' Msg, @mobile Id
  189. -- RETURN
  190. --END
  191. SELECT @countryId = countryId FROM dbo.countryMaster(NOLOCK) WHERE countryName = @nativeCountry
  192. --IF EXISTS(SELECT 'x' FROM receiverInformation(nolock) WHERE customerId = @customerId
  193. --AND ISNULL(bank,'-1') = ISNULL(@bank,'-1')
  194. --AND ISNULL(accountNo,'-1') = ISNULL(@accountNo,'-1')
  195. --AND ISNULL(paymentMode,'-1') = ISNULL(@paymentMethodId,'-1') AND
  196. --)
  197. --BEGIN
  198. -- SELECT '1' ErrorCode, 'Receiver already exists' Msg, NULL Id
  199. -- RETURN
  200. --END
  201. DECLARE @RELATION_ID INT = NULL
  202. SELECT @RELATION_ID = VALUEID
  203. FROM STATICDATAVALUE (NOLOCK)
  204. WHERE detailTitle = @relationship
  205. AND typeID=2100
  206. IF @RELATION_ID IS NULL AND ISNUMERIC(@relationship) = 1
  207. SET @RELATION_ID = @relationship
  208. IF ISNULL(@fullName,'') =''
  209. BEGIN
  210. SET @fullName=@firstName+ISNULL(' '+@middleName,'')+ISNULL(' '+@lastName1,'')+ISNULL(' '+@lastName2,'')
  211. END
  212. DECLARE @MASTER_BANK_ID BIGINT = 0
  213. --Insert master table bank id
  214. SELECT @MASTER_BANK_ID = ABM.MASTER_BANK_ID
  215. FROM API_BANK_LIST AB(NOLOCK)
  216. INNER JOIN API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.JME_BANK_CODE = AB.JME_BANK_CODE
  217. WHERE AB.BANK_ID = @bank
  218. --bank replaced by payOutPartner
  219. --branch replaced by bankLocation
  220. INSERT INTO dbo.receiverInformation
  221. (
  222. customerId,firstName,middleName,lastName1,lastName2,country,address,state,zipCode,city,email,homePhone,workPhone,mobile,relationship
  223. ,district,purposeOfRemit,isActive,fullName,idType,idNumber,payOutPartner,bankLocation,receiverAccountNo,localFirstName,localMiddleName,localLastName1,localLastName2
  224. ,paymentMode,nativeCountry,createdBy,createdDate,isCDDIUpdated,isVerified
  225. )
  226. SELECT
  227. @customerId,@firstName,@middleName,LTRIM(RTRIM(ISNULL(' '+ @lastName1,'')+ISNULL(' ' + @lastName2,''))),NULL,@country,@address,@state,@zipCode,@city,@email,@homePhone,@workPhone,@mobile,@RELATION_ID
  228. ,@district,@purposeOfRemit,1,@fullName,@idType,@idNumber,@MASTER_BANK_ID,@branch,@accountNo,@localFirstName,@localMiddleName,@localLastName1,@localLastName2
  229. ,@paymentMethodId,@countryId, @customerId, GETDATE(),1,1
  230. SET @receiverId = @@IDENTITY
  231. SELECT '0' ErrorCode, 'Receiver saved successfully' Msg, ISNULL(@receiverId,'-1') Id
  232. RETURN
  233. END
  234. IF @flag = 'modify'
  235. BEGIN
  236. SELECT @countryId = countryId FROM dbo.countryMaster(NOLOCK) WHERE countryName = @nativeCountry
  237. IF NOT EXISTS(SELECT 'x' FROM receiverInformation(nolock) WHERE receiverId = @receiverId AND customerId=@customerId)
  238. BEGIN
  239. SELECT '1' ErrorCode, 'Receiver Data Not Found' Msg, NULL Id
  240. RETURN
  241. END
  242. SELECT @RELATION_ID = VALUEID
  243. FROM STATICDATAVALUE (NOLOCK)
  244. WHERE detailTitle = @relationship
  245. AND typeID=2100
  246. IF @RELATION_ID IS NULL AND ISNUMERIC(@relationship) = 1
  247. SET @RELATION_ID = @relationship
  248. IF ISNULL(@fullName,'') =''
  249. BEGIN
  250. SET @fullName=@firstName+ISNULL(' '+@middleName,'')+ISNULL(' '+@lastName1,'')+ISNULL(' '+@lastName2,'')
  251. END
  252. --Insert master table bank id
  253. SELECT @MASTER_BANK_ID = ABM.MASTER_BANK_ID
  254. FROM API_BANK_LIST AB(NOLOCK)
  255. INNER JOIN API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.JME_BANK_CODE = AB.JME_BANK_CODE
  256. WHERE AB.BANK_ID = @bank
  257. UPDATE dbo.receiverInformation SET
  258. firstName = @firstName
  259. ,middleName = @middleName
  260. ,lastName1 = LTRIM(RTRIM(ISNULL(' '+ @lastName1,'')+ISNULL(' ' + @lastName2,'')))
  261. ,lastName2 = NULL
  262. ,country = @country
  263. ,address = @address
  264. ,state = @state
  265. ,zipCode = @zipCode
  266. ,city = @city
  267. ,email = @email
  268. ,homePhone = @homePhone
  269. ,workPhone = @workPhone
  270. ,mobile = @mobile
  271. ,relationship = @RELATION_ID
  272. ,district = @district
  273. ,purposeOfRemit = @purposeOfRemit
  274. ,fullName = @fullName
  275. ,idType = @idType
  276. ,idNumber = @idNumber
  277. ,payOutPartner = @bank
  278. ,bankLocation = @branch
  279. ,receiverAccountNo = @accountNo
  280. ,localFirstName = @localFirstName
  281. ,localMiddleName = @localMiddleName
  282. ,localLastName1 = @localLastName1
  283. ,localLastName2 = @localLastName2
  284. ,paymentMode = @paymentMethodId
  285. ,nativeCountry = @countryId
  286. WHERE receiverId = @receiverId
  287. SELECT '0' ErrorCode, 'Receiver modified successfully' Msg, @receiverId Id
  288. RETURN
  289. END
  290. IF @flag = 'delete'
  291. BEGIN
  292. UPDATE dbo.receiverInformation SET isActive = '0' WHERE receiverId = @receiverId
  293. SELECT '0' ErrorCode, 'Receiver removed successfully' Msg, NULL Id
  294. RETURN
  295. END
  296. END
  297. /**
  298. ALTER TABLE receiverInformation ADD localFirstName NVARCHAR(100) NULL
  299. ALTER TABLE receiverInformation ADD localMiddleName NVARCHAR(100) NULL
  300. ALTER TABLE receiverInformation ADD localLastName1 NVARCHAR(100) NULL
  301. ALTER TABLE receiverInformation ADD localLastName2 NVARCHAR(100) NULL
  302. ALTER TABLE receiverInformation ADD paymentMode NVARCHAR(100) NULL
  303. ALTER TABLE receiverInformation ADD bank INT NULL
  304. ALTER TABLE receiverInformation ADD branch INT NULL
  305. receiverAccountNo
  306. accountNo
  307. */