SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ====================================================================== -- Description: Only for "Easy Remit Customer Block Page" in Core System -- ====================================================================== CREATE PROCEDURE [dbo].[PROC_EASYREMITFORBLOCK] ( @flag VARCHAR(50), @id BIGINT = NULL, @block CHAR = NULL, @searchBy VARCHAR(MAX) = NULL, @searchValue VARCHAR(MAX) = NULL, @email VARCHAR(150) = NULL, @name VARCHAR(200) = NULL, @walletAccountNo VARCHAR(100) = NULL, @mobile VARCHAR(100) = NULL, @startDate DATETIME = NULL, @closeDate DATETIME = NULL, @sortBy VARCHAR(100) = NULL, @sortOrder VARCHAR(5) = NULL, @pageSize INT = NULL, @pageNumber INT = NULL, @user VARCHAR(50) = NULL ) AS BEGIN SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN TRY DECLARE @table VARCHAR(MAX) = NULL ,@sqlFilter VARCHAR(MAX) = NULL ,@selectFieldList VARCHAR(MAX) = NULL ,@extraFieldList VARCHAR(MAX) = NULL ,@noPaging CHAR(1) = NULL IF @FLAG = 'customerList' BEGIN IF @searchBy = 'email' BEGIN SET @email = @searchValue END ELSE IF @searchBy = 'fullName' BEGIN SET @name = @searchValue END ELSE IF @searchBy = 'walletAccountNo' BEGIN SET @walletAccountNo = @searchValue END ELSE IF @searchBy = 'mobile' BEGIN SET @mobile = @searchValue END SET @table = N'(SELECT cm.customerId as ''customerId'', cm.email as ''ID'', cm.fullName as ''Name'', com.countryName as ''Nationality'', sd.detailTitle as ''ID_Type'', cm.idNumber as ''ID_Number'', cm.mobile as ''Mobile_Number'', cm.walletAccountNo as ''Virtual_Account_Number'', cm.approvedBy as ''Approved_By'', cm.approvedDate as ''Approved_Date'', cm.createdDate FROM dbo.customerMaster cm(nolock) LEFT JOIN dbo.staticDataValue sd(nolock) ON sd.valueId = cm.idType INNER JOIN dbo.countryMaster com(nolock) ON com.countryId = cm.nativeCountry WHERE cm.customerType =11048 and cm.approvedDate is not null ' IF @startDate IS NOT NULL SET @table = @table + ' AND cm.approvedDate >= ''' + CONVERT(VARCHAR, @startDate, 101) + ' 00:00:00'''; IF @closeDate IS NOT NULL SET @table = @table + ' AND cm.approvedDate <= ''' + CONVERT(VARCHAR, @closeDate, 101) + ' 23:59:59'''; SET @table = @table + ')x' SET @sqlFilter = '' IF @email IS NOT NULL SET @sqlFilter += ' AND x.ID like ''' + @email + '%'''; IF @name IS NOT NULL SET @sqlFilter += ' AND x.Name like ''' + @name + '%'''; IF @walletAccountNo IS NOT NULL SET @sqlFilter += ' AND x.Virtual_Account_Number = ''' + @walletAccountNo + ''''; IF @mobile IS NOT NULL SET @sqlFilter = @sqlFilter + ' AND REPLACE(x.Mobile_Number, ''-'', '''') =''' + Replace(@mobile, '-', '') + ''''; SET @selectFieldList = 'customerId, ID, Name, Nationality, ID_Type, ID_Number, Mobile_Number, Virtual_Account_Number, Approved_By, Approved_Date' IF @sortBy IS NULL SET @sortBy = 'createdDate' IF @sortOrder IS NULL SET @sortOrder = 'DESC' EXEC dbo.Proc_paging @table, @sqlFilter, @selectFieldList, @extraFieldList, @sortBy, @sortOrder, @pageSize, @pageNumber, @noPaging RETURN END IF @FLAG = 'searchFilter' BEGIN SELECT '' [VALUE], 'SELECT' [TEXT] UNION ALL SELECT 'email', 'ID' UNION ALL SELECT 'fullName', 'Name' UNION ALL SELECT 'walletAccountNo', 'Virtual Account Number' UNION ALL SELECT 'mobile', 'Mobile Number' END IF @flag = 'checkCustomerInfo' BEGIN IF NOT EXISTS (SELECT 'A' FROM dbo.customerMaster(nolock) WHERE customerId = @id) BEGIN SELECT '1' ErrorCode, 'Requested customer ID is not exist.' Msg, NULL RETURN END IF NOT EXISTS (SELECT 'A' FROM dbo.customerMaster(nolock) WHERE customerId=@id AND isActive='N' AND islocked='Y' AND isBlockWSB='Y') BEGIN SELECT '2' ErrorCode, 'Requested customer ID is already blocked.' Msg, NULL RETURN END IF NOT EXISTS (SELECT 'A' FROM dbo.customerMaster(nolock) WHERE customerId=@id AND isActive='Y' AND (islocked='N' OR islocked is null) AND (isBlockWSB='N' OR isBlockWSB is null)) BEGIN SELECT '3' ErrorCode, 'Requested customer ID is already unblocked.' Msg, NULL RETURN END SELECT '0' ErrorCode, 'Requested customer ID is fine.' Msg, NULL RETURN END IF @flag = 'callCustomerInfo' BEGIN IF NOT EXISTS (SELECT COUNT(1) FROM dbo.customerMaster WHERE customerId = @id) BEGIN SELECT '1' ErrorCode, 'Requested customer ID is not exist.' Msg, NULL RETURN END DECLARE @tlgSeqNo VARCHAR(10), @NewValue VARCHAR(10) SET @NewValue= next value FOR dbo.wsb_sequence SET @tlgSeqNo=(SELECT CONVERT(VARCHAR(6), Getdate(), 12)) + @NewValue SELECT dataLen =400, orgtId='GME', srvcDs='VT0401', trxTypeCd='0200', rspsCd='0000', tlgSeqNo=@tlgSeqNo, tlgSendHur=(SELECT Format(Getdate(), 'yyyyMMddHHmmss')), filler=NULL, username = Isnull(cm.email, ''), [password] = dbo.Fnadecryptstring(cm.customerpassword), [channel] = 'registration', [account] = Isnull(cm.membershipid, ''), walletaccountno, bankaccountno, fullname, customerbankname, bankCode =NULL, cm.idtype, Replace(cm.idnumber, ' ', '') AS [idNumber], CONVERT(VARCHAR(6), cm.dob, 12) AS [dobYMD], CASE WHEN cm.gender = '97' THEN '7' WHEN cm.gender = '98' THEN '8' END AS [genderCode], CASE WHEN cm.nativecountry = '238' THEN '1' WHEN cm.nativecountry = '113' THEN '2' WHEN cm.nativecountry = '45' THEN '3' ELSE '4' END AS [nativeCountryCode],customerid FROM dbo.customermaster cm(nolock) WHERE cm.customerid = @Id SELECT '0' ErrorCode, 'Confirmed to calling requested customer ID.' Msg, @Id id RETURN END IF @flag = 'requestConfirm' BEGIN IF NOT EXISTS (SELECT COUNT(1) FROM dbo.customerMaster(nolock) WHERE customerId = @id) BEGIN SELECT '1' ErrorCode, 'Requested customer ID is not exist.' Msg, NULL RETURN END IF @block='Y' BEGIN UPDATE customerMaster SET isActive = 'N', islocked = 'Y', isBlockWSB = 'Y' WHERE customerId = @id; SELECT '0' ErrorCode, 'Confirmed to update requested customer ID to blocked.' Msg, @Id id RETURN END ELSE BEGIN UPDATE customerMaster SET isActive = 'Y', islocked = 'N', isBlockWSB = 'N' WHERE customerId = @id; SELECT '0' ErrorCode, 'Confirmed to update requested customer ID to unblocked.' Msg, @Id id RETURN END END END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION DECLARE @errorMessage VARCHAR(max) SET @errorMessage = Error_message() EXEC Proc_errorhandler 1, @errorMessage, NULL END CATCH END