USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[PROC_MOBILE_RECEIVER_INFORMATION] Script Date: 9/27/2019 1:30:14 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --ALTER TABLE receiverInformation add nativeCountry VARCHAR(100) NULL --EXEC PROC_MOBILE_RECEIVER_INFORMATION @flag = 'receiver-info', @customerId =48604 ALTER PROCEDURE PROC_MOBILE_RECEIVER_INFORMATION( @flag VARCHAR(100) = NULL ,@customerId VARCHAR(100) = NULL ,@receiverId VARCHAR(100) = NULL ,@firstName VARCHAR(100) = NULL ,@middleName VARCHAR(100) = NULL ,@lastName1 VARCHAR(100) = NULL ,@lastName2 VARCHAR(100) = NULL ,@country VARCHAR(100) = NULL ,@countryId VARCHAR(100) = NULL ,@nativeCountry VARCHAR(100) = NULL ,@address VARCHAR(100) = NULL ,@state VARCHAR(100) = NULL ,@stateId VARCHAR(100) = NULL ,@zipCode VARCHAR(100) = NULL ,@city VARCHAR(100) = NULL ,@email VARCHAR(100) = NULL ,@homePhone VARCHAR(100) = NULL ,@workPhone VARCHAR(100) = NULL ,@mobile VARCHAR(100) = NULL ,@relationship VARCHAR(100) = NULL ,@relationshipId VARCHAR(100) = NULL ,@district VARCHAR(100) = NULL ,@districtId VARCHAR(100) = NULL ,@purposeOfRemit VARCHAR(100) = NULL ,@fullName VARCHAR(100) = NULL ,@idType VARCHAR(100) = NULL ,@idNumber VARCHAR(100) = NULL ,@bank VARCHAR(100) = NULL ,@branch VARCHAR(100) = NULL ,@accountNo VARCHAR(100) = NULL ,@localFirstName NVARCHAR(100) = NULL ,@localMiddleName NVARCHAR(100) = NULL ,@localLastName1 NVARCHAR(100) = NULL ,@localLastName2 NVARCHAR(100) = NULL ,@paymentMethodId VARCHAR(100) = NULL )AS BEGIN IF @flag = 'receiver-info' BEGIN SELECT receiverId = ri.receiverId, 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, ri.firstName, ri.middleName , lastName1 = LTRIM(RTRIM(ISNULL(' '+ ri.lastName1,'')+ISNULL(' ' + ri.lastName2,''))), lastName2 ='', [localizedName] = ri.localFirstName + ISNULL(' '+ ri.localMiddleName,'') + ISNULL(' '+ ri.localLastName1,''), [paymentMethodId] = ri.paymentMode, [paymentMethodName] = stm.typeTitle, [bankId] = ri.payOutPartner, [bankName] = amb.BANK_NAME, [bankLocalizedName] = amb.BANK_NAME, [branchId] = ri.bankLocation, [branchName] = abbb.BRANCH_NAME, [branchLocalizedName] = abbb.BRANCH_NAME, [accountNo] = ri.receiverAccountNo, ri.membershipId, ri.country, ri.address, state = ri.state, stateId = ri.state,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblServicewiseLocation(NOLOCK) AS TSL WHERE TSL.location = ri.state), district = ri.district, districtId = ri.district,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblSubLocation(NOLOCK) AS TSL WHERE TSL.subLocation = ri.district), ri.zipCode, ri.city, ri.email, ri.mobile, relationship = RELN.DETAILTITLE, relationshipId = ri.relationship, purposeOfRemitId = ri.purposeOfRemit, purposeOfRemit = ri.purposeOfRemit, idType = ri.idType, idTypeId = ri.idType, ri.idNumber, ri.localFirstName, ri.localMiddleName, ri.localLastName1, ri.localLastName2, countryId = cm.countryId, countryCode = cm.countryCode, bankCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,ri.bank), paymentMethodCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,ri.bank), payoutPartner = payoutPartner.payOutPartner,--dbo.GetActivePayoutPartner(cm.countryId,ri.paymentMode,ri.bank), nativeCountry = ncm.countryName, nativeCountryCode = ncm.countryCode, nativeCountryId = ncm.countryId, isOTPVerified = ISNULL(ri.isOTPVerified, 0) FROM dbo.receiverInformation(nolock) ri LEFT JOIN dbo.countryMaster(nolock) cm ON ri.country = cm.countryName LEFT JOIN STATICDATAVALUE RELN(NOLOCK) ON RELN.VALUEID = CASE WHEN ISNUMERIC(RI.RELATIONSHIP) = 1 THEN RI.RELATIONSHIP ELSE 0 END LEFT JOIN ( SELECT PAYOUTPARTNER = TP.AGENTID, TP.CountryId, TP.PaymentMethod FROM TblPartnerwiseCountry TP(NOLOCK) INNER JOIN AGENTMASTER AM(NOLOCK) ON AM.AGENTID = TP.AGENTID WHERE ISNULL(TP.IsActive, 1) = 1 AND ISNULL(AM.ISACTIVE, 'Y') = 'Y' AND ISNULL(AM.ISDELETED, 'N') = 'N' AND ISNULL(TP.IsMobileEnabled, 0) = 1 ) payoutPartner ON payoutPartner.CountryId = cm.countryid AND ISNULL(payoutPartner.PaymentMethod, ri.paymentMode) = ri.paymentMode LEFT JOIN dbo.countryMaster(nolock) ncm ON ri.nativeCountry = ncm.countryId LEFT JOIN dbo.serviceTypeMaster(nolock) stm ON stm.serviceTypeId = ri.paymentMode LEFT JOIN dbo.API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.MASTER_BANK_ID = RI.payOutPartner LEFT JOIN dbo.API_BANK_LIST(nolock) amb ON amb.JME_BANK_CODE = ABM.JME_BANK_CODE LEFT JOIN dbo.API_BANK_BRANCH_LIST(nolock) abbb ON abbb.BRANCH_ID = ri.bankLocation WHERE ri.customerId = @customerId --AND ISNULL(ri.isActive,'0') = '1' END IF @flag = 'get' BEGIN SELECT receiverId = ri.receiverId, 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, ri.firstName, ri.middleName , lastName1 = LTRIM(RTRIM(ISNULL(' '+ ri.lastName1,'')+ISNULL(' ' + ri.lastName2,''))), lastName2 ='', [localizedName] = ri.localFirstName + ISNULL(' '+ ri.localMiddleName,'') + ISNULL(' '+ ri.localLastName1,''), [paymentMethodId] = ri.paymentMode, [paymentMethodName] = stm.typeTitle, [bankId] = ri.payOutPartner, [bankName] = amb.BANK_NAME, [bankLocalizedName] = amb.BANK_NAME, [branchId] = ri.bankLocation, [branchName] = abbb.BRANCH_NAME, [branchLocalizedName] = abbb.BRANCH_NAME, [accountNo] = ri.receiverAccountNo, ri.membershipId, ri.country, ri.address, state = ri.state, stateId = ri.state,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblServicewiseLocation(NOLOCK) AS TSL WHERE TSL.location = ri.state), district = ri.district, districtId = ri.district,--(SELECT TOP 1 CAST(TSL.rowId AS VARCHAR) AS id FROM dbo.tblSubLocation(NOLOCK) AS TSL WHERE TSL.subLocation = ri.district), ri.zipCode, ri.city, ri.email, ri.mobile, relationship = ri.relationship, relationshipId = ri.relationship, purposeOfRemitId = ri.purposeOfRemit, purposeOfRemit = ri.purposeOfRemit, idType = ri.idType, idTypeId = ri.idType, ri.idNumber, ri.localFirstName, ri.localMiddleName, ri.localLastName1, ri.localLastName2, countryId = cm.countryId, countryCode = cm.countryCode, bankCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,ri.bank), paymentMethodCurrency= dbo.GetAllowCurrency(cm.countryId,ri.paymentMode,null), payoutPartner = payOutPartner,--dbo.GetActivePayoutPartner(cm.countryId,ri.paymentMode,ri.bank), nativeCountry = ncm.countryName, nativeCountryCode = ncm.countryCode, nativeCountryId = ncm.countryId, isOTPVerified = ISNULL(ri.isOTPVerified, 0) FROM dbo.receiverInformation(nolock) ri INNER JOIN dbo.countryMaster(nolock) cm ON ri.country = cm.countryName LEFT JOIN dbo.countryMaster(nolock) ncm ON ri.nativeCountry = ncm.countryId LEFT JOIN dbo.serviceTypeMaster(nolock) stm ON stm.serviceTypeId = ri.paymentMode LEFT JOIN dbo.API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.MASTER_BANK_ID = RI.payOutPartner LEFT JOIN dbo.API_BANK_LIST(nolock) amb ON amb.JME_BANK_CODE = ABM.JME_BANK_CODE LEFT JOIN dbo.API_BANK_BRANCH_LIST(nolock) abbb ON abbb.BRANCH_ID = ri.bankLocation --LEFT JOIN (SELECT * FROM dbo.staticDataValue(nolock) WHERE typeID = 3800) AS purpose ON ri.purposeOfRemit = relation.detailTitle WHERE ri.customerId = @customerId --AND ISNULL(ri.isActive,'0') = '1' AND ri.receiverId = @receiverId END IF @flag = 'add' BEGIN IF NOT EXISTS(SELECT 'X' FROM dbo.customerMaster(NOLOCK) WHERE customerId=@customerId) BEGIN SELECT '1' ErrorCode, 'Customer Details Not Found' Msg, @customerId Id RETURN END --IF EXISTS(SELECT 'x' FROM dbo.receiverInformation(NOLOCK) WHERE mobile=@mobile) --BEGIN -- SELECT '1' ErrorCode, 'Receiver Mobile No Already Register !' Msg, @mobile Id -- RETURN --END SELECT @countryId = countryId FROM dbo.countryMaster(NOLOCK) WHERE countryName = @nativeCountry --IF EXISTS(SELECT 'x' FROM receiverInformation(nolock) WHERE customerId = @customerId --AND ISNULL(bank,'-1') = ISNULL(@bank,'-1') --AND ISNULL(accountNo,'-1') = ISNULL(@accountNo,'-1') --AND ISNULL(paymentMode,'-1') = ISNULL(@paymentMethodId,'-1') AND --) --BEGIN -- SELECT '1' ErrorCode, 'Receiver already exists' Msg, NULL Id -- RETURN --END DECLARE @RELATION_ID INT = NULL SELECT @RELATION_ID = VALUEID FROM STATICDATAVALUE (NOLOCK) WHERE detailTitle = @relationship AND typeID=2100 IF @RELATION_ID IS NULL AND ISNUMERIC(@relationship) = 1 SET @RELATION_ID = @relationship IF ISNULL(@fullName,'') ='' BEGIN SET @fullName=@firstName+ISNULL(' '+@middleName,'')+ISNULL(' '+@lastName1,'')+ISNULL(' '+@lastName2,'') END DECLARE @MASTER_BANK_ID BIGINT = 0 --Insert master table bank id SELECT @MASTER_BANK_ID = ABM.MASTER_BANK_ID FROM API_BANK_LIST AB(NOLOCK) INNER JOIN API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.JME_BANK_CODE = AB.JME_BANK_CODE WHERE AB.BANK_ID = @bank --bank replaced by payOutPartner --branch replaced by bankLocation INSERT INTO dbo.receiverInformation ( customerId,firstName,middleName,lastName1,lastName2,country,address,state,zipCode,city,email,homePhone,workPhone,mobile,relationship ,district,purposeOfRemit,isActive,fullName,idType,idNumber,payOutPartner,bankLocation,receiverAccountNo,localFirstName,localMiddleName,localLastName1,localLastName2 ,paymentMode,nativeCountry,createdBy,createdDate,isCDDIUpdated,isVerified ) SELECT @customerId,@firstName,@middleName,LTRIM(RTRIM(ISNULL(' '+ @lastName1,'')+ISNULL(' ' + @lastName2,''))),NULL,@country,@address,@state,@zipCode,@city,@email,@homePhone,@workPhone,@mobile,@RELATION_ID ,@district,@purposeOfRemit,1,@fullName,@idType,@idNumber,@MASTER_BANK_ID,@branch,@accountNo,@localFirstName,@localMiddleName,@localLastName1,@localLastName2 ,@paymentMethodId,@countryId, @customerId, GETDATE(),1,1 SET @receiverId = @@IDENTITY SELECT '0' ErrorCode, 'Receiver saved successfully' Msg, ISNULL(@receiverId,'-1') Id RETURN END IF @flag = 'modify' BEGIN SELECT @countryId = countryId FROM dbo.countryMaster(NOLOCK) WHERE countryName = @nativeCountry IF NOT EXISTS(SELECT 'x' FROM receiverInformation(nolock) WHERE receiverId = @receiverId AND customerId=@customerId) BEGIN SELECT '1' ErrorCode, 'Receiver Data Not Found' Msg, NULL Id RETURN END SELECT @RELATION_ID = VALUEID FROM STATICDATAVALUE (NOLOCK) WHERE detailTitle = @relationship AND typeID=2100 IF @RELATION_ID IS NULL AND ISNUMERIC(@relationship) = 1 SET @RELATION_ID = @relationship IF ISNULL(@fullName,'') ='' BEGIN SET @fullName=@firstName+ISNULL(' '+@middleName,'')+ISNULL(' '+@lastName1,'')+ISNULL(' '+@lastName2,'') END --Insert master table bank id SELECT @MASTER_BANK_ID = ABM.MASTER_BANK_ID FROM API_BANK_LIST AB(NOLOCK) INNER JOIN API_BANK_LIST_MASTER ABM(NOLOCK) ON ABM.JME_BANK_CODE = AB.JME_BANK_CODE WHERE AB.BANK_ID = @bank UPDATE dbo.receiverInformation SET firstName = @firstName ,middleName = @middleName ,lastName1 = LTRIM(RTRIM(ISNULL(' '+ @lastName1,'')+ISNULL(' ' + @lastName2,''))) ,lastName2 = NULL ,country = @country ,address = @address ,state = @state ,zipCode = @zipCode ,city = @city ,email = @email ,homePhone = @homePhone ,workPhone = @workPhone ,mobile = @mobile ,relationship = @RELATION_ID ,district = @district ,purposeOfRemit = @purposeOfRemit ,fullName = @fullName ,idType = @idType ,idNumber = @idNumber ,payOutPartner = @bank ,bankLocation = @branch ,receiverAccountNo = @accountNo ,localFirstName = @localFirstName ,localMiddleName = @localMiddleName ,localLastName1 = @localLastName1 ,localLastName2 = @localLastName2 ,paymentMode = @paymentMethodId ,nativeCountry = @countryId WHERE receiverId = @receiverId SELECT '0' ErrorCode, 'Receiver modified successfully' Msg, @receiverId Id RETURN END IF @flag = 'delete' BEGIN UPDATE dbo.receiverInformation SET isActive = '0' WHERE receiverId = @receiverId SELECT '0' ErrorCode, 'Receiver removed successfully' Msg, NULL Id RETURN END END /** ALTER TABLE receiverInformation ADD localFirstName NVARCHAR(100) NULL ALTER TABLE receiverInformation ADD localMiddleName NVARCHAR(100) NULL ALTER TABLE receiverInformation ADD localLastName1 NVARCHAR(100) NULL ALTER TABLE receiverInformation ADD localLastName2 NVARCHAR(100) NULL ALTER TABLE receiverInformation ADD paymentMode NVARCHAR(100) NULL ALTER TABLE receiverInformation ADD bank INT NULL ALTER TABLE receiverInformation ADD branch INT NULL receiverAccountNo accountNo */