|
|
USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[mobile_proc_customerMaster] Script Date: 9/10/2019 10:20:25 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER PROCEDURE MOBILE_PROC_CUSTOMERMASTER_V4 @flag VARCHAR(30) ,@userId VARCHAR(100) = NULL ,@type INT = NULL ,@fullName VARCHAR(200) = NULL ,@gender VARCHAR(15) = NULL ,@dob VARCHAR(10) = NULL ,@email VARCHAR(100) = NULL ,@city VARCHAR(50) = NULL ,@address VARCHAR(150) = NULL ,@nativeCountry VARCHAR(20) = NULL ,@bankId VARCHAR(200) = NULL ,@bankAccount VARCHAR(100) = NULL ,@passportNumber VARCHAR(100) = NULL ,@passportIssueDate DATETIME = NULL ,@passportExpiryDate DATETIME = NULL ,@anotherIDType VARCHAR(20) = NULL ,@anotherIDNumber VARCHAR(20) = NULL ,@anotherIDIssueDate DATETIME = NULL ,@anotherIDExpiryDate DATETIME = NULL ,@branch VARCHAR(20) = NULL ,@referralCode VARCHAR(100) = NULL ,@passportPicture VARCHAR(200) = NULL ,@anotherIDPicture VARCHAR(200) = NULL ,@Occupation VARCHAR(100) = NULL AS SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN TRY DECLARE @errorMsg VARCHAR(MAX) ,@customerId BIGINT
,@cust BIGINT = NULL ,@vAction VARCHAR(10) ,@Custdob VARCHAR(10) ,@IdType VARCHAR(100) ,@country INT
SET @Custdob =@dob SET @country=118 SET @fullName=UPPER(@fullName) IF @flag = 'i-V4' BEGIN SELECT TOP 1 @customerId = customerId FROM customerMasterTemp WITH (NOLOCK) WHERE username = @userId DECLARE @verificationCode varchar(40) SET @verificationCode = LEFT(NEWID(), 7); SET @IdType='10997'
IF @nativeCountry='JP' BEGIN SET @passportNumber = @anotherIDNumber SET @passportIssueDate = @anotherIDIssueDate SET @passportExpiryDate = @anotherIDExpiryDate SET @IdType = @anotherIDType SET @passportPicture = @anotherIDPicture
END
IF @passportNumber IS NOT NULL BEGIN IF EXISTS(SELECT TOP 1 'x' FROM dbo.customerMaster(NOLOCK) WHERE idNumber = @passportNumber AND email<>@userId ) OR EXISTS(SELECT TOP 1 'x' FROM dbo.customerMasterTemp(NOLOCK) WHERE idNumber = @passportNumber AND username <> @userId) BEGIN SELECT '1' ErrorCode, 'Passport Id number already exist. Please contact GME HO.' Msg, NULL Id, NULL Extra, NULL Extra2 RETURN END END IF @anotherIDType IS NOT NULL AND @anotherIDNumber IS NOT NULL BEGIN IF EXISTS(SELECT 'x' FROM dbo.customerMaster(NOLOCK) WHERE anotherIDNumber = @anotherIDNumber AND email<>@userId ) OR EXISTS(SELECT 'x' FROM dbo.customerMasterTemp(NOLOCK) WHERE anotherIDNumber = @anotherIDNumber AND username<>@userId) BEGIN SELECT '1' ErrorCode, 'Another Id number already exist. Please contact GME HO.' Msg, NULL Id, NULL Extra, NULL Extra2 RETURN END END IF(ISDATE(@Custdob)=0) or @Custdob IS NULL BEGIN EXEC dbo.proc_errorHandler 1,'Invalid DOB found ',@customerId RETURN; END IF @bankId IN(4,23) BEGIN SELECT @bankId = CASE WHEN LEFT(@bankAccount,3) IN ('351','352','356','355', '354','360','384','394','398', '398') THEN '23' ELSE '4' END END
IF @customerId IS NULL BEGIN IF NOT EXISTS (SELECT TOP 1 'A' FROM dbo.customerMaster(NOLOCK) WHERE EMAIL = @userId) BEGIN EXEC proc_errorHandler 1, 'Customer doesnot exist in system', @userId RETURN END IF EXISTS(SELECT TOP 1 'A' FROM customerMaster(NOLOCK) WHERE EMAIL = @userId) BEGIN UPDATE dbo.customerMaster SET
fullName = @fullName, firstName = @fullName, middleName = '', lastName1 = '', gender = CASE WHEN UPPER(@gender) = 'M' THEN '97' WHEN UPPER(@gender) = 'F' THEN '98' ELSE '99' END , dob = @Custdob, customerEmail = ISNULL(@email,customeremail), homePhone = ISNULL(@passportNumber,homePhone), city = ISNULL(@city,city), [address] = ISNULL(@address,address), occupation = ISNULL(@Occupation,occupation), bankName = ISNULL(@bankId,bankName), bankAccountNo = ISNULL(@bankAccount,bankAccountNo), idNumber = ISNULL(@passportNumber,idNumber), idType = CASE WHEN ISNULL(@passportNumber,idType) IS NOT NULL THEN @IdType ELSE NULL END, idIssueDate = ISNULL(@passportIssueDate,idIssueDate), idExpiryDate = ISNULL(@passportExpiryDate,idExpiryDate), anotherIdType = @anotherIDType , anotherIDNumber = @anotherIDNumber , anotherIDIssueDate= @anotherIDIssueDate, anotherIDExpiryDate=@anotherIDExpiryDate, branchId = ISNULL(@branch,branchId), referelCode = ISNULL(@referralCode,referelCode) , verifyDoc1 = @passportPicture, verifyDoc2 = @anotherIDPicture, agreeYn = agreeYn, country = @country, modifiedBy = @userId, modifiedDate = GETDATE() WHERE EMAIL = @userId END END ELSE BEGIN UPDATE dbo.customerMasterTemp SET
fullName = @fullName, firstName = @fullName, gender = CASE WHEN UPPER(@gender) = 'M' THEN '97' WHEN UPPER(@gender) = 'F' THEN '98' ELSE '99' END , dob = @Custdob, customerEmail = ISNULL(@email,customeremail), homePhone = ISNULL(@passportNumber,homePhone), city = ISNULL(@city,city), [address] = ISNULL(@address,address), occupation = ISNULL(@Occupation,occupation), bankName = ISNULL(@bankId,bankName), bankAccountNo = ISNULL(@bankAccount,bankAccountNo), idNumber = ISNULL(@passportNumber,idNumber), idType = CASE WHEN ISNULL(@passportNumber,idType) IS NOT NULL THEN @IdType ELSE NULL END, idIssueDate = ISNULL(@passportIssueDate,idIssueDate), idExpiryDate = ISNULL(@passportExpiryDate,idExpiryDate), anotherIdType = @anotherIDType , anotherIDNumber = @anotherIDNumber , anotherIDIssueDate= @anotherIDIssueDate, anotherIDExpiryDate=@anotherIDExpiryDate, branchId = ISNULL(@branch,branchId), referelCode = ISNULL(@referralCode,referelCode) , verifyDoc1 = @passportPicture, verifyDoc2 = @anotherIDPicture, modifiedBy = @userId, modifiedDate = GETDATE(), agreeYn = agreeYn, country = @country WHERE customerId = @customerId IF @type IN(1,2) BEGIN IF EXISTS(SELECT TOP 1 'X' FROM customerMaster with (nolock) WHERE email = @userId and ISNULL(onlineUser, 'N')='Y' and isnull(isDeleted,'N')='N' ) BEGIN SELECT @errorMsg = 'Customer with same ID ' + @userId + ' already exist.' EXEC proc_errorHandler 1, @errorMsg, @customerId RETURN END IF EXISTS(SELECT TOP 1 'X' FROM customerMaster with (nolock) WHERE replace(idNumber,'-','') = replace(@passportNumber, '-', '') ) BEGIN SELECT @errorMsg = 'Customer with idnumber ' + @passportNumber + ' already exist.' EXEC proc_errorHandler 1, @errorMsg, @customerId RETURN END -- check for customer with same Name and same DOB
IF EXISTS(SELECT TOP 1 'X' FROM customerMaster WITH(NOLOCK) WHERE fullName =@fullName AND dob=@dob AND ISNULL(onlineUser, 'N')='Y' and isnull(isDeleted,'N')='N') BEGIN SELECT @errorMsg = 'It looks like you have already registered with GME. <br>
Please contact us on +02-3673-5559 or e-mail us at support@gmeremit.com for any assistance.'
EXEC proc_errorHandler 1, @errorMsg, @customerId RETURN END INSERT INTO dbo.customerMaster ( fullName,firstName,middleName,lastName1,lastname2,mobile,email,customerEmail,gender,dob,nativeCountry,city,[address],country,bankName,bankAccountNo,idType,idNumber,homePhone,idIssueDate ,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,referelCode,createdBy,createdDate,isActive,onlineUser,customerPassword ,customerType ,verificationCode,anotherIDType,anotherIDNumber,anotherIDIssueDate,anotherIDExpiryDate, agreeYn,occupation ) SELECT fullName,CMT.firstName,CMT.middleName,CMT.lastName1,lastname2,mobile,email,customerEmail,gender,dob,nativeCountry,CMT.city,CMT.address,118,bankName,bankAccountNo,idType,idNumber,CMT.homePhone, CMT.idIssueDate,idExpiryDate,sourceOfFund,verifyDoc1,verifyDoc2,CMT.referelCode,CMT.createdBy,GETDATE(),'Y','Y',customerPassword ,4701 ,@verificationCode ,anotherIDType,anotherIDNumber,anotherIDIssueDate,anotherIDExpiryDate, agreeYn,CMT.occupation FROM dbo.CustomerMasterTemp AS CMT(NOLOCK) WHERE CMT.customerId = @customerId SET @cust = @@IDENTITY UPDATE dbo.mobile_userRegistration SET customerId=@cust WHERE username=@userId DELETE FROM customerMasterTemp WHERE username=@userId
END END SELECT 0 as ERRORCODE, 'KYC Submitted successfully' AS MSG, @userId AS ID,@cust AS EXTRA RETURN END EXEC proc_errorHandler 1, 'Failed to Submit KYC', @userId RETURN
END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION DECLARE @errorMessage VARCHAR(MAX) SET @errorMessage = ERROR_MESSAGE() SELECT '1' ErrorCode, @errorMessage Msg ,NULL ID END CATCH
|