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=''+ISNULL(entNum,'')+', Name: '+ ISNULL(name,''),@DATA_SOURCE='Data Source: '+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('
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+'
'+@SDN IF @ADDRESS IS NOT NULL AND @ADDRESS<>'' SET @DATA=@DATA+'
Address: '+@ADDRESS IF @ALT IS NOT NULL AND @ALT<>'' AND @ALT<>' ' SET @DATA=@DATA+'
'+'a.k.a :'+@ALT+'' IF @REMARKS IS NOT NULL AND @REMARKS<>'' SET @DATA=@DATA+'
Other Info :'+@REMARKS IF @DATA IS NOT NULL OR @DATA <>'' BEGIN INSERT INTO #tempDataTable SELECT REPLACE(@DATA,'

','') 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