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

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