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.
 
 
 

320 lines
11 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[EXCHANGE_PROC_CUSTMOMERS] Script Date: 7/4/2019 11:35:48 AM ******/
DROP PROCEDURE [dbo].[EXCHANGE_PROC_CUSTMOMERS]
GO
/****** Object: StoredProcedure [dbo].[EXCHANGE_PROC_CUSTMOMERS] Script Date: 7/4/2019 11:35:48 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[EXCHANGE_PROC_CUSTMOMERS]
@FLAG VARCHAR(20),
@USER VARCHAR(50),
@CID INT = NULL,
@CNAME VARCHAR(100) = NULL,
@CADDRESS VARCHAR(100) = NULL,
@GENDER VARCHAR(10) = NULL,
@COUNTRY VARCHAR(200) = NULL,
@IDTYPE INT = NULL,
@IDNUMBER VARCHAR(50) = NULL,
@DOB DATE = NULL,
@POSTALCODE VARCHAR(50) = NULL,
@CONTACT VARCHAR(50) = NULL,
@EMAIL VARCHAR(100) = NULL,
@CTYPE INT = NULL,
@BRANCHID VARCHAR(30) = null,
@OCCUPATION INT = NULL,
@HASCHANGED VARCHAR(5) = NULL,
@docFor VARCHAR(5) = NULL,
@sessionId VARCHAR(60) = NULL,
@sortBy VARCHAR(50) = NULL,
@sortOrder VARCHAR(50) = NULL,
@pageSize INT = NULL,
@pageNumber INT = NULL
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
declare @nativCountry VARCHAR(50)
--SELECT @nativCountry = ref_code FROM StaticDataDetail where id = @COUNTRY
IF @FLAG = 'I'
BEGIN
IF EXISTS(SELECT TOP 1 'A' FROM EXCHANGE_CUSTOMERSETUP WHERE idNumber = @IDNUMBER AND idType = @IDTYPE)
begin
EXEC proc_errorHandler '1','ID Number is already added.',null
RETURN;
END
INSERT INTO EXCHANGE_CUSTOMERSETUP
(cName,cAddress,gender,nativCountry,idType,idNumber,dob,postalCode,contact,email,cType,occupation,branchId,createdBy
,createdDate,approvedBy,approvedDate)
SELECT @CNAME,@CADDRESS,@GENDER,@nativCountry,@IDTYPE, @IDNUMBER,@DOB,@POSTALCODE,@CONTACT,@EMAIL,@CTYPE,@OCCUPATION,@BRANCHID,@USER
,GETDATE(),CASE WHEN @CTYPE = '276' THEN @USER ELSE NULL END,CASE WHEN @CTYPE = '276' THEN GETDATE() ELSE NULL END
EXEC proc_errorHandler '0','Record added successfully!',null
RETURN;
END
ELSE IF @FLAG = 'U'
BEGIN
IF EXISTS(SELECT TOP 1 'A' FROM EXCHANGE_CUSTOMERSETUP WHERE cid = @CID AND approvedDate IS NULL)
BEGIN
EXEC proc_errorHandler '1','Sorry,Record is waiting for Approval',null
RETURN;
END
IF EXISTS(SELECT TOP 1 'A' FROM EXCHANGE_CUSTOMERSETUP WHERE idNumber = @IDNUMBER AND idType = @IDTYPE AND cid <> @CID)
begin
EXEC proc_errorHandler '1','ID Number is already added.',null
RETURN;
END
UPDATE A SET acct_name = @CNAME
from EXCHANGE_CUSTOMERSETUP C
INNER join FastMoneyPro_Account.dbo.ac_master a on c.cid = a.acct_type_code and a.acct_rpt_code ='C'
where cid = @CID AND branch_id = @BRANCHID
UPDATE EXCHANGE_CUSTOMERSETUP
SET
--CNAME = @CNAME,
CADDRESS = @CADDRESS,
GENDER = @GENDER,
nativCountry= @nativCountry,
--IDTYPE = @IDTYPE,
--IDNUMBER = @IDNUMBER,
--DOB = @DOB,
POSTALCODE = @POSTALCODE,
CONTACT = @CONTACT,
EMAIL = @EMAIL,
--CTYPE = @CTYPE,
occupation = @OCCUPATION,
modifyBy = @USER,
modifyDate = GETDATE()
--approvedDate= CASE WHEN @CTYPE = '726' THEN @USER ELSE NULL END,
--approvedBy = CASE WHEN @CTYPE = '726' THEN GETDATE() ELSE NULL END
WHERE CID = @CID
EXEC proc_errorHandler '0','Record updated successfully!',@CID
RETURN;
END
ELSE IF @FLAG = 'TXNC'-- UPDATE TXN CUSTOMERS
BEGIN
UPDATE EXCHANGE_TRANSACTION_INFO
SET customer_name = @CNAME,
id_type = @IDTYPE,
id_number = @IDNUMBER,
Nationality = @nativCountry,
contact = @CONTACT,
party = @CTYPE
WHERE tran_id = @CID
UPDATE EXCHANGE_CUSTOMER
SET ct_name = @CNAME,
ct_address = @CADDRESS,
ct_card_type = @IDTYPE,
ct_card_no = @IDNUMBER,
Nationality = @nativCountry,
contact = @CONTACT,
ct_dob = @DOB,
modifyBy = @USER,
modifyDate = GETDATE()
WHERE tran_id = @CID
SELECT '0' code, 'Record updated successfully!' msg
RETURN;
--ALTER TABLE Customer ADD midifyBy VARCHAR(50), modifyDate DATETIME
END
ELSE IF @FLAG = 's'-->> CUSTOMER LIST FOR AGENT/BRANCH
BEGIN
DECLARE @table VARCHAR(MAX),@sql_filter VARCHAR(100),@select_field_list VARCHAR(MAX),@extra_field_list VARCHAR(10)
IF @sortBy IS NULL
SET @sortBy = 'cName'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table = '(SELECT b.branch_id,b.branch_name,c.cid,c.cName,c.caddress,c.nativCountry ncountry,i.ref_code idName,c.idNumber,c.dob,c.contact,C.CTYPE
,status = case when c.approvedDate is null THEN ''No'' ELSE ''Yes'' END,c.createdBy,c.createdDate
FROM EXCHANGE_CUSTOMERSETUP C WITH(NOLOCK)
LEFT JOIN branches B WITH(NOLOCK) ON c.branchId = B.branch_id
LEFT JOIN StaticDataDetail cm ON c.country = cm.id AND cm.type_id = 1
LEFT JOIN StaticDataDetail i ON C.idtype = i.id
LEFT JOIN AC_MASTER A ON c.cid = a.acct_type_code and a.acct_rpt_code =''C''
where 1=1 ) x'
SET @sql_filter = ''
--IF @BRANCHID IS NOT NULL
-- SET @sql_filter = @sql_filter +' AND branch_id = '''+@BRANCHID+''''
IF @CNAME IS NOT NULL
SET @sql_filter = @sql_filter + ' AND cName like '''+@CNAME+'%'''
IF @CTYPE IS NOT NULL
SET @sql_filter = @sql_filter +' AND CTYPE = '''+CAST(@CTYPE AS VARCHAR)+''''
IF @HASCHANGED IS NOT NULL
SET @sql_filter = @sql_filter + ' AND status = '''+@HASCHANGED+''''
IF @BRANCHID IS NOT NULL
SET @sql_filter = @sql_filter + ' AND branch_id = '''+@BRANCHID+''''
SET @select_field_list ='
cid
,branch_name
,cName
,caddress
,ncountry
,idName
,idNumber
,dob
,contact
,status
,CTYPE
,createdBy
,createdDate'
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
ELSE IF @FLAG = 'ApproveList'-->> UNAPPROVE CUSTOMER LIST
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'cName'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table = '(SELECT b.agentId,c.cid,c.cName,c.caddress,sd.type_id ncountry,sd.ref_desc idName,c.idNumber,c.dob,c.contact,C.CTYPE
,c.createdBy,c.createdDate,b.agentName as branch_name
FROM EXCHANGE_CUSTOMERSETUP C WITH(NOLOCK)
inner JOIN agentmaster B WITH(NOLOCK) ON B.agentId = c.branchId
LEFT JOIN FastMoneyPro_Account.dbo.staticdatadetail (NOLOCK) sd ON sd.id=c.idType
--LEFT JOIN StaticDataDetail cm ON c.country = cm.id AND cm.type_id = 1
--LEFT JOIN StaticDataDetail i ON C.idtype = i.id
--LEFT JOIN AC_MASTER A ON c.cid = a.acct_type_code and a.acct_rpt_code =''C''
where 1=1 AND c.approvedDate IS NULL
) x'
SET @sql_filter = ''
IF @CNAME IS NOT NULL
SET @sql_filter = @sql_filter + ' AND cName = '''+@CNAME+''''
IF @CTYPE IS NOT NULL
SET @sql_filter = @sql_filter +' AND CTYPE = '''+CAST(@CTYPE AS VARCHAR)+''''
IF @DOB IS NOT NULL
SET @sql_filter= @sql_filter +' AND CAST(createdDate AS DATE)='''+CAST(@DOB AS VARCHAR)+''''
IF @BRANCHID IS NOT NULL
SET @sql_filter = @sql_filter + ' AND agentId = '''+@BRANCHID+''''
SET @select_field_list ='
cid
,cName
,caddress
,ncountry
,idName
,idNumber
,dob
,contact
,CTYPE
,createdBy
,createdDate
,branch_name'
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
ELSE IF @FLAG = 'approve'
BEGIN
UPDATE EXCHANGE_CUSTOMERSETUP
SET approvedBy = @USER,
approvedDate = GETDATE()
WHERE cid = @CID
UPDATE EXCHANGE_CUSTOMERDOCUMENT
SET approvedBy = @USER,
approvedDate = GETDATE()
WHERE cId = @CID
EXEC proc_errorHandler '0','Record Approved successfully!',null
RETURN
END
ELSE IF @FLAG = 'D'
BEGIN
DELETE FROM dbo.EXCHANGE_CUSTOMERSETUP WHERE branchId = @BRANCHID AND CID = @CID
EXEC proc_errorHandler '0','Record deleted successfully!',null
END
ELSE IF @FLAG = 'sById' -->> SELECT BY ID
BEGIN
SELECT cName,cAddress,gender,idNumber,cType,idType,nativCountry,contact,dob,occupation,email,postalCode
,approvedBy = CASE WHEN @BRANCHID = branchId THEN approvedBy ELSE 'system' END
FROM EXCHANGE_CUSTOMERSETUP WHERE cid = @CID
END
----## DOCUMENT UPLOAD
ELSE IF @FLAG = 'docUpl' -- DOCUMENT UPLOAD
BEGIN
SELECT @CTYPE = cType FROM EXCHANGE_CUSTOMERSETUP WHERE cid = @CID
SELECT @CNAME = CAST(ISNULL(MAX(cdId),0) AS VARCHAR)+'_'+ @CNAME FROM CustomerDocument
IF @CNAME IS NOT NULL
BEGIN
INSERT INTO EXCHANGE_CUSTOMERDOCUMENT(cid,fileName,fileDescription,fileType,createdBy,createdDate,branchId,approvedBy,approvedDate)
SELECT @CID,@CNAME,@CADDRESS,RIGHT(@CNAME,LEN(@CNAME)-CHARINDEX('.',@CNAME)),@USER,GETDATE(),@BRANCHID
,CASE WHEN @CTYPE ='276' THEN @USER ELSE NULL END,CASE WHEN @CTYPE ='276' THEN GETDATE() ELSE NULL END
EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
END
ELSE
EXEC proc_errorHandler '1','Filename is missing',@CNAME
END
ELSE IF @FLAG = 'AdocUpl' --## SELECT DOCUMENT
BEGIN
SELECT * FROM EXCHANGE_CUSTOMERDOCUMENT WITH(NOLOCK) WHERE cid = @CID AND ISNULL(isDeleted,'N') ='N'
END
ELSE IF @FLAG = 'DdocUpl'
BEGIN
SELECT @CNAME = fileName FROM EXCHANGE_CUSTOMERDOCUMENT where cdId = @CID
UPDATE customerDocument SET isDeleted ='Y' where cdId = @CID
EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
END
ELSE IF @FLAG = 'txnDoc' --## SELECT TRANSACTION DOCUMENT
BEGIN
SELECT fileName,fileDescription,fileType, 'system' approvedBy FROM EXCHANGE_TRANSACTIONDOCUMENT WITH(NOLOCK) WHERE tranId = @CID
RETURN
END
--## TEMP DOCUMENT UPLOAD
ELSE IF @FLAG = 'TempdocUpl' -- DOCUMENT UPLOAD
BEGIN
SELECT @CNAME = CAST(ISNULL(MAX(cdId),0) AS VARCHAR)+'_'+ @CNAME FROM CustomerDocument
IF @CNAME IS NOT NULL
BEGIN
INSERT INTO EXCHANGE_TEMPCUSTOMERDOCUMENT(docName,docDesc,docType,createdBy,createdDate,branchId,sessionId,docFor)
SELECT @CNAME,@CADDRESS,RIGHT(@CNAME,3),@USER,GETDATE(),@BRANCHID,@sessionId,@docFor
EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
END
ELSE
EXEC proc_errorHandler '1','Filename is missing',@CNAME
END
ELSE IF @FLAG = 'TempAdocUpl' --## SELECT DOCUMENT
BEGIN
SELECT * FROM EXCHANGE_TEMPCUSTOMERDOCUMENT WITH(NOLOCK) WHERE sessionId = @sessionId AND branchId = @BRANCHID AND ISNULL(docFor,'C') = @docFor
END
ELSE IF @FLAG = 'TempDdocUpl' --Delete temp doc
BEGIN
SELECT @CNAME = docName FROM EXCHANGE_TEMPCUSTOMERDOCUMENT where cId = @CID
DELETE FROM EXCHANGE_TEMPCUSTOMERDOCUMENT where cId = @CID
EXEC proc_errorHandler '0','Document uploaded successfully!',@CNAME
END
GO