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.
 
 

314 lines
15 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_customerBankModify] Script Date: 9/11/2023 7:00:17 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[proc_customerBankModify] (
@flag VARCHAR(20)
,@user VARCHAR(50) = NULL
,@searchKey VARCHAR(30) = NULL
,@searchValue VARCHAR(100) = NULL
,@bankId VARCHAR(10) = NULL
,@accNumber VARCHAR(30) = NULL
,@customerId VARCHAR(10) = NULL
,@acNameInBank NVARCHAR(50) = NULL
,@verifyDoc3 VARCHAR(100) = NULL
,@rowId INT = NULL
,@action VARCHAR(50) = ''
)
AS
-------------------------------------------------------
---Modifed June 15, 2021 -> check active condition for TBL_JAPAN_ADDRESS_DETAIL
--EXEC [dbo].[proc_customerBankModify] @flag = N'customerZip',@user = N'ajey',@searchKey = N'0391531'
--#134 -> Allow edit option of address in Town Area
-- Remove duplicates on TOWN AREA LIST
--Revised logic for town are
----------------------------------------------------------
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN
IF @flag = 'customerZip'
BEGIN
DECLARE @TOWN_AREA NVARCHAR(200)
CREATE TABLE #ADDRESS (
errorCode INT
,msg VARCHAR(50)
,ROW_ID BIGINT
,STATE_ID INT
,ZIP_CODE VARCHAR(20)
,CITY_NAME NVARCHAR(150)
,STREET_NAME NVARCHAR(150)
,ORDER_BY TINYINT
,SELECTED CHAR(1)
,DEFAULT_ CHAR(1)
)
INSERT INTO #ADDRESS
SELECT errorCode = 0
,msg = 'Success'
,customerId ROW_ID
,state STATE_ID
,zipCode ZIP_CODE
,CITY_NAME = city
,STREET_NAME =address
,ORDER_BY = 1
,SELECTED = 'N'
,DEFAULT_='Y'
FROM customerMaster D(NOLOCK)
WHERE customerId = @customerId
SELECT *
FROM #ADDRESS
WHERE DEFAULT_ IN ('Y')
ORDER BY ORDER_BY
RETURN;
END
IF @flag = 'customerZipAdmin'
BEGIN
DECLARE @TOWN_AREA_A NVARCHAR(200)
IF @searchKey IS NULL
SELECT @searchKey = ZIP_CODE
FROM TBL_JAPAN_ADDRESS_DETAIL(NOLOCK)
WHERE ROW_ID = @rowId
AND IS_ACTIVE = 1;
IF NOT EXISTS (
SELECT 1
FROM TBL_JAPAN_ADDRESS_DETAIL D(NOLOCK)
WHERE ZIP_CODE = @searchKey
AND IS_ACTIVE = 1
)
BEGIN
EXEC proc_errorHandler '1'
,'Invalid Attempt!'
,NULL
RETURN
END
CREATE TABLE #ADDRESS_1 (
errorCode INT
,msg VARCHAR(50)
,ROW_ID BIGINT
,STATE_ID INT
,ZIP_CODE VARCHAR(20)
,CITY_NAME NVARCHAR(150)
,STREET_NAME NVARCHAR(150)
,ORDER_BY TINYINT
,SELECTED CHAR(1)
,DEFAULT_ CHAR(1)
)
INSERT INTO #ADDRESS_1
SELECT errorCode = 0
,msg = 'Success'
,ROW_ID
,STATE_ID
,ZIP_CODE
,CITY_NAME = CITY_NAME + ISNULL(' - ' + CITY_JAPANESE, '')
,STREET_NAME = STREET_NAME + ISNULL(' - ' + STREET_JAPANESE, '')
,ORDER_BY = 1
,SELECTED = 'Y'
,DEFAULT_='Y'
FROM TBL_JAPAN_ADDRESS_DETAIL D(NOLOCK)
WHERE ZIP_CODE = @searchKey
AND IS_ACTIVE = 1
IF ISNULL(@customerId, '') <> '' AND @action = 'LOAD'
BEGIN
SELECT @TOWN_AREA_A = ISNULL(streetUnicode,'') --1265
FROM customerMaster(NOLOCK)
WHERE customerId = @customerId
IF @TOWN_AREA_A IS NULL
BEGIN
SELECT @TOWN_AREA_A = STREET_NAME + ISNULL(' - ' + STREET_JAPANESE, '')
FROM TBL_JAPAN_ADDRESS_DETAIL
WHERE ZIP_CODE = @searchKey
END
--SELECT @TOWN_AREA_A;
IF EXISTS (
SELECT *
FROM #ADDRESS_1
WHERE STREET_NAME = @TOWN_AREA_A
)
BEGIN
UPDATE #ADDRESS_1
SET ORDER_BY = 0
,SELECTED = 'Y'
,DEFAULT_= 'U'
WHERE STREET_NAME = @TOWN_AREA_A
END
ELSE
BEGIN
IF @TOWN_AREA_A IS NOT NULL
BEGIN
INSERT INTO #ADDRESS_1
SELECT TOP 1 errorCode
,msg
,ROW_ID
,STATE_ID
,ZIP_CODE
,CITY_NAME
,STREET_NAME = @TOWN_AREA_A
,ORDER_BY = 0
,SELECTED = 'Y'
,DEFAULT_='N'
FROM #ADDRESS_1 A
END
END
SELECT *
FROM #ADDRESS_1
WHERE DEFAULT_ IN ('U','N')
ORDER BY ORDER_BY
END
IF ISNULL(@customerId, '') <> '' AND @action = 'EDIT'
BEGIN
SELECT *
FROM #ADDRESS_1
WHERE DEFAULT_ IN ('Y')
ORDER BY ORDER_BY
END
IF ISNULL(@customerId, '') = ''
BEGIN
SELECT *
FROM #ADDRESS_1
WHERE DEFAULT_ IN ('Y')
ORDER BY ORDER_BY
END
END
ELSE IF @flag = 'S'
BEGIN
IF @searchKey IS NULL
OR @searchValue IS NULL
BEGIN
EXEC proc_errorHandler '1'
,'Invalid Attempt!'
,NULL
RETURN
END
--@Max - 2018.09
DECLARE @sql VARCHAR(MAX) = 'SELECT TOP 1 0 errorCode, CM.customerId, CM.fullName,
CM.bankAccountNo, CM.idNumber, KB.BankName, KB.bankCode, CM.homePhone, CM.verifyDoc3,
idType,
CONVERT(VARCHAR(6), CM.dob, 12) AS [dob],
CASE WHEN CM.nativeCountry = 238 THEN 1
WHEN CM.nativeCountry = 113 THEN 2
WHEN CM.nativeCountry = 45 THEN 3
ELSE 4 END AS [nativeCountryCode],
CASE WHEN CM.gender = 97 THEN 7
WHEN CM.gender = 98 THEN 8 END AS [genderCode]
FROM customerMaster CM(NOLOCK)
INNER JOIN KoreanBankList KB(NOLOCK) ON KB.rowId = CM.bankName
WHERE REPLACE(' + @searchKey + ', ''-'', '''') = REPLACE(''' + @searchValue + ''', ''-'', '''')'
EXEC (@sql)
END
ELSE IF @flag = 'customervf' -- customer verification details
BEGIN
DECLARE @sqls VARCHAR(800) = '
SELECT ''0'' As Code,
cm.fullName AS name,
ISNULL(cm.mobile,cm.homePhone) AS mobile,
cm.gender AS gender,
cm.idType As idType,
cm.idNumber As idNumber,
FORMAT(cm.dob,''MM/dd/yyyy'')AS dob,
cm.bankName AS bankName,
k.bankCode As bankCode,
cm.bankAccountNo AS accountNo,
cm.nativeCountry AS country,
obpId AS obpId,
walletAccountNo AS wallletNo
FROM customerMaster cm (NOLOCK)
INNER JOIN KoreanBankList k (nolock) on k.rowId = cm.bankName
WHERE ' + @searchKey + ' = ''' + @searchValue + ''' '
PRINT @sqls
EXEC (@sqls)
END
ELSE IF @flag = 'DDL'
BEGIN
SELECT BankName
,bankCode
FROM KoreanBankList(NOLOCK)
ORDER BY BankName ASC
END
ELSE IF @flag = 'U'
BEGIN
IF @user IS NULL
BEGIN
EXEC proc_errorHandler '1'
,'Please login first to modify customer!'
,NULL
RETURN
END
IF NOT EXISTS (
SELECT 1
FROM customerMaster(NOLOCK)
WHERE customerId = @customerId
)
BEGIN
EXEC proc_errorHandler '1'
,'Some thing went wrong this time, please try again later!'
,NULL
RETURN
END
--LOG FOR CUSTOMER UPDATE
EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i'
,@email = NULL
,@idNumber = NULL
,@bank = @bankId
,@accNumber = @accNumber
,@customerId = @customerId
,@mobileNumber = NULL
,@user = @user
UPDATE CM
SET CM.bankName = KB.rowId
,CM.bankAccountNo = @accNumber
,CM.CustomerBankName = @acNameInBank
,CM.verifyDoc3 = ISNULL(@verifyDoc3, CM.verifyDoc3)
FROM customerMaster CM(NOLOCK)
INNER JOIN KoreanBankList KB(NOLOCK) ON KB.bankCode = @bankId
WHERE CM.customerId = @customerId
EXEC proc_errorHandler '0'
,'Details updated successfully!'
,NULL
END
ELSE IF @flag = 'Audit'
BEGIN
UPDATE customerMaster
SET AuditBy = @user
,AuditDate = GETDATE()
WHERE customerId = @customerId
EXEC proc_errorHandler '0'
,'Document marked as Audited'
,NULL
RETURN
END
END
--select * from TBLCUSTOMERMODIFYLOGS
--select bankName, bankAccountNo,* from customerMaster where customerId =3