USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[mobile_proc_customerMaster_V2] Script Date: 12/18/2023 11:00:49 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROC [dbo].[mobile_proc_customerMaster_V2] ( @flag VARCHAR(20) ,@username VARCHAR(100) = NULL ,@type VARCHAR(100) = NULL ,@sourceOfFund VARCHAR(100) = NULL ,@monthlyIncome VARCHAR(100) = NULL ,@businessType VARCHAR(100) = NULL ,@mobile VARCHAR(100) = NULL ,@email VARCHAR(100) = NULL ,@additionalAddress NVARCHAR(100) = NULL ,@idType VARCHAR(100) = NULL ,@idTypeNumber VARCHAR(100) = NULL ,@idIssuingCountry VARCHAR(5) = NULL ,@idStartDate VARCHAR(20) = NULL ,@idEndDate VARCHAR(20) = NULL ,@additionalIdType VARCHAR(100) = NULL ,@idFront VARCHAR(100) = NULL ,@idBack VARCHAR(100) = NULL ,@occupation VARCHAR(100) = NULL ,@idSide VARCHAR(100) = NULL ,@additionalId VARCHAR(100) = NULL ,@additionalIdBack VARCHAR(100) = NULL ,@facePicture VARCHAR(100) = NULL ,@currentPin VARCHAR(20) = NULL ,@NewPassword VARCHAR(50) = NULL ,@newPin VARCHAR(20) = NULL ,@currentPassword VARCHAR(50) = NULL ,@confirmNewPin VARCHAR(20) = NULL ,@ConfirmNewPassword VARCHAR(50) = NULL ,@employeerName VARCHAR(100) = NULL ,@visaStatus VARCHAR(50) = NULL ,@occupationOther VARCHAR(150) = NULL ,@otherIdType VARCHAR(150) = NULL ,@otherOccupation VARCHAR(150) = NULL ,@otherSourceOfFund VARCHAR(150) = NULL ,@purposeOfRegistration INT = NULL ,@SettingType VARCHAR(30) = NULL ,@customerPassword NVARCHAR(20) = NULL ,@token VARCHAR(MAX) = NULL ,@idTypeOther VARCHAR(150) = NULL ,@code NVARCHAR(50) = NULL ,@amount MONEY = NULL ,@rType VARCHAR(20) = NULL ,@trustDocId UNIQUEIDENTIFIER = NULL ) AS ; ------------------------------------------------------------------------------------------------------------ -- Task #225 - Create Token For Bioemtric - flag = 'update-settings' , insert for mobiletoken -- #101 , #361 - Mobile changes for multi lingual -- #387 - Force Reset Pin , @flag= 'c-pin' -- #205 - add param @idTypeOther -- otherIdNumber set value with Other ID (Please Specify) -- #495 changed parameter for occupationOther --Bug #763 Wrong Message display in case of change Pin & Password -- store montly income in salaryRange for existing customer -- #1030 , @flag = 'agree' , added isAgreeDate --Bug #1065 missing Missing ForcePinChangeDate -- #946 -> duplicate mobile number validation in @flag = 'i' for new customer registration from mobile -- #1003 -> Reward Points , @flag = 'i' , 'i-existing' ------------------------------------------------------------------------------------------------------------ SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN SET DATEFORMAT dmy; DECLARE @customerId BIGINT ,@cust BIGINT ,@errorMsg VARCHAR(MAX) ,@sourceCustomerId INT ,@rewardAmount MONEY ,@runningBalance MONEY ,@totalDrAmount MONEY ,@totalCrAmount MONEY ,@trustDocIdold UNIQUEIDENTIFIER ; SELECT @customerId = customerId, @trustDocIdold=trustdocid FROM customerMaster WITH (NOLOCK) WHERE username = @userName IF @flag = 'id-update' BEGIN SELECT @customerId = customerId FROM CUSTOMERMASTER(NOLOCK) WHERE USERNAME = @username IF ISNULL(@idFront, '') <> '' INSERT INTO customerDocumentTmp ( customerId ,fileName ,createdBy ,createdDate ,documentType ) SELECT @customerId ,@idFront ,@username ,GETDATE() ,11394 IF ISNULL(@idBack, '') <> '' INSERT INTO customerDocumentTmp ( customerId ,fileName ,createdBy ,createdDate ,documentType ) SELECT @customerId ,@idBack ,@username ,GETDATE() ,11395 EXEC proc_errorHandler 0 ,'Document uploaded successfully!' ,@userName RETURN END ELSE IF @flag = 'update-settings' BEGIN IF NOT EXISTS ( SELECT * FROM customerMaster(NOLOCK) WHERE USERNAME = @username ) OR NOT EXISTS ( SELECT * FROM mobile_userRegistration(NOLOCK) WHERE USERNAME = @username ) BEGIN EXEC proc_errorHandler 1 ,'Invalid customer data!' ,@userName RETURN END IF @SettingType NOT IN ('FINGER_PRINT_LOGIN') BEGIN EXEC proc_errorHandler 2 ,'Invalid data!' ,@userName RETURN END IF @type NOT IN ( 'True' ,'False' ) BEGIN EXEC proc_errorHandler 2 ,'Invalid data!' ,@userName RETURN END IF NOT EXISTS ( SELECT * FROM customerMaster WHERE customerPassword = dbo.FNAEncryptString(@customerPassword) AND username = @username ) BEGIN EXEC proc_errorHandler 3 ,'Invalid Username/Password.' ,@userName RETURN END --IF @type = 'True' --BEGIN -- IF EXISTS(SELECT TOP 1 * FROM mobile_userRegistration (NOLOCK) WHERE USERNAME = @username AND isbiometricLogin = 1) -- BEGIN -- SELECT @errorMsg = @SettingType + ' is already enabled' -- EXEC proc_errorHandler 1, @errorMsg ,'' -- RETURN -- END --END --IF @type = 'False' --BEGIN -- IF EXISTS(SELECT TOP 1 * FROM mobile_userRegistration (NOLOCK) WHERE USERNAME = @username AND isbiometricLogin = 0) -- BEGIN -- SELECT @errorMsg = @SettingType + ' is already disabled' -- EXEC proc_errorHandler 1, @errorMsg ,'' -- RETURN -- END --END UPDATE mr SET BiometricLoginType = @SettingType ,IsBiometricLogin = CASE WHEN @type = 'True' THEN 1 ELSE 0 END FROM mobile_userRegistration mr INNER JOIN customerMaster cm WITH (NOLOCK) ON mr.username = cm.email WHERE mr.username = @username UPDATE MobileToken SET activeStatus = 'N' WHERE userName = @username IF @type = 'True' BEGIN INSERT INTO MobileToken ( username ,activeStatus ,token ,loginType ,createdOn ) SELECT @userName ,'Y' ,@token ,@SettingType ,GETDATE() EXEC proc_errorHandler 0 ,'Settings updated successfully!' ,@token RETURN END EXEC proc_errorHandler 0 ,'Settings updated successfully!' ,'' RETURN END ELSE IF @flag = 'c-pin-pwd' BEGIN IF ISNULL(@newPin, 'A') <> ISNULL(@confirmNewPin, 'B') BEGIN EXEC proc_errorHandler 1 ,'New pin and Confirm pin are not same!' ,@userName RETURN END IF ISNULL(@NewPassword, 'A') <> ISNULL(@ConfirmNewPassword, 'B') BEGIN EXEC proc_errorHandler 2 ,'New password and Confirm password are not same!' ,@userName RETURN END IF DBO.FNAencryptstring(@currentPassword) = DBO.FNAencryptstring(@NewPassword) BEGIN EXEC proc_errorHandler 6 ,'New Password can not be same as your old password, Please try again!' ,@userName RETURN; END IF DBO.FNAencryptstring(@currentPin) = DBO.FNAencryptstring(@newPin) BEGIN EXEC proc_errorHandler 7 ,'New pin can not be same as your old pin, Please try again!' ,@userName RETURN; END IF NOT EXISTS ( SELECT 'A' FROM customerMaster(NOLOCK) WHERE username = @username ) BEGIN EXEC proc_errorHandler 3 ,'Invalid customer found!' ,@userName RETURN END IF NOT EXISTS ( SELECT 'A' FROM customerMaster(NOLOCK) WHERE username = @username AND txnPin = @currentPin ) BEGIN EXEC proc_errorHandler 4 ,'Invalid pin number!' ,@userName RETURN END IF NOT EXISTS ( SELECT 'A' FROM customerMaster(NOLOCK) WHERE username = @username AND customerPassword = dbo.FNAEncryptString(@currentPassword) ) BEGIN EXEC proc_errorHandler 5 ,'Invalid password!' ,@userName RETURN END UPDATE customerMaster SET txnPin = @newPin ,customerPassword = dbo.FNAEncryptString(@NewPassword) ,isForcedPwdChange = 0 WHERE username = @username UPDATE mobile_userRegistration SET isForcePassChange = 0 ,forcePassChangeDate = GETDATE() ,isForcePinChange = 0 ,ForcePinChangeDate = GETDATE() WHERE username = @username EXEC proc_errorHandler 0 ,'You have successfully changed your pin and password' ,@username RETURN END ELSE IF @flag = 'c-pin' BEGIN IF ISNULL(@newPin, 'A') <> ISNULL(@confirmNewPin, 'B') BEGIN EXEC proc_errorHandler 1 ,'New pin and Confirm pin are not same!' ,@userName RETURN END IF EXISTS ( SELECT 'A' FROM customerMaster(NOLOCK) WHERE username = @username AND @currentPin = @newPin ) BEGIN EXEC proc_errorHandler 2 ,'Old pin and new pin cannot be same!' ,@userName RETURN END IF NOT EXISTS ( SELECT 'A' FROM customerMaster(NOLOCK) WHERE username = @username ) BEGIN EXEC proc_errorHandler 3 ,'Invalid customer found!' ,@userName RETURN END if @currentPin IS NOT NULL BEGIN IF NOT EXISTS ( SELECT 'A' FROM customerMaster(NOLOCK) WHERE username = @username AND txnPin = @currentPin ) BEGIN EXEC proc_errorHandler 4 ,'Invalid pin number!' ,@userName RETURN END UPDATE customerMaster SET txnPin = @newPin ,isForcedPwdChange = 0 WHERE username = @username AND txnPin = @currentPin UPDATE mobile_userRegistration SET isForcePinChange = 0 ,ForcePinChangeDate = GETDATE() WHERE username = @username END ELSE BEGIN UPDATE customerMaster SET txnPin = @newPin ,isForcedPwdChange = 0 WHERE username = @username AND RegistrationType='EKYC' UPDATE mobile_userRegistration SET isForcePinChange = 0 ,ForcePinChangeDate = GETDATE() ,ekycPinUpdated=1 WHERE username = @username END EXEC proc_errorHandler 0 ,'You have successfully changed your pin' ,@userName RETURN END ELSE IF @flag = 'i' BEGIN -- IF @idType IS NULL -- AND @otherIdType IS NOT NULL /*ANDROID */ -- BEGIN -- SET @idType = 11402 -- SET @idTypeOther = @otherIdType -- END -- ELSE IF @idType IS NOT NULL AND @rType='EKYC' -- BEGIN -- IF @idType='FOREIGNER' OR @idType='RESIDENCE' -- BEGIN -- SET @idType='11168' --Residence Card -- END -- ELSE IF @idType='JAPANESE' OR @idType='RESIDENT' OR @idType='DRIVING_LICENSE' /*EKYC */ -- BEGIN -- SET @idType='11079' --Driver License -- END -- END -- ELSE IF @idType IS NOT NULL /*IOS */ -- BEGIN -- IF NOT EXISTS ( -- SELECT * -- FROM StaticDataValue(NOLOCK) -- WHERE typeID = 1300 -- AND isActive = 'Y' -- AND CAST(valueid AS VARCHAR) = @idType -- ) -- BEGIN -- IF @idType='FOREIGNER' OR @idType='RESIDENCE' /*EKYC */ -- BEGIN -- SET @idType='11168' --Residence Card -- END -- ELSE IF @idType='JAPANESE' OR @idType='RESIDENT' OR @idType='DRIVING_LICENSE' /*EKYC */ -- BEGIN -- SET @idType='11079' --Driver License -- END -- ELSE -- BEGIN -- SET @idTypeOther = @idType -- SELECT @idType = valueId -- FROM StaticDataValue(NOLOCK) -- WHERE typeID = 1300 -- AND isActive = 'Y' -- AND detailTitle = 'Other ID (Please Specify)' -- END -- END -- END PRINT @idType; IF @occupation IS NULL AND @otherOccupation IS NOT NULL /*ANDROID */ BEGIN SET @occupation = 11383 SET @occupationOther = @otherOccupation END ELSE IF @occupation IS NOT NULL /*IOS */ BEGIN IF NOT EXISTS ( SELECT * FROM StaticDataValue(NOLOCK) WHERE typeID = 2000 AND isActive = 'Y' AND CAST(valueid AS VARCHAR) = @occupation ) BEGIN SET @occupationOther = @occupation SELECT @occupation = valueId FROM StaticDataValue(NOLOCK) WHERE typeID = 2000 AND isActive = 'Y' AND detailTitle = 'Other (Please specify)' END END IF EXISTS ( SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE username = @userName ) AND EXISTS ( SELECT TOP 1 'A' FROM customerMasterTemp(NOLOCK) WHERE username = @userName ) BEGIN EXEC proc_errorHandler 1 ,'Username already taken, please select new username!' ,@userName RETURN END --DECLARE @mobileWithCode VARCHAR(20) --SELECT @mobileWithCode = CONCAT('+81',@mobile) IF EXISTS ( SELECT 'X' FROM customerMaster WITH (NOLOCK) WHERE mobile = @mobile AND ISNULL(onlineUser, 'N') = 'Y' AND isnull(isDeleted, 'N') = 'N' AND customerId <> @customerId ) BEGIN SELECT @errorMsg = 'Customer with mobile number ' + @mobile + ' already exists.' --EXEC proc_errorHandler 2, @errorMsg, @customerId --, @mobile SELECT 2 ErrorCode ,@errorMsg Msg ,@customerId Id ,@mobile Extra RETURN END --alter table customerMasterTemp add documentType varchar(20) BEGIN TRANSACTION SELECT @CODE = REFERELCODE FROM CustomerMasterTemp(NOLOCK) WHERE email = @username IF @type IN ( '0' ,'1' ) BEGIN IF EXISTS ( SELECT 'X' FROM dbo.customerMasterTemp(NOLOCK) WHERE username = @userName ) BEGIN UPDATE dbo.customerMasterTemp SET occupation = ISNULL(@occupation, occupation) ,monthlyIncome = ISNULL(@monthlyIncome, monthlyIncome) ,employeeBusinessType = ISNULL(@businessType, employeeBusinessType) ,mobile = ISNULL(@mobile, mobile) --,ADDITIONALADDRESS = ISNULL(@additionalAddress, ADDITIONALADDRESS) ,idType = ISNULL(@idType, idType) ,documentType = ISNULL(@additionalIdType, documentType) ,nameOfEmployeer = ISNULL(@employeerName, nameOfEmployeer) ,otherIdNumber = @otherIdType ,occupationOther = @otherOccupation ,purposeOfRegistration = ISNULL(@purposeOfRegistration, purposeOfRegistration) ,idNumber = ISNULL(@idTypeNumber, idNumber) ,idExpiryDate = ISNULL(@idEndDate, idExpiryDate) ,idIssueDate = ISNULL(@idStartDate, idIssueDate) ,idIssueCountry=ISNULL(@idIssuingCountry, idIssueCountry) WHERE username = @userName INSERT INTO dbo.customerMaster ( fullName ,firstName ,middleName ,lastName1 ,mobile ,gender ,dob ,occupation ,nativeCountry ,country ,bankName ,bankAccountNo ,idType ,idNumber ,homePhone ,idIssueDate ,idExpiryDate ,verifyDoc1 ,verifyDoc2 ,verifyDoc3 ,SelfieDoc ,referelCode ,createdBy ,createdDate ,isActive ,onlineUser ,customerPassword ,[address] ,city ,state2 ,customerType ,ADDITIONALADDRESS ,monthlyIncome ,organizationType ,username ,anotherIdType ,employeeBusinessType ,documentType ,remittanceallowed ,txnPin ,nameOfEmployeer ,isExistingCustomer ,HasDeclare ,createdFrom ,occupationOther ,purposeOfRegistration ,email ,customerEmail ,otherIdNumber ,isEmailVerified ,mobileUser ,RegistrationType ,TrustDocId ,MEMBERSHIPID ,idIssueCountry --,postalCode ,zipCode ,mobileVerificationType ,mobileverifieddate ,mobileverifiedby ,LawsonCardNo ) SELECT fullName ,CMT.firstName ,CMT.middleName ,cmt.lastName1 ,mobile ,gender ,CASE ISDATE(dob) WHEN 1 THEN dob ELSE '' END ,CMT.occupation ,nativeCountry ,233 ,bankName ,bankAccountNo ,idType ,@idTypeNumber ,CMT.homePhone , convert(varchar, @idStartDate, 101) , convert(varchar, @idEndDate, 101) ,verifyDoc1 ,verifyDoc2 ,verifyDoc3 ,CMT.selfie ,CMT.referelCode ,CMT.createdBy ,createdDate ,'Y' ,'Y' ,customerPassword ,[address] ,city ,state2 ,4700 ,ADDITIONALADDRESS ,monthlyIncome ,organizationType ,username ,anotherIdType ,employeeBusinessType ,documentType ,1 ,NULL ,nameOfEmployeer ,0 ,0 ,'M' ,@otherOccupation ,@purposeOfRegistration ,email ,customerEmail ,@idTypeOther ,isEmailVerified ,mobileUser ,@rType ,@trustDocId ,MEMBERSHIPID ,ISNULL(@idIssuingCountry, idIssueCountry) --,postalCode ,zipcode ,'verified' ,GETDATE() ,'system' ,RegistrationType FROM dbo.CustomerMasterTemp AS CMT(NOLOCK) WHERE CMT.username = @userName SET @cust = @@IDENTITY UPDATE dbo.mobile_userRegistration SET customerId = @cust WHERE username = @userName DELETE FROM customerMasterTemp WHERE username = @userName END ELSE BEGIN IF EXISTS ( SELECT 'x' FROM dbo.customerMaster(NOLOCK) WHERE username = @userName ) BEGIN UPDATE dbo.customerMaster SET occupation = ISNULL(@occupation, occupation) ,monthlyIncome = ISNULL(@monthlyIncome, monthlyIncome) ,employeeBusinessType = ISNULL(@businessType, employeeBusinessType) ,mobile = ISNULL(@mobile, mobile) ,ADDITIONALADDRESS = ISNULL(@additionalAddress, ADDITIONALADDRESS) ,idType = ISNULL(@idType, idType) ,documentType = ISNULL(@additionalIdType, documentType) ,nameOfEmployeer = ISNULL(@employeerName, nameOfEmployeer) ,otherIdNumber = @idTypeOther ,--@otherIdType, occupationOther = @occupationOther ,--@otherOccupation purposeOfRegistration = ISNULL(@purposeOfRegistration, purposeOfRegistration) --,RegistrationType= @rType ,TrustDocId= ISNULL(@trustDocId,TrustDocId) ,idIssueDate= ISNULL(@idStartDate,idIssueDate) ,IdNumber= ISNULL(@idTypeNumber,IdNumber) ,idExpiryDate= ISNULL(@idEndDate,idExpiryDate) ,idIssueCountry= ISNULL(@idIssuingCountry,idIssueCountry) ,mobileVerificationType =ISNULL(mobileVerificationType,'Verified') ,mobileverifieddate=ISNULL(mobileverifieddate,GETDATE()) ,mobileverifiedby=ISNULL(mobileverifiedby,'system') WHERE username = @userName END END END IF @type = '1' AND ISNULL(@rType,'MANUAL') <> 'EKYC' BEGIN IF ISNULL(@idFront, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@idFront ,'idFrontCustUpload' ,@userName ,GETDATE() ,11394 ,'Y' IF ISNULL(@idBack, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@idBack ,'idBackCustUpload' ,@userName ,GETDATE() ,11395 ,'Y' IF ISNULL(@idSide, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@idSide ,'idSideCustUpload' ,@userName ,GETDATE() ,11388 ,'Y' IF ISNULL(@additionalId, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@additionalId ,'additionalIdCustUpload' ,@userName ,GETDATE() ,11396 ,'Y' IF ISNULL(@additionalIdBack, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@additionalIdBack ,'additionalIdBackCustUpload' ,@userName ,GETDATE() ,11397 ,'Y' IF ISNULL(@facePicture, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@facePicture ,'SelfieCustUpload' --'facePictureCustUpload' ,@userName ,GETDATE() ,'11440'--11443 --Face Picture ,'Y' UPDATE dbo.customerMaster SET HasDeclare = 1, --verificationCode='PROCESSING', modifiedDate=GETDATE() WHERE customerId = @customerId END ELSE IF @type in ('0','1') AND @rType= 'EKYC' BEGIN UPDATE dbo.customerMaster SET HasDeclare = 1 WHERE customerId = @customerId END COMMIT TRANSACTION IF @@TRANCOUNT = 0 BEGIN SELECT 0 AS ERRORCODE ,'KYC Submitted successfully' AS MSG ,@userName AS ID ,@cust AS EXTRA RETURN END EXEC proc_errorHandler 1 ,'Failed to Submit KYC' ,@userName RETURN END ELSE IF @flag = 'i-existing' BEGIN IF NOT EXISTS ( SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE username = @userName ) BEGIN EXEC proc_errorHandler 1 ,'Invalid user supplied!' ,@userName RETURN END --IF EXISTS(SELECT 'X' FROM customerMaster with (nolock) -- WHERE mobile = @mobile -- and ISNULL(onlineUser, 'N')='Y' -- AND isnull(isDeleted,'N')='N' -- AND customerId <> @customerId) --BEGIN -- SELECT @errorMsg = 'Customer with mobile number ' + @mobile + ' already exist.' -- EXEC proc_errorHandler 1, @errorMsg, @customerId -- RETURN --END IF @idType IS NULL AND @otherIdType IS NOT NULL /*ANDROID */ BEGIN SET @idType = 11402 SET @idTypeOther = @otherIdType END ELSE IF @idType IS NOT NULL /*IOS */ BEGIN IF NOT EXISTS ( SELECT * FROM StaticDataValue(NOLOCK) WHERE typeID = 1300 AND isActive = 'Y' AND CAST(valueid AS VARCHAR) = @idType ) BEGIN SET @idTypeOther = @idType SELECT @idType = valueId FROM StaticDataValue(NOLOCK) WHERE typeID = 1300 AND isActive = 'Y' AND detailTitle = 'Other ID (Please Specify)' END END IF @occupation IS NULL AND @otherOccupation IS NOT NULL /*ANDROID */ BEGIN SET @occupation = 11383 SET @occupationOther = @otherOccupation END ELSE IF @occupation IS NOT NULL /*IOS */ BEGIN IF NOT EXISTS ( SELECT * FROM StaticDataValue(NOLOCK) WHERE typeID = 2000 AND isActive = 'Y' AND CAST(valueid AS VARCHAR) = @occupation ) BEGIN SET @occupationOther = @occupation SELECT @occupation = valueId FROM StaticDataValue(NOLOCK) WHERE typeID = 2000 AND isActive = 'Y' AND detailTitle = 'Other (Please specify)' END END --alter table customerMasterTemp add documentType varchar(20) BEGIN TRANSACTION -- IF @code like 'IC%' IF @type IN ( '0' ,'1' ) BEGIN SELECT @CODE = REFERELCODE FROM customerMasterTemp(NOLOCK) WHERE email = @username IF EXISTS ( SELECT 'X' FROM dbo.customerMasterTemp(NOLOCK) WHERE username = @userName ) BEGIN UPDATE dbo.customerMasterTemp SET occupation = ISNULL(@occupation, occupation) ,monthlyIncome = ISNULL(@monthlyIncome, monthlyIncome) ,employeeBusinessType = ISNULL(@businessType, employeeBusinessType) ,mobile = ISNULL(@mobile, mobile) ,ADDITIONALADDRESS = ISNULL(@additionalAddress, ADDITIONALADDRESS) ,idType = ISNULL(@idType, idType) ,documentType = ISNULL(@additionalIdType, documentType) ,nameOfEmployeer = ISNULL(@employeerName, nameOfEmployeer) ,otherIdNumber = @otherIdType ,occupationOther = @otherOccupation ,purposeOfRegistration = ISNULL(@purposeOfRegistration, purposeOfRegistration) ,salaryRange = ISNULL(@monthlyIncome, monthlyIncome) WHERE username = @userName INSERT INTO dbo.customerMaster ( fullName ,firstName ,mobile ,gender ,dob ,occupation ,nativeCountry ,country ,bankName ,bankAccountNo ,idType ,idNumber ,homePhone ,idIssueDate ,idExpiryDate ,verifyDoc1 ,verifyDoc2 ,verifyDoc3 ,SelfieDoc ,referelCode ,createdBy ,createdDate ,isActive ,onlineUser ,customerPassword ,[address] ,city ,state2 ,customerType ,ADDITIONALADDRESS ,monthlyIncome ,organizationType ,username ,anotherIdType ,employeeBusinessType ,documentType ,remittanceallowed ,txnPin ,nameOfEmployeer ,visaStatus ,occupationOther ,purposeOfRegistration ,mobileUser ,salaryRange ) SELECT fullName ,CMT.firstName ,mobile ,gender ,dob ,CMT.occupation ,nativeCountry ,113 ,bankName ,bankAccountNo ,idType ,idNumber ,CMT.homePhone ,CMT.idIssueDate ,idExpiryDate ,verifyDoc1 ,verifyDoc2 ,verifyDoc3 ,CMT.selfie ,CMT.referelCode ,CMT.createdBy ,createdDate ,'Y' ,'Y' ,customerPassword ,[address] ,city ,state2 ,4700 ,ADDITIONALADDRESS ,monthlyIncome ,organizationType ,username ,anotherIdType ,employeeBusinessType ,documentType ,1 ,NULL ,nameOfEmployeer ,visaStatus ,@occupationOther ,@purposeOfRegistration ,mobileUser ,monthlyIncome FROM dbo.CustomerMasterTemp AS CMT(NOLOCK) WHERE CMT.username = @userName SET @cust = @@IDENTITY UPDATE dbo.mobile_userRegistration SET customerId = @cust WHERE username = @userName DELETE FROM customerMasterTemp WHERE username = @userName IF EXISTS ( SELECT 'X' FROM customerMaster(NOLOCK) WHERE membershipId = @code ) BEGIN IF EXISTS ( SELECT 'X' FROM dbo.customerMaster(NOLOCK) WHERE username = @userName ) BEGIN SELECT @customerId = customerId FROM CustomerMaster(NOLOCK) WHERE email = @username END SELECT @sourceCustomerId = customerId FROM customerMaster(NOLOCK) WHERE membershipId = @code IF NOT EXISTS ( SELECT 'X' FROM customerMaster(NOLOCK) cm LEFT JOIN IntroducerCommissionSetup(NOLOCK) ics ON ics.IntroducerId = cm.customerId WHERE ics.IntroducerId = @sourceCustomerId ) BEGIN IF NOT EXISTS ( SELECT 'X' FROM Customer_Promotion(NOLOCK) WHERE sourceCustomerId = @sourceCustomerId AND destinationCustomerId = @customerId ) BEGIN SELECT @rewardAmount = ISNULL(detailDesc, 100) FROM staticDataValue(NOLOCK) WHERE valueId = '11435' AND typeId = 8106 AND isActive = 'Y' SELECT @totalDrAmount = SUM(ISNULL(amount, 0)) FROM Customer_Promotion CP(NOLOCK) WHERE sourceCustomerId = @sourceCustomerId AND tranType = 'DR' AND [status] = 1 SELECT @totalCrAmount = SUM(ISNULL(amount, 0)) FROM Customer_Promotion CP(NOLOCK) WHERE sourceCustomerId = @sourceCustomerId AND tranType = 'CR' AND [status] = 1 SELECT @runningBalance = ISNULL(@totalCrAmount, 0) - ISNULL(@totalDrAmount, 0) + ISNULL(@rewardAmount, 0) INSERT INTO Customer_Promotion ( sourceCustomerId ,destinationCustomerId ,code ,codeType ,referenceId ,rewardType ,amount ,createdDate ,[status] ,approvedDate ,tranType ,runningBalance ) SELECT @sourceCustomerId ,@customerId ,@code ,'REGISTRATION' ,@userName ,'REFER_EARN' ,@rewardAmount ,GETDATE() ,0 ,NULL ,'CR' ,@runningBalance END END END END ELSE BEGIN SELECT @customerId = customerId FROM customerMaster WITH (NOLOCK) WHERE username = @userName SELECT @CODE = REFERELCODE FROM customerMaster(NOLOCK) WHERE email = @username IF EXISTS ( SELECT 'x' FROM dbo.customerMaster(NOLOCK) WHERE username = @userName ) BEGIN UPDATE dbo.customerMaster SET occupation = ISNULL(@occupation, occupation) ,monthlyIncome = ISNULL(@monthlyIncome, monthlyIncome) ,employeeBusinessType = ISNULL(@businessType, employeeBusinessType) ,mobile = ISNULL(@mobile, mobile) ,ADDITIONALADDRESS = ISNULL(@additionalAddress, ADDITIONALADDRESS) ,idType = ISNULL(@idType, idType) ,documentType = ISNULL(@additionalIdType, documentType) ,nameOfEmployeer = ISNULL(@employeerName, nameOfEmployeer) ,visaStatus = ISNULL(@visaStatus, visaStatus) ,otherIdNumber = @otherIdType ,occupationOther = @otherOccupation ,purposeOfRegistration = ISNULL(@purposeOfRegistration, purposeOfRegistration) ,salaryRange = ISNULL(@monthlyIncome, monthlyIncome) WHERE username = @userName END END END IF @type = '1' BEGIN IF ISNULL(@idFront, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ,IDType ) SELECT ISNULL(@customerId, @cust) ,@idFront ,'idFrontCustUpload' ,@userName ,GETDATE() ,11394 ,'Y' ,@idType IF ISNULL(@idBack, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ,IDType ) SELECT ISNULL(@customerId, @cust) ,@idBack ,'idBackCustUpload' ,@userName ,GETDATE() ,11395 ,'Y' ,@idType IF ISNULL(@idSide, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ) SELECT ISNULL(@customerId, @cust) ,@idSide ,'idSideCustUpload' ,@userName ,GETDATE() ,11388 ,'Y' IF ISNULL(@additionalId, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ,IDType ) SELECT ISNULL(@customerId, @cust) ,@additionalId ,'additionalIdCustUpload' ,@userName ,GETDATE() ,11396 ,'Y' ,@additionalIdType IF ISNULL(@additionalIdBack, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ,IDType ) SELECT ISNULL(@customerId, @cust) ,@additionalIdBack ,'additionalIdBackCustUpload' ,@userName ,GETDATE() ,11397 ,'Y' ,@additionalIdType IF ISNULL(@facePicture, '') <> '' INSERT INTO customerDocument ( customerId ,fileName ,fileDescription ,createdBy ,createdDate ,documentType ,isOnlineDoc ,isProfilePic ) SELECT ISNULL(@customerId, @cust) ,@facePicture ,'SelfieCustUpload' ,@userName ,GETDATE() ,11440 --Face Picture ,'Y' ,'1' UPDATE dbo.customerMaster SET HasDeclare = 1 WHERE customerId = @customerId END COMMIT TRANSACTION IF @@TRANCOUNT = 0 BEGIN SELECT 0 AS ERRORCODE ,'KYC Submitted successfully' AS MSG ,@userName AS ID ,@cust AS EXTRA RETURN END EXEC proc_errorHandler 2 ,'Failed to Submit KYC' ,@userName RETURN END END