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.
 
 

1391 lines
64 KiB

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