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

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_globalAgentList] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE procEDURE [dbo].[proc_globalAgentList]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@agentId VARCHAR(30) = NULL
  12. ,@parentId VARCHAR(30) = NULL
  13. ,@agentName VARCHAR(100) = NULL
  14. ,@agentCode VARCHAR(50) = NULL
  15. ,@agentAddress VARCHAR(200) = NULL
  16. ,@agentCity VARCHAR(100) = NULL
  17. ,@agentCountryId INT = NULL
  18. ,@agentCountry VARCHAR(100) = NULL
  19. ,@agentState VARCHAR(100) = NULL
  20. ,@agentDistrict VARCHAR(100) = NULL
  21. ,@agentZip VARCHAR(20) = NULL
  22. ,@agentLocation INT = NULL
  23. ,@agentPhone1 VARCHAR(50) = NULL
  24. ,@agentPhone2 VARCHAR(50) = NULL
  25. ,@agentFax1 VARCHAR(50) = NULL
  26. ,@agentFax2 VARCHAR(50) = NULL
  27. ,@agentMobile1 VARCHAR(50) = NULL
  28. ,@agentMobile2 VARCHAR(50) = NULL
  29. ,@agentEmail1 VARCHAR(100) = NULL
  30. ,@agentEmail2 VARCHAR(100) = NULL
  31. ,@businessOrgType INT = NULL
  32. ,@businessType INT = NULL
  33. ,@agentRole CHAR(1) = NULL
  34. ,@agentType INT = NULL
  35. ,@allowAccountDeposit CHAR(1) = NULL
  36. ,@actAsBranch CHAR(1) = NULL
  37. ,@contractExpiryDate DATETIME = NULL
  38. ,@renewalFollowupDate DATETIME = NULL
  39. ,@isSettlingAgent CHAR(1) = NULL
  40. ,@agentGroup INT = NULL
  41. ,@businessLicense VARCHAR(100) = NULL
  42. ,@agentBlock CHAR(1) = NULL
  43. ,@agentcompanyName VARCHAR(200) = NULL
  44. ,@companyAddress VARCHAR(200) = NULL
  45. ,@companyCity VARCHAR(100) = NULL
  46. ,@companyCountry VARCHAR(100) = NULL
  47. ,@companyState VARCHAR(100) = NULL
  48. ,@companyDistrict VARCHAR(100) = NULL
  49. ,@companyZip VARCHAR(50) = NULL
  50. ,@companyPhone1 VARCHAR(50) = NULL
  51. ,@companyPhone2 VARCHAR(50) = NULL
  52. ,@companyFax1 VARCHAR(50) = NULL
  53. ,@companyFax2 VARCHAR(50) = NULL
  54. ,@companyEmail1 VARCHAR(100) = NULL
  55. ,@companyEmail2 VARCHAR(100) = NULL
  56. ,@localTime INT = NULL
  57. ,@localCurrency INT = NULL
  58. ,@agentDetails VARCHAR(MAX) = NULL
  59. ,@parentName VARCHAR(100) = NULL
  60. ,@haschanged CHAR(1) = NULL
  61. ,@isActive CHAR(1) = NULL
  62. ,@isDeleted CHAR(1) = NULL
  63. ,@sortBy VARCHAR(50) = NULL
  64. ,@sortOrder VARCHAR(5) = NULL
  65. ,@pageSize INT = NULL
  66. ,@pageNumber INT = NULL
  67. ,@populateBranch CHAR(1) = NULL
  68. ,@headMessage VARCHAR(MAX) = NULL
  69. ,@mapCodeInt VARCHAR(20) = NULL
  70. ,@mapCodeDom VARCHAR(20) = NULL
  71. ,@commCodeInt VARCHAR(20) = NULL
  72. ,@commCodeDom VARCHAR(20) = NULL
  73. ,@urlRoot VARCHAR(200) = NULL
  74. ,@joinedDate DATETIME = NULL
  75. ,@mapCodeIntAc VARCHAR(50) = NULL
  76. ,@mapCodeDomAc VARCHAR(50) = NULL
  77. ,@payOption INT = NULL
  78. ,@agentSettCurr VARCHAR(50) = NULL
  79. AS
  80. SET NOCOUNT ON
  81. DECLARE
  82. @sql VARCHAR(MAX)
  83. ,@oldValue VARCHAR(MAX)
  84. ,@newValue VARCHAR(MAX)
  85. ,@tableName VARCHAR(50)
  86. ,@logIdentifier VARCHAR(100)
  87. ,@logParamMain VARCHAR(100)
  88. ,@tableAlias VARCHAR(100)
  89. ,@modType VARCHAR(6)
  90. ,@module INT
  91. ,@select_field_list VARCHAR(MAX)
  92. ,@extra_field_list VARCHAR(MAX)
  93. ,@table VARCHAR(MAX)
  94. ,@sql_filter VARCHAR(MAX)
  95. ,@ApprovedFunctionId INT
  96. IF @flag = 's'
  97. BEGIN
  98. IF @sortBy IS NULL
  99. SET @sortBy = 'agentId'
  100. IF @sortOrder IS NULL
  101. SET @sortOrder = 'ASC'
  102. SET @table = '(
  103. SELECT
  104. main.parentId
  105. ,main.agentId
  106. ,main.agentCode
  107. ,main.mapCodeInt
  108. ,main.agentName
  109. ,main.agentAddress
  110. ,main.agentCity
  111. ,agentLocation = adl.districtName
  112. ,main.agentDistrict
  113. ,main.agentState
  114. ,countryName = main.agentCountry
  115. ,main.agentPhone1
  116. ,main.agentPhone2
  117. ,main.agentType
  118. ,main.actAsBranch
  119. ,main.contractExpiryDate
  120. ,main.renewalFollowupDate
  121. ,main.isSettlingAgent
  122. ,main.haschanged
  123. ,agentType1 = sdv.detailTitle
  124. ,main.modifiedBy
  125. ,main.createdBy
  126. ,main.businessOrgType
  127. ,main.businessType
  128. ,main.agentBlock
  129. ,main.isActive
  130. FROM
  131. (
  132. SELECT
  133. parentId = ISNULL(amh.parentId, am.parentId)
  134. ,agentId = ISNULL(amh.agentId, am.agentId)
  135. ,agentCode = ISNULL(amh.agentCode, am.agentCode)
  136. ,mapCodeInt = ISNULL(amh.mapCodeInt, am.mapCodeInt)
  137. ,agentName = ISNULL(amh.agentName, am.agentName)
  138. ,agentAddress = ISNULL(amh.agentAddress, am.agentAddress)
  139. ,agentCity = ISNULL(amh.agentCity, am.agentCity)
  140. ,agentCountry = ISNULL(amh.agentCountry, am.agentCountry)
  141. ,agentState = ISNULL(amh.agentState, am.agentState)
  142. ,agentDistrict = ISNULL(amh.agentDistrict, am.agentDistrict)
  143. ,agentZip = ISNULL(amh.agentZip, am.agentZip)
  144. ,agentLocation = ISNULL(amh.agentLocation, am.agentLocation)
  145. ,agentPhone1 = ISNULL(amh.agentPhone1, am.agentPhone1)
  146. ,agentPhone2 = ISNULL(amh.agentPhone2, am.agentPhone2)
  147. ,agentFax1 = ISNULL(amh.agentFax1, am.agentFax1)
  148. ,agentFax2 = ISNULL(amh.agentFax2, am.agentFax2)
  149. ,agentMobile1 = ISNULL(amh.agentMobile1, am.agentMobile1)
  150. ,agentMobile2 = ISNULL(amh.agentMobile2, am.agentMobile2)
  151. ,agentEmail1 = ISNULL(amh.agentEmail1, am.agentEmail1)
  152. ,agentEmail2 = ISNULL(amh.agentEmail2, am.agentEmail2)
  153. ,businessOrgType = ISNULL(amh.businessOrgType, am.businessOrgType)
  154. ,businessType = ISNULL(amh.businessType, am.businessType)
  155. ,agentRole = ISNULL(amh.agentRole, am.agentRole)
  156. ,agentType = ISNULL(amh.agentType, am.agentType)
  157. ,actAsBranch = ISNULL(amh.actAsBranch, am.actAsBranch)
  158. ,contractExpiryDate = ISNULL(amh.contractExpiryDate, am.contractExpiryDate)
  159. ,renewalFollowupDate = ISNULL(amh.renewalFollowupDate, am.renewalFollowupDate)
  160. ,isSettlingAgent = ISNULL(amh.isSettlingAgent, am.isSettlingAgent)
  161. ,agentGrp = ISNULL(amh.agentGrp, am.agentGrp)
  162. ,businessLicense = ISNULL(amh.businessLicense, am.businessLicense)
  163. ,agentBlock = ISNULL(amh.agentBlock, am.agentBlock)
  164. ,isActive = ISNULL(amh.isActive, am.isActive)
  165. ,localTime = ISNULL(amh.localTime, am.localTime)
  166. ,am.createdDate
  167. ,am.createdBy
  168. ,amh.modType
  169. ,modifiedDate = CASE WHEN am.approvedBy IS NULL THEN am.createdDate ELSE amh.createdDate END
  170. ,modifiedBy = CASE WHEN am.approvedBy IS NULL THEN am.createdBy ELSE amh.createdBy END
  171. ,hasChanged = CASE WHEN (am.approvedBy IS NULL) OR
  172. (amh.agentId IS NOT NULL)
  173. THEN ''Y'' ELSE ''N'' END
  174. FROM agentMaster am WITH(NOLOCK)
  175. LEFT JOIN agentMasterMod amh ON am.agentId = amh.agentId
  176. )main
  177. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.agentType = sdv.valueId
  178. LEFT JOIN api_districtList adl WITH(NOLOCK) ON main.agentLocation = adl.districtCode
  179. WHERE main.agentType NOT IN (2905,2906)
  180. ) x'
  181. --Print @table
  182. SET @sql_filter = ''
  183. IF @haschanged IS NOT NULL
  184. SET @sql_filter = @sql_filter + ' AND haschanged = ''' + CAST(@haschanged AS VARCHAR) + ''''
  185. IF @agentCountry IS NOT NULL
  186. SET @sql_filter = @sql_filter + ' AND ISNULL(countryName, '''') = ''' + CAST(@agentCountry AS VARCHAR) + ''''
  187. IF @agentType IS NOT NULL
  188. SET @sql_filter = @sql_filter + ' AND ISNULL(agentType, '''') = ' + CAST(@agentType AS VARCHAR)
  189. IF @agentName IS NOT NULL
  190. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  191. IF @agentLocation IS NOT NULL
  192. SET @sql_filter = @sql_filter + ' AND ISNULL(agentLocation, '''') = ' + CAST(@agentLocation AS VARCHAR)
  193. IF @agentId IS NOT NULL
  194. SET @sql_filter = @sql_filter + ' AND agentId = ' + CAST(@agentId AS VARCHAR)
  195. IF @parentId IS NOT NULL
  196. SET @sql_filter = @sql_filter + ' AND parentId = ' + CAST(@parentId AS VARCHAR)
  197. IF @businessOrgType IS NOT NULL
  198. SET @sql_filter = @sql_filter + ' AND isnull(businessOrgType,'''') = ''' + CAST(@businessOrgType AS VARCHAR)+''''
  199. IF @businessType IS NOT NULL
  200. SET @sql_filter = @sql_filter + ' AND isnull(businessType,'''') = ''' + CAST(@businessType AS VARCHAR)+''''
  201. IF @actAsBranch IS NOT NULL
  202. SET @sql_filter = @sql_filter + ' AND ISNULL(actAsBranch, ''N'') = ''' + @actAsBranch + ''''
  203. IF @populateBranch = 'Y'
  204. SET @sql_filter = @sql_filter + ' AND (ISNULL(agentType, '''') = 2904 OR actAsBranch = ''Y'')'
  205. IF @contractExpiryDate IS NOT NULL
  206. SET @sql_filter = @sql_filter + ' AND contractExpiryDate = ''' + @contractExpiryDate + ''''
  207. IF @renewalFollowupDate IS NOT NULL
  208. SET @sql_filter = @sql_filter + ' AND renewalFollowupDate = ''' + @renewalFollowupDate + ''''
  209. IF @isSettlingAgent IS NOT NULL
  210. SET @sql_filter = @sql_filter + ' AND ISNULL(isSettlingAgent, ''N'') = ''' + @isSettlingAgent + ''''
  211. IF @agentCode IS NOT NULL
  212. SET @sql_filter = @sql_filter + ' AND agentCode = ''' + @agentCode + ''''
  213. IF @mapCodeInt IS NOT NULL
  214. SET @sql_filter = @sql_filter + ' AND mapCodeInt = ''' + @mapCodeInt + ''''
  215. IF @agentBlock IS NOT NULL
  216. BEGIN
  217. IF @agentBlock = 'Y'
  218. SET @agentBlock ='B'
  219. ELSE
  220. SET @agentBlock = 'U'
  221. SET @sql_filter = @sql_filter + ' AND ISNULL(agentBlock,''U'') = ''' + @agentBlock + ''''
  222. END
  223. IF @isActive IS NOT NULL
  224. SET @sql_filter = @sql_filter + ' AND ISNULL(isActive,''Y'') = ''' + @isActive + ''''
  225. SET @select_field_list ='
  226. parentId
  227. ,agentId
  228. ,agentCode
  229. ,mapCodeInt
  230. ,agentName
  231. ,agentAddress
  232. ,agentCity
  233. ,agentLocation
  234. ,agentDistrict
  235. ,agentState
  236. ,agentPhone1
  237. ,agentPhone2
  238. ,agentType
  239. ,agentType1
  240. ,contractExpiryDate
  241. ,renewalFollowupDate
  242. ,isSettlingAgent
  243. ,countryName
  244. ,haschanged
  245. ,modifiedBy
  246. ,createdBy
  247. ,isActive
  248. ,agentBlock
  249. '
  250. --PRINT @table
  251. EXEC dbo.proc_paging
  252. @table
  253. ,@sql_filter
  254. ,@select_field_list
  255. ,@extra_field_list
  256. ,@sortBy
  257. ,@sortOrder
  258. ,@pageSize
  259. ,@pageNumber
  260. END
  261. GO