USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_transactionView] Script Date: 11/10/2023 12:22:18 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROC [dbo].[proc_transactionView] ( @flag VARCHAR(50) ,@user VARCHAR(30) = NULL ,@controlNo VARCHAR(30) = NULL ,@tranId BIGINT = NULL ,@message NVARCHAR(500) = NULL ,@messageComplaince VARCHAR(500) = NULL ,@messageOFAC VARCHAR(500) = NULL ,@messageCashLimitHold 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 ,@holdTranId INT = NULL ,@rowId INT = NULL ,@newAnswer VARCHAR(50) = NULL ) AS ----------------------------------- --July 14 --> Flag='@flag='Compliance' --Aug 05 JME-567 ->add col 'receiverNameAlt' changes to show BENEFICIARY NAME AS PER BANK --Sept 21 #134 -> Allow edit option of address in Town Area --Replace with FNAGetCustomerAddress --#298 Trim white space of Control number and TranId --#469 Show additional fields incase of Payment of Import Good --#334 : OFAC screening changes. --#101: mobile changes --#618 ID TYPE empty for mobile transaction --#807 Add hyperlink as View Details in Search transaction --AGT: VIEW TXN (SEARCH TRANSACTION) -- #932 - goods origin --#1320 - Remove Khanji character from search transaction --#1404 - @flag = 's' , add payer label in search transactioN --#1553 - Search transaction ui , @flag = 's' --#9658 -- add delete trouble ticket in search transaction --#10906 - approve transacation doc details --#10703 - allow edit Questionnaire , @flag = 'show-QA' --#18970 change to redirect to edit customer page ----------------------------------- DECLARE @select_field_list VARCHAR(MAX) ,@extra_field_list VARCHAR(MAX) ,@table VARCHAR(MAX) ,@sql_filter VARCHAR(MAX) DECLARE @controlNoEncrypted VARCHAR(100) ,@code VARCHAR(50) ,@userName VARCHAR(50) ,@password VARCHAR(50) ,@userType VARCHAR(10) ,@tranStatus VARCHAR(50) ,@tranIdType CHAR(1) ,@voucherNo VARCHAR(50) ,@nepDate VARCHAR(50) SET NOCOUNT ON; SET XACT_ABORT ON; SET @tranIdType = DBO.FNAGetTranIdType(LTRIM(RTRIM(@tranId))) SET @nepDate = GETDATE() IF @controlNo IS NOT NULL BEGIN SET @controlNo = LTRIM(RTRIM(@controlNo)) SELECT @controlNoEncrypted = dbo.FNAEncryptString(@controlNo) SELECT @tranId = id ,@tranStatus = tranStatus ,@holdTranId = holdTranId FROM vwRemitTran WITH (NOLOCK) WHERE controlNo = @controlNoEncrypted END ELSE IF @tranId IS NOT NULL BEGIN IF @tranIdType = 'H' --- h - remitTRanTemp , c- remitTran SELECT @controlNoEncrypted = controlNo ,@tranStatus = tranStatus ,@voucherNo = voucherNo ,@holdTranId = holdTranId ,@controlNo = dbo.FNADecryptString(controlNo) FROM vwremitTran WITH (NOLOCK) WHERE holdTranId = @tranId ELSE SELECT @controlNoEncrypted = controlNo ,@tranStatus = tranStatus ,@voucherNo = voucherNo ,@holdTranId = holdTranId ,@controlNo = dbo.FNADecryptString(controlNo) FROM remitTran WITH (NOLOCK) WHERE id = @tranId IF LEN(@controlNoEncrypted) = 0 SET @controlNoEncrypted = '0' END IF @flag = 's' BEGIN DECLARE @partnerId INT ,@isRealTime BIT ,@pcountry INT ,@IsQuestionnaire VARCHAR(30) = 'NONE' ,@TranType CHAR(1) = 'I' ,@customerId INT SELECT @customerId = customerid FROM tranSendersTemp(NOLOCK) WHERE tranId = @tranId SELECT @partnerId = pSuperAgent ,@pcountry = CM.COUNTRYID FROM REMITTRANTEMP(NOLOCK) RTT INNER JOIN COUNTRYMASTER CM(NOLOCK) ON CM.COUNTRYNAME = RTT.PCOUNTRY WHERE DBO.DECRYPTDB(CONTROLNO) = @controlNo SELECT @isRealTime = isRealTime FROM TblPartnerwiseCountry(NOLOCK) WHERE AgentId = @partnerId AND COUNTRYID = @pcountry IF @viewType = 'COMPLIANCE' BEGIN SELECT @TranType = tranType ,@holdTranId = holdtranId FROM vwRemitTran(NOLOCK) WHERE controlNo = @controlNoEncrypted OR isnull(id, holdTranId) = @tranId IF NOT EXISTS ( SELECT * FROM TBL_TXN_COMPLIANCE_CDDI(NOLOCK) WHERE TRAN_ID = @holdTranId ) BEGIN IF @TranType = 'M' BEGIN IF EXISTS ( SELECT TOP 1 1 FROM remitTranCompliance RTC(NOLOCK) INNER JOIN csDetail CD(NOLOCK) ON RTC.csDetailTranId = CD.csDetailId WHERE RTC.TranId = @tranId AND CD.nextAction = 'Q' ) BEGIN SET @IsQuestionnaire = 'ONLY NORMAL' END IF EXISTS ( SELECT * FROM remitTranCompliance(NOLOCK) WHERE TranId = @tranId AND reason = 'Questionnaire require due to Visa Status' ) BEGIN IF @IsQuestionnaire = 'ONLY NORMAL' BEGIN SET @IsQuestionnaire = 'BOTH' END ELSE BEGIN SET @IsQuestionnaire = 'ONLY VISA' END END END END END EXEC proc_tranViewHistory 'i' ,@user ,@tranId ,@controlNo ,NULL ,@viewType ,@viewMsg DECLARE @referralName VARCHAR(100) SELECT @referralName = referral_name FROM vwremittran rt(NOLOCK) INNER JOIN referral_agent_wise ref(NOLOCK) ON ref.referral_code = rt.promotionCode WHERE ( rt.controlNo = @controlNoEncrypted OR isnull(rt.id, rt.holdTranId) = @tranId ) AND ref.staff_visit = 1 --Transaction Details SELECT tranId = trn.holdtranid ,holdTranId = trn.holdTranId ,controlNo = dbo.FNADecryptString(trn.controlNo) --Sender Information ,sMemId = sen.membershipId ,sCustomerId = sen.customerId ,Isnull(cm.postalcode, cm.membershipid) uniqueId ,senderName = sen.firstName + ISNULL(' ' + sen.middleName, '') + ISNULL(' ' + sen.lastName1, '') + ISNULL(' ' + sen.lastName2, '') ,ShowDetails = CASE @viewMsg WHEN 'AGT: VIEW TXN (SEARCH TRANSACTION)' THEN ' View Details ' ELSE ' View Details ' END ,editCustomer = ' Edit Customer ' ,sCountryName = trn.sCountry ,sStateName = sen.STATE ,sDistrict = sen.district ,sCity = isnull(sen.city, '') --,sAddress = DBO.FNAGetCustomerAddress(trn.ID, 'TXN-SEARCH') ,sAddress = ISNULL(cm.zipCode, cm.postalCode) + ISNULL(', ' + cm.city,'') + ISNULL(', ' + cm.address, '') + ISNULL(', ' + cm.ADDITIONALADDRESS,'')--DBO.FNAGetCustomerAddress(sen.customerId, 'SEARCH-TXN') ,sContactNo = COALESCE(sen.mobile, sen.homephone, sen.workphone) ,sDob = convert(VARCHAR(10), sen.dob, 121) ,sIdType = ISNULL(sen.idtype, 'Other (please specify)' + (':') + ('' + cm.otherIdNumber)) ,sIdNo = UPPER(sen.idNumber) ,sValidDate = sen.validDate ,sEmail = sen.email ,extCustomerId = sen.extCustomerId ,walletNo = cm.walletAccountNo ,VISA.detailTitle visaStatus ,CASE WHEN cm.occupation = '11383' THEN (occ.DETAILTITLE) + (':') + cm.occupationOther ELSE occ.DETAILTITLE END [Occupation] --Receiver Information ,rMemId = rec.membershipId ,rCustomerId = rec.customerId ,receiverName = rec.firstName + ISNULL(' ' + rec.middleName, '') + ISNULL(' ' + rec.lastName1, '') + ISNULL(' ' + rec.lastName2, '') ,rCountryName = rec.country ,rStateName = rec.STATE ,rDistrict = rec.district ,rCity = isnull(rec.city, '') ,rAddress = rec.address ,rContactNo = COALESCE(rec.mobile, rec.homephone, rec.workphone) ,rIdType = ISNULL(sdv1.detailTitle, rec.idType) ,rIdNo = UPPER(ISNULL(rec.idNumber2, rec.idNumber) + isnull(' ' + rec.idPlaceOfIssue2, '')) --Sending Agent Information ,sAgentEmail = sa.agentEmail1 ,sAgentName = CASE WHEN trn.sAgentName = trn.sBranchName THEN '-' ELSE trn.sAgentName END ,sBranchName = trn.sBranchName ,sAgentCountry = sa.agentCountry ,sAgentState = sa.agentState ,sAgentDistrict = sa.agentDistrict ,sAgentLocation = sLoc.districtName ,sAgentCity = sa.agentCity ,sAgentAddress = sa.agentAddress --Payout Agent Information ,trn.pAgent ,pAgentName = CASE WHEN trn.pAgentName IS NULL THEN '[Any Where]' ELSE CASE WHEN trn.pAgentName = trn.pBranchName THEN '-' ELSE trn.pAgentName END END ,pBranchName = trn.pBranchName ,pAgentCountry = trn.pCountry ,pAgentState = trn.pState ,pAgentDistrict = rec.district ,pAgentLocation = CASE WHEN trn.pBank IS NOT NULL THEN trn.pBankName ELSE '' END ,pAgentCity = pa.agentCity ,pAgentAddress = pa.agentAddress ,payerName = pbd.PAYER_CODE + ' - ' + pbd.Payer_Name ,trn.tAmt ,trn.serviceCharge ,handlingFee = ISNULL(trn.handlingFee, 0) ,sAgentComm = isnull(trn.sAgentComm, 0) ,sAgentCommCurrency = ISNULL(trn.sAgentCommCurrency, 0) ,pAgentComm = ISNULL(trn.pAgentComm, 0) ,pAgentCommCurrency = ISNULL(trn.pAgentCommCurrency, 0) ,exRate = trn.customerRate ,trn.cAmt ,pAmt = FLOOR(trn.pAmt) ,relationship = ISNULL(trn.relWithSender, ISNULL('' + sdv2.detailTitle, '')) ,purpose = ISNULL(trn.purposeOfRemit, '-') ,sourceOfFund = ISNULL(trn.sourceOfFund, '-') ,collMode = trn.collMode ,trn.collCurr ,paymentMethod = UPPER(trn.paymentMethod) ,trn.payoutCurr ,BranchName = trn.pBankBranchName ,accountNo = trn.accountNo ,BankName = trn.pBankName ,tranStatus = CASE WHEN trn.payStatus = 'Post' AND trn.tranType = 'D' THEN 'Post' ELSE trn.tranStatus END ,trn.payStatus ,createdFrom = CASE WHEN (trn.tranType = 'M' AND trn.isOnlineTxn = 'M') THEN 'Mobile' WHEN (trn.tranType = 'M' AND trn.isOnlineTxn = 'O') THEN 'Web Online' WHEN trn.tranType = 'I' THEN 'Core' ELSE trn.tranType END ,payoutMsg = ISNULL(trn.pMessage, '-') ,trn.createdBy ,trn.createdDate ,trn.approvedBy ,trn.approvedDate ,trn.paidBy ,trn.paidDate ,trn.cancelRequestBy ,trn.cancelRequestDate ,trn.cancelApprovedBy ,trn.cancelApprovedDate ,trn.lockedBy ,trn.lockedDate ,trn.payTokenId ,trn.tranStatus ,trn.tranType ,trn.holdTranId ,sTelNo = ISNULL(sen.homephone, sen.workphone) ,rTelNo = ISNULL(rec.homephone, rec.workphone) ,CashOrBank = '' ,PurposeofRemit = CASE WHEN trn.PurposeofRemit = 'Payment of import good' THEN CONCAT ( '' ,trn.purposeOfRemit ,'' ,'
' ,'Goods Type: ' + ISNULL(rec.goodsType, '') ,'
' ,'Goods Origin: ' + ISNULL(goodsorigin, '') ,'
' ,'Port Of Shipment: ' + ISNULL(rec.portOfShipment, '') ) ELSE ISNULL(trn.purposeOfRemit, '-') END ,custRate = isnull(trn.customerRate, 0) + isnull(trn.schemePremium, 0) ,settRate = trn.agentCrossSettRate ,nativeCountry = sen.nativeCountry ,@isRealTime AS isRealTime ,CASE WHEN ISNULL(@referralName, '') = '' THEN '-' ELSE @referralName END referralName ,introducer = CASE WHEN trn.referralId IS NULL THEN '-' ELSE intro.fullName + ' ' + ' - ' + intro.membershipId END ,receiverNameAlt = ISNULL(trn.receiverNameAlt, '') ,IsQuestionnaire = @IsQuestionnaire ,pSuperAgent = trn.pSuperAgent ,cm.createdDate registerDate ,rewardPoints = trn.rewardPoints ,customerPremium = trn.customerPremium ,depositType = rt.depositType FROM vwRemitTran trn WITH (NOLOCK) LEFT JOIN remitTranTemp rt WITH (NOLOCK) ON trn.id = rt.id LEFT JOIN vwTranSenders sen WITH (NOLOCK) ON trn.id = sen.tranId LEFT JOIN vwTranReceivers rec WITH (NOLOCK) ON trn.id = rec.tranId LEFT JOIN agentMaster sa WITH (NOLOCK) ON trn.sBranch = sa.agentId LEFT JOIN agentMaster pa WITH (NOLOCK) ON trn.pBranch = pa.agentId LEFT JOIN api_districtList pLoc WITH (NOLOCK) ON trn.pLocation = pLoc.districtCode LEFT JOIN apiLocationMapping ALM WITH (NOLOCK) ON pLoc.districtCode = ALM.apiDistrictCode LEFT JOIN zoneDistrictMap ZDM WITH (NOLOCK) ON ZDM.districtId = ALM.districtId LEFT JOIN api_districtList sLoc WITH (NOLOCK) ON sa.agentLocation = sLoc.districtCode LEFT JOIN staticDataValue sdv WITH (NOLOCK) ON sen.idType = CAST(sdv.valueId AS VARCHAR) LEFT JOIN staticDataValue sdv1 WITH (NOLOCK) ON rec.idType = CAST(sdv1.valueId AS VARCHAR) LEFT JOIN staticDataValue sdv2 WITH (NOLOCK) ON rec.relationType = CAST(sdv2.valueId AS VARCHAR) LEFT JOIN customerMaster cm WITH (NOLOCK) ON cm.customerId = sen.customerId LEFT JOIN customerMaster intro WITH (NOLOCK) ON intro.customerId = trn.referralId LEFT JOIN staticDataValue VISA WITH (NOLOCK) ON CM.VISASTATUS = CAST(VISA.VALUEID AS VARCHAR) LEFT JOIN tbl_japan_address_detail detail WITH (NOLOCK) ON detail.zip_code = sen.zipcode LEFT JOIN dbo.countryStateMaster SS(NOLOCK) ON cast(SS.stateId AS INT) = detail.state_Id LEFT JOIN STATICDATAVALUE occ ON occ.VALUEID = CM.occupation LEFT JOIN PAYER_BANK_DETAILS pbd WITH (NOLOCK) ON pbd.payer_id = trn.payerId WHERE trn.controlNo = @controlNoEncrypted OR isnull(trn.id, trn.holdTranId) = LTRIM(RTRIM(@tranId)) --End of Transaction Details------------------------------------------------------------ --Lock Transaction---------------------------------------------------------------------- IF (@lockMode = 'Y') BEGIN UPDATE remitTran SET tranStatus = 'Lock' ,lockedBy = @user ,lockedDate = GETDATE() ,lockedDateLocal = @nepDate WHERE ( tranStatus = 'Payment' AND tranStatus <> 'CancelRequest' ) AND payStatus = 'Unpaid' AND ( controlNo = @controlNoEncrypted OR id = @tranId ) END --End of Lock Transaction--------------------------------------------------------------- --Log Details--------------------------------------------------------------------------- PRINT @holdTranId SELECT * FROM ( SELECT rowId = 0 ,message = 'OFAC Release Msg:' + approvedRemarks ,createdBy = approvedBy ,createdDate = approvedDate ,fileType = NULL ,deleteComment = 'N' ,fieldName = NULL FROM remittranofac WHERE tranid = @holdTranId AND approvedBy IS NOT NULL UNION ALL SELECT rowId ,message = CASE WHEN message IS NULL THEN fieldName + ' ' + OLDVALUE + ' Changed By ' + REPLACE(REPLACE(FIELDVALUE, '', '') ELSE [MESSAGE] END ,trn.createdBy ,trn.createdDate ,isnull(trn.fileType, '') fileType ,deleteComment = 'Y' ,fieldName FROM tranModifyLog trn WITH (NOLOCK) LEFT JOIN applicationUsers au WITH (NOLOCK) ON trn.createdBy = au.userName WHERE ( trn.tranId = @tranId OR trn.controlNo = @controlNoEncrypted ) AND ISNULL(trn.STATUS, '') <> 'Deleted' AND ISNULL(trn.OLDVALUE, '') NOT IN ( '7000' ,'100' ,'415' ,'416' ) ) x ORDER BY X.rowId DESC SELECT bankName = 'Cash' ,collMode = 'Cash' ,amt = '' ,collDate = '' ,voucherNo = '' ,narration = 'Cash Collection' SELECT C.PARTICULARS ,C.TRANDATE ,C.DEPOSITAMOUNT FROM TBL_BANK_DEPOSIT_TXN_MAPPING B(NOLOCK) INNER JOIN CUSTOMER_DEPOSIT_LOGS C(NOLOCK) ON C.TRANID = B.DEPOSIT_LOG_ID WHERE HOLD_TRAN_ID = @holdTranId -- Document Details SELECT ROW_NUMBER() OVER ( ORDER BY uploadedDate ASC ) SN ,* FROM ( SELECT documentType = CASE WHEN cd.documentType = '0' AND filetype = 'application/pdf' THEN cd.filedescription ELSE ISNULL(sdv.detailTitle, 'signature') END ,fileType = CASE WHEN ISNULL(cd.fileType, 'image/jpeg') IN ('receiver') THEN 'application/pdf' ELSE ISNULL(cd.fileType, 'image/jpeg') END ,uploadedDate = CONVERT(VARCHAR(10), cd.createddate, 111) ,fileName = '' + cd.fileName + '' FROM dbo.customerDocument cd LEFT JOIN dbo.staticDataValue sdv ON sdv.valueId = cd.documentType WHERE cd.customerId = @customerId AND ISNULL(isDeleted, 'N') = 'N' --ORDER BY cd.createdDate ) X ---- Questionaire details --SELECT ROW_NUMBER() OVER ( -- ORDER BY ORDER_BY -- ) SN -- ,* --FROM ( -- SELECT ORDER_BY -- ,QSN -- ,ANSWER_TEXT -- ,editQuestionnaire = '