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.
233 lines
8.9 KiB
233 lines
8.9 KiB
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
|