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.
 
 
 

399 lines
24 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[INBOUND_PROC_TRANSACTION_VIEW] Script Date: 9/27/2019 1:30:13 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[INBOUND_PROC_TRANSACTION_VIEW] (
@flag VARCHAR(50)
,@user VARCHAR(30) = NULL
,@controlNo VARCHAR(30) = NULL
,@tranId BIGINT = NULL
,@message VARCHAR(500) = NULL
,@messageComplaince VARCHAR(500) = NULL
,@messageOFAC VARCHAR(500) = NULL
,@lockMode CHAR(1) = NULL
,@viewType VARCHAR(50) = NULL
,@viewMsg VARCHAR(MAX) = NULL
,@branch INT = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(5) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
,@ip VARCHAR(MAX) = NULL
,@dcInfo VARCHAR(MAX) = NULL
)
AS
DECLARE @controlNoEncrypted VARCHAR(100)
,@tranStatus VARCHAR(50)
SET NOCOUNT ON;
SET XACT_ABORT ON;
IF @controlNo IS NOT NULL
BEGIN
SET @controlNo = UPPER(@controlNo)
SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
SELECT @tranId = id, @tranStatus = tranStatus FROM dbo.INBOUND_VIEW_REMIT_TRAN WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
END
ELSE IF @tranId IS NOT NULL
BEGIN
SELECT @controlNoEncrypted = controlNo, @tranStatus = tranStatus ,@controlNo = dbo.FNADecryptString(controlNo)
FROM INBOUND_VIEW_REMIT_TRAN WITH(NOLOCK) WHERE id = @tranId
END
IF @flag = 's'
BEGIN
EXEC proc_tranViewHistory 'i', @user, @tranId, @controlNo, NULL,@viewType,@viewMsg
--Transaction Details
SELECT
tranId = trn.id
,controlNo = dbo.FNADecryptString(trn.controlNo)
--Sender Information
,sCustomerId = sen.customerId
,senderName = sen.firstName + ISNULL( ' ' + sen.middleName, '') + ISNULL( ' ' + sen.lastName, '')
,sCity = isnull(sen.city,'')
,sAddress = sen.address
,sContactNo = sen.mobile
,sIdType = ISNULL(sdv.detailTitle,sen.idType)
,sIdNo = sen.idNumber
,sValidDate = sen.validDate
,sEmail = sen.email
,extCustomerId = ''
--Receiver Information
,rMemId = ''
,rCustomerId = rec.customerId
,receiverName = rec.firstName + ISNULL( ' ' + rec.middleName, '') + ISNULL( ' ' + rec.lastName, '')
,rCountryName = rec.nativeCountry
,rCity = isnull(rec.city,'')
,rAddress = rec.address
,rContactNo = rec.mobile
,rIdType = rec.idType
,rIdNo = rec.idNumber
--Sending Agent Information
,sAgentName = trn.sAgentName
,sAgentCountry = sa.agentCountry
,sCountryName = trn.sCountry
,sAgentEmail = ISNULL(sa.agentEmail1,sa.agentEmail2)
--Payout Agent Information
,pAgentName =trn.pAgentName
,pAgentCountry = trn.pCountry
,trn.tAmt
,trn.serviceCharge
,handlingFee = 0
,sAgentComm = 0
,sAgentCommCurrency ='USD'
,pAgentComm = ISNULL(pAgentComm,0)
,pAgentCommCurrency = ISNULL(pAgentCommCurrency,0)
,exRate = 0
,cAmt= ISNULL(trn.tAmt,0) + ISNULL(trn.serviceCharge,0)
,pAmt = trn.pAmt
,relationship = ISNULL(sdv1.detailTitle, ' ')
,purpose = ISNULL(trn.purposeOfRemit, '-')
,sourceOfFund = ISNULL(trn.sourceOfFund, '-')
,collMode = ''
,trn.collCurr
,paymentMethod = CASE WHEN trn.paymentMethod = '1' THEN 'CASH PAYMENT'
WHEN trn.paymentMethod = '2' THEN 'BANK DEPOSIT'
ELSE '' END
,trn.payoutCurr
,trn.chargeCurrency
,accountNo = trn.accountNo
,BankName = trn.pBankName
,trn.payStatus
,payoutMsg = ''
,trn.createdBy
,trn.createdDate
,approvedBy = au.userName
,trn.approvedDate
,trn.paidBy
,trn.paidDate
,trn.cancelRequestBy
,trn.cancelRequestDate
,trn.cancelApprovedBy
,trn.cancelApprovedDate
,lockedBy= '' --trn.lockedBy
,lockedDate='' --trn.lockedDate
,payTokenId='' --trn.payTokenId
,trn.tranStatus
,tranType='' --trn.tranType
,holdTranId=''--trn.holdTranId
,sTelNo = ''
,rTelNo = ''
,CashOrBank = CASE WHEN UPPER(trn.paymentMethod) = '2' THEN 'BANK'
ELSE 'CASH' END
,purposeOfRemit = ISNULL(trn.purposeOfRemit, '-')
,custRate = 0
,settRate = 0
,nativeCountry = sen.nativeCountry
FROM dbo.INBOUND_VIEW_REMIT_TRAN trn WITH(NOLOCK)
LEFT JOIN dbo.INBOUND_VIEW_TRAN_SENDERS sen WITH(NOLOCK) ON trn.id = sen.tranId
LEFT JOIN dbo.INBOUND_VIEW_TRAN_RECEIVERS rec WITH(NOLOCK) ON trn.id = rec.tranId
LEFT JOIN agentMaster sa WITH(NOLOCK) ON trn.sAgent = sa.agentId
LEFT JOIN dbo.applicationUsers au WITH(NOLOCK) ON trn.approvedBy = au.agentCode
LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON sen.idType=CAST(sdv.valueId AS VARCHAR)
LEFT JOIN staticDataValue sdv1 WITH(NOLOCK) ON sdv1.valueId =trn.relWithSender AND sdv1.typeID='2100'
WHERE
trn.controlNo = @controlNoEncrypted OR
trn.id = @tranId
--## Log Details
SELECT
id
,[MESSAGE]
,msgType
,itt.createdBy
,itt.createdDate
,fileType = ''
FROM INBOUND_TROUBLE_TICKET itt WITH(NOLOCK)
LEFT JOIN applicationUsers au WITH(NOLOCK) ON itt.createdBy = au.userName
WHERE itt.controlNo = @controlNoEncrypted OR tranId = @tranId
ORDER BY itt.createdDate DESC
END
IF @flag = 'showLog' --Add Comment
BEGIN
--Log Details---------------------------------------------------------------------------
SELECT
rowId= Id
,message
,trn.createdBy
,trn.createdDate
FROM INBOUND_TROUBLE_TICKET trn WITH(NOLOCK)
LEFT JOIN applicationUsers au WITH(NOLOCK) ON trn.createdBy = au.userName
WHERE trn.tranId = @tranId
ORDER BY trn.createdDate DESC
END
ELSE IF @flag='OFAC'
BEGIN
SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo)
IF @controlNoEncrypted IS NOT NULL
SELECT @tranId = id FROM dbo.INBOUND_VIEW_REMIT_TRAN WITH(NOLOCK) WHERE controlNo = @controlNoEncrypted
IF OBJECT_ID('tempdb..#tempMaster') IS NOT NULL
DROP TABLE #tempMaster
IF OBJECT_ID('tempdb..#tempDataTable') IS NOT NULL
DROP TABLE #tempDataTable
CREATE TABLE #tempDataTable
(
DATA VARCHAR(MAX) NULL
)
DECLARE @ofacKeyIds VARCHAR(MAX)
SELECT @ofacKeyIds=blackListId FROM dbo.INBOUND_TRAN_OFAC
WHERE TranId = @tranId
SELECT distinct A.val ofacKeyId
INTO #tempMaster
FROM
(
SELECT * FROM dbo.SplitXML(',',@ofacKeyIds)
)A
INNER JOIN
(
SELECT ofacKey FROM blacklistHistory WITH(NOLOCK)
)B ON A.val=B.ofacKey
ALTER TABLE #tempMaster ADD ROWID INT IDENTITY(1,1)
DECLARE @TNA_ID AS INT
,@MAX_ROW_ID AS INT
,@ROW_ID AS INT=1
,@ofacKeyId VARCHAR(100)
,@SDN VARCHAR(MAX)=''
,@ADDRESS VARCHAR(MAX)=''
,@REMARKS AS VARCHAR(MAX)=''
,@ALT AS VARCHAR(MAX)=''
,@DATA AS VARCHAR(MAX)=''
,@DATA_SOURCE AS VARCHAR(200)=''
SELECT @MAX_ROW_ID=MAX(ROWID) FROM #tempMaster
WHILE @MAX_ROW_ID >= @ROW_ID
BEGIN
SELECT @ofacKeyId=ofacKeyId FROM #tempMaster WHERE ROWID=@ROW_ID
SELECT @SDN='<b>'+ISNULL(entNum,'')+'</b>, <b>Name:</b> '+ ISNULL(name,''),@DATA_SOURCE='<b>Data Source:</b> '+ISNULL(dataSource,'')
FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='sdn'
SELECT @ADDRESS=ISNULL(address,'')+', '+ISNULL(city,'')+', '+ISNULL(STATE,'')+', '+ISNULL(zip,'')+', '+ISNULL(country,'')
FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='add'
SELECT @ALT = COALESCE(@ALT + ', ', '') +CAST(ISNULL(NAME,'') AS VARCHAR(MAX))
FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType IN ('alt','aka')
SELECT @REMARKS=ISNULL(remarks,'')+isnull('<br/> ID Type:'+idType,'')+isnull(':'+idNumber,'')+isnull('|DOB:'+dob,'')+isnull(' |Father Name: '+FatherName,'')
FROM blacklistHistory with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='sdn'
SET @SDN=RTRIM(LTRIM(@SDN))
SET @ADDRESS=RTRIM(LTRIM(@ADDRESS))
SET @ALT=RTRIM(LTRIM(@ALT))
SET @REMARKS=RTRIM(LTRIM(@REMARKS))
SET @SDN=REPLACE(@SDN,', ,','')
SET @ADDRESS=REPLACE(@ADDRESS,', ,','')
SET @ALT=REPLACE(@ALT,', ,','')
SET @REMARKS=REPLACE(@REMARKS,', ,','')
SET @SDN=REPLACE(@SDN,'-0-','')
SET @ADDRESS=REPLACE(@ADDRESS,'-0-','')
SET @ALT=REPLACE(@ALT,'-0-','')
SET @REMARKS=REPLACE(@REMARKS,'-0-','')
SET @SDN=REPLACE(@SDN,',,','')
SET @ADDRESS=REPLACE(@ADDRESS,',,','')
SET @ALT=REPLACE(@ALT,',,','')
SET @REMARKS=REPLACE(@REMARKS,',,','')
IF @DATA_SOURCE IS NOT NULL AND @DATA_SOURCE<>''
SET @DATA=@DATA_SOURCE
IF @SDN IS NOT NULL AND @SDN<>''
SET @DATA=@DATA+'<BR>'+@SDN
IF @ADDRESS IS NOT NULL AND @ADDRESS<>''
SET @DATA=@DATA+'<BR><b>Address: </b>'+@ADDRESS
IF @ALT IS NOT NULL AND @ALT<>'' AND @ALT<>' '
SET @DATA=@DATA+'<BR>'+'<b>a.k.a :</b>'+@ALT+''
IF @REMARKS IS NOT NULL AND @REMARKS<>''
SET @DATA=@DATA+'<BR><b>Other Info :</b>'+@REMARKS
IF @DATA IS NOT NULL OR @DATA <>''
BEGIN
INSERT INTO #tempDataTable
SELECT REPLACE(@DATA,'<BR><BR>','')
END
SET @ROW_ID=@ROW_ID+1
END
ALTER TABLE #tempDataTable ADD ROWID INT IDENTITY(1,1)
SELECT ROWID [S.N.],DATA [Remarks] FROM #tempDataTable
END
IF @flag='Compliance'
BEGIN
SELECT @tranId = id FROM dbo.INBOUND_VIEW_REMIT_TRAN WITH(NOLOCK) WHERE controlNo = dbo.FNAEncryptString(@controlNo)
SELECT
rowId=Id
,[S.N.] = ROW_NUMBER()OVER(ORDER BY ID)
,[Remarks] = rtc.complianceReason
,[Matched TRAN ID] = @controlNo
FROM dbo.INBOUND_COMPLIANCE_LOG rtc WITH(NOLOCK)
WHERE holdTranId = @tranId
END
ELSE IF @flag = 'saveComplainceRmks' --Add Approve Remarks
BEGIN
IF EXISTS (SELECT 1 FROM INBOUND_TROUBLE_TICKET WHERE tranId =@tranId AND status='RESOLVED')
BEGIN
EXEC proc_errorHandler 1, 'Transaction has been resolved already', @tranId
RETURN
END
DECLARE @troubleTicketmsg varchar(MAX),@msgType VARCHAR(30)
BEGIN TRANSACTION
IF (@messageComplaince IS NOT NULL AND @messageOFAC IS NOT NULL)
BEGIN
SET @troubleTicketmsg = @messageComplaince + '/' + @messageOFAC
SET @msgType = 'C/O'
END
ELSE IF (@messageComplaince IS NOT NULL AND @messageOFAC IS NULL)
BEGIN
SET @troubleTicketmsg = @messageComplaince
SET @msgType = 'COMPLAINCE'
END
ELSE IF (@messageComplaince IS NULL AND @messageOFAC IS NOT NULL)
BEGIN
SET @troubleTicketmsg = @messageOFAC
SET @msgType = 'OFAC'
END
INSERT INTO dbo.INBOUND_TROUBLE_TICKET
( tranId ,controlNo ,message ,msgType ,status ,createdBy ,createdDate)
VALUES ( @tranId,@controlNo,ISNULL(@troubleTicketmsg,''),@msgType ,'RESOLVED' ,@user,GETDATE() )
UPDATE INBOUND_TRAN_OFAC SET
approvedRemarks = @messageOFAC
,approvedBy = @user
,approvedDate = GETDATE()
WHERE TranId = @tranId AND approvedBy IS NULL
UPDATE dbo.INBOUND_REMIT_TRAN SET tranStatus= 'PAYMENT' WHERE id = @tranId
COMMIT TRANSACTION
EXEC proc_errorHandler 0, 'Release remarks has been saved successfully.', @tranId
END
ELSE IF @flag = 'ac' --Add Comment
BEGIN
IF @message IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Message can not be blank.', @tranId
RETURN
END
IF @user IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Your session has expired. Cannot add complain.', NULL
RETURN
END
IF @tranId IS NULL
BEGIN
EXEC proc_errorHandler 1, 'Transaction No can not be blank.', @tranId
RETURN
END
INSERT INTO dbo.INBOUND_TROUBLE_TICKET
( tranId , controlNo , message , msgType , status , createdBy , createdDate)
VALUES ( @tranId ,@controlNo ,@message ,'TROUBLE' ,'NOT RESOLVED' ,@user,GETDATE() )
SELECT '0' AS errorCode,'Comments has been added successfully.' AS Msg,@tranId AS Id,'Inbound' AS Extra ,'' AS Extra2
END
ELSE IF @flag = 'chkFlagOFAC'
BEGIN
SELECT CASE WHEN approvedDate IS NULL THEN 'N' ELSE 'Y' END AS Compliance_FLAG
FROM dbo.INBOUND_TRAN_OFAC WITH(NOLOCK) WHERE TranId = @tranId
END
ELSE IF @flag = 'chkFlagCOMPLAINCE'
BEGIN
SELECT CASE WHEN status='RESOLVED' THEN 'Y' ELSE 'N' END AS Compliance_FLAG
FROM dbo.INBOUND_TROUBLE_TICKET WITH(NOLOCK) WHERE TranId = @tranId
END
GO