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.
 
 
 

293 lines
22 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_globalAgentList] Script Date: 9/27/2019 1:30:14 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE procEDURE [dbo].[proc_globalAgentList]
@flag VARCHAR(50) = NULL
,@user VARCHAR(30) = NULL
,@agentId VARCHAR(30) = NULL
,@parentId VARCHAR(30) = NULL
,@agentName VARCHAR(100) = NULL
,@agentCode VARCHAR(50) = NULL
,@agentAddress VARCHAR(200) = NULL
,@agentCity VARCHAR(100) = NULL
,@agentCountryId INT = NULL
,@agentCountry VARCHAR(100) = NULL
,@agentState VARCHAR(100) = NULL
,@agentDistrict VARCHAR(100) = NULL
,@agentZip VARCHAR(20) = NULL
,@agentLocation INT = NULL
,@agentPhone1 VARCHAR(50) = NULL
,@agentPhone2 VARCHAR(50) = NULL
,@agentFax1 VARCHAR(50) = NULL
,@agentFax2 VARCHAR(50) = NULL
,@agentMobile1 VARCHAR(50) = NULL
,@agentMobile2 VARCHAR(50) = NULL
,@agentEmail1 VARCHAR(100) = NULL
,@agentEmail2 VARCHAR(100) = NULL
,@businessOrgType INT = NULL
,@businessType INT = NULL
,@agentRole CHAR(1) = NULL
,@agentType INT = NULL
,@allowAccountDeposit CHAR(1) = NULL
,@actAsBranch CHAR(1) = NULL
,@contractExpiryDate DATETIME = NULL
,@renewalFollowupDate DATETIME = NULL
,@isSettlingAgent CHAR(1) = NULL
,@agentGroup INT = NULL
,@businessLicense VARCHAR(100) = NULL
,@agentBlock CHAR(1) = NULL
,@agentcompanyName VARCHAR(200) = NULL
,@companyAddress VARCHAR(200) = NULL
,@companyCity VARCHAR(100) = NULL
,@companyCountry VARCHAR(100) = NULL
,@companyState VARCHAR(100) = NULL
,@companyDistrict VARCHAR(100) = NULL
,@companyZip VARCHAR(50) = NULL
,@companyPhone1 VARCHAR(50) = NULL
,@companyPhone2 VARCHAR(50) = NULL
,@companyFax1 VARCHAR(50) = NULL
,@companyFax2 VARCHAR(50) = NULL
,@companyEmail1 VARCHAR(100) = NULL
,@companyEmail2 VARCHAR(100) = NULL
,@localTime INT = NULL
,@localCurrency INT = NULL
,@agentDetails VARCHAR(MAX) = NULL
,@parentName VARCHAR(100) = NULL
,@haschanged CHAR(1) = NULL
,@isActive CHAR(1) = NULL
,@isDeleted CHAR(1) = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(5) = NULL
,@pageSize INT = NULL
,@pageNumber INT = NULL
,@populateBranch CHAR(1) = NULL
,@headMessage VARCHAR(MAX) = NULL
,@mapCodeInt VARCHAR(20) = NULL
,@mapCodeDom VARCHAR(20) = NULL
,@commCodeInt VARCHAR(20) = NULL
,@commCodeDom VARCHAR(20) = NULL
,@urlRoot VARCHAR(200) = NULL
,@joinedDate DATETIME = NULL
,@mapCodeIntAc VARCHAR(50) = NULL
,@mapCodeDomAc VARCHAR(50) = NULL
,@payOption INT = NULL
,@agentSettCurr VARCHAR(50) = NULL
AS
SET NOCOUNT ON
DECLARE
@sql VARCHAR(MAX)
,@oldValue VARCHAR(MAX)
,@newValue VARCHAR(MAX)
,@tableName VARCHAR(50)
,@logIdentifier VARCHAR(100)
,@logParamMain VARCHAR(100)
,@tableAlias VARCHAR(100)
,@modType VARCHAR(6)
,@module INT
,@select_field_list VARCHAR(MAX)
,@extra_field_list VARCHAR(MAX)
,@table VARCHAR(MAX)
,@sql_filter VARCHAR(MAX)
,@ApprovedFunctionId INT
IF @flag = 's'
BEGIN
IF @sortBy IS NULL
SET @sortBy = 'agentId'
IF @sortOrder IS NULL
SET @sortOrder = 'ASC'
SET @table = '(
SELECT
main.parentId
,main.agentId
,main.agentCode
,main.mapCodeInt
,main.agentName
,main.agentAddress
,main.agentCity
,agentLocation = adl.districtName
,main.agentDistrict
,main.agentState
,countryName = main.agentCountry
,main.agentPhone1
,main.agentPhone2
,main.agentType
,main.actAsBranch
,main.contractExpiryDate
,main.renewalFollowupDate
,main.isSettlingAgent
,main.haschanged
,agentType1 = sdv.detailTitle
,main.modifiedBy
,main.createdBy
,main.businessOrgType
,main.businessType
,main.agentBlock
,main.isActive
FROM
(
SELECT
parentId = ISNULL(amh.parentId, am.parentId)
,agentId = ISNULL(amh.agentId, am.agentId)
,agentCode = ISNULL(amh.agentCode, am.agentCode)
,mapCodeInt = ISNULL(amh.mapCodeInt, am.mapCodeInt)
,agentName = ISNULL(amh.agentName, am.agentName)
,agentAddress = ISNULL(amh.agentAddress, am.agentAddress)
,agentCity = ISNULL(amh.agentCity, am.agentCity)
,agentCountry = ISNULL(amh.agentCountry, am.agentCountry)
,agentState = ISNULL(amh.agentState, am.agentState)
,agentDistrict = ISNULL(amh.agentDistrict, am.agentDistrict)
,agentZip = ISNULL(amh.agentZip, am.agentZip)
,agentLocation = ISNULL(amh.agentLocation, am.agentLocation)
,agentPhone1 = ISNULL(amh.agentPhone1, am.agentPhone1)
,agentPhone2 = ISNULL(amh.agentPhone2, am.agentPhone2)
,agentFax1 = ISNULL(amh.agentFax1, am.agentFax1)
,agentFax2 = ISNULL(amh.agentFax2, am.agentFax2)
,agentMobile1 = ISNULL(amh.agentMobile1, am.agentMobile1)
,agentMobile2 = ISNULL(amh.agentMobile2, am.agentMobile2)
,agentEmail1 = ISNULL(amh.agentEmail1, am.agentEmail1)
,agentEmail2 = ISNULL(amh.agentEmail2, am.agentEmail2)
,businessOrgType = ISNULL(amh.businessOrgType, am.businessOrgType)
,businessType = ISNULL(amh.businessType, am.businessType)
,agentRole = ISNULL(amh.agentRole, am.agentRole)
,agentType = ISNULL(amh.agentType, am.agentType)
,actAsBranch = ISNULL(amh.actAsBranch, am.actAsBranch)
,contractExpiryDate = ISNULL(amh.contractExpiryDate, am.contractExpiryDate)
,renewalFollowupDate = ISNULL(amh.renewalFollowupDate, am.renewalFollowupDate)
,isSettlingAgent = ISNULL(amh.isSettlingAgent, am.isSettlingAgent)
,agentGrp = ISNULL(amh.agentGrp, am.agentGrp)
,businessLicense = ISNULL(amh.businessLicense, am.businessLicense)
,agentBlock = ISNULL(amh.agentBlock, am.agentBlock)
,isActive = ISNULL(amh.isActive, am.isActive)
,localTime = ISNULL(amh.localTime, am.localTime)
,am.createdDate
,am.createdBy
,amh.modType
,modifiedDate = CASE WHEN am.approvedBy IS NULL THEN am.createdDate ELSE amh.createdDate END
,modifiedBy = CASE WHEN am.approvedBy IS NULL THEN am.createdBy ELSE amh.createdBy END
,hasChanged = CASE WHEN (am.approvedBy IS NULL) OR
(amh.agentId IS NOT NULL)
THEN ''Y'' ELSE ''N'' END
FROM agentMaster am WITH(NOLOCK)
LEFT JOIN agentMasterMod amh ON am.agentId = amh.agentId
)main
LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.agentType = sdv.valueId
LEFT JOIN api_districtList adl WITH(NOLOCK) ON main.agentLocation = adl.districtCode
WHERE main.agentType NOT IN (2905,2906)
) x'
--Print @table
SET @sql_filter = ''
IF @haschanged IS NOT NULL
SET @sql_filter = @sql_filter + ' AND haschanged = ''' + CAST(@haschanged AS VARCHAR) + ''''
IF @agentCountry IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(countryName, '''') = ''' + CAST(@agentCountry AS VARCHAR) + ''''
IF @agentType IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(agentType, '''') = ' + CAST(@agentType AS VARCHAR)
IF @agentName IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
IF @agentLocation IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(agentLocation, '''') = ' + CAST(@agentLocation AS VARCHAR)
IF @agentId IS NOT NULL
SET @sql_filter = @sql_filter + ' AND agentId = ' + CAST(@agentId AS VARCHAR)
IF @parentId IS NOT NULL
SET @sql_filter = @sql_filter + ' AND parentId = ' + CAST(@parentId AS VARCHAR)
IF @businessOrgType IS NOT NULL
SET @sql_filter = @sql_filter + ' AND isnull(businessOrgType,'''') = ''' + CAST(@businessOrgType AS VARCHAR)+''''
IF @businessType IS NOT NULL
SET @sql_filter = @sql_filter + ' AND isnull(businessType,'''') = ''' + CAST(@businessType AS VARCHAR)+''''
IF @actAsBranch IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(actAsBranch, ''N'') = ''' + @actAsBranch + ''''
IF @populateBranch = 'Y'
SET @sql_filter = @sql_filter + ' AND (ISNULL(agentType, '''') = 2904 OR actAsBranch = ''Y'')'
IF @contractExpiryDate IS NOT NULL
SET @sql_filter = @sql_filter + ' AND contractExpiryDate = ''' + @contractExpiryDate + ''''
IF @renewalFollowupDate IS NOT NULL
SET @sql_filter = @sql_filter + ' AND renewalFollowupDate = ''' + @renewalFollowupDate + ''''
IF @isSettlingAgent IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(isSettlingAgent, ''N'') = ''' + @isSettlingAgent + ''''
IF @agentCode IS NOT NULL
SET @sql_filter = @sql_filter + ' AND agentCode = ''' + @agentCode + ''''
IF @mapCodeInt IS NOT NULL
SET @sql_filter = @sql_filter + ' AND mapCodeInt = ''' + @mapCodeInt + ''''
IF @agentBlock IS NOT NULL
BEGIN
IF @agentBlock = 'Y'
SET @agentBlock ='B'
ELSE
SET @agentBlock = 'U'
SET @sql_filter = @sql_filter + ' AND ISNULL(agentBlock,''U'') = ''' + @agentBlock + ''''
END
IF @isActive IS NOT NULL
SET @sql_filter = @sql_filter + ' AND ISNULL(isActive,''Y'') = ''' + @isActive + ''''
SET @select_field_list ='
parentId
,agentId
,agentCode
,mapCodeInt
,agentName
,agentAddress
,agentCity
,agentLocation
,agentDistrict
,agentState
,agentPhone1
,agentPhone2
,agentType
,agentType1
,contractExpiryDate
,renewalFollowupDate
,isSettlingAgent
,countryName
,haschanged
,modifiedBy
,createdBy
,isActive
,agentBlock
'
--PRINT @table
EXEC dbo.proc_paging
@table
,@sql_filter
,@select_field_list
,@extra_field_list
,@sortBy
,@sortOrder
,@pageSize
,@pageNumber
END
GO