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.

173 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_globalUserList] 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_globalUserList]
  9. @flag VARCHAR(50) = NULL
  10. ,@userId INT = NULL
  11. ,@user VARCHAR(30) = NULL
  12. ,@userName VARCHAR(30) = NULL
  13. ,@agentName VARCHAR(100) = NULL
  14. ,@agentCode VARCHAR(20) = NULL
  15. ,@isActive CHAR(1) = NULL
  16. ,@isLocked CHAR(1) = NULL
  17. ,@agentId INT = NULL
  18. ,@isDeleted CHAR(1) = NULL
  19. ,@sortBy VARCHAR(50) = NULL
  20. ,@sortOrder VARCHAR(5) = NULL
  21. ,@pageSize INT = NULL
  22. ,@pageNumber INT = NULL
  23. ,@userFullName VARCHAR(200) = NULL
  24. AS
  25. SET NOCOUNT ON;
  26. SET XACT_ABORT ON;
  27. DECLARE
  28. @sql VARCHAR(MAX)
  29. ,@select_field_list VARCHAR(MAX)
  30. ,@extra_field_list VARCHAR(MAX)
  31. ,@table VARCHAR(MAX)
  32. ,@sql_filter VARCHAR(MAX)
  33. ,@ApprovedFunctionId INT
  34. IF @flag = 'hs'
  35. BEGIN
  36. IF @sortBy IS NULL
  37. SET @sortBy = 'userId'
  38. IF @sortOrder IS NULL
  39. SET @sortOrder = 'ASC'
  40. SET @table = '(
  41. SELECT
  42. main.userId
  43. ,main.userName
  44. ,name = ISNULL(main.firstName, '''') + ISNULL( '' '' + main.middleName, '''')+ ISNULL( '' '' + main.lastName, '''')
  45. ,main.address
  46. ,main.countryId
  47. ,countryName = cm.countryName
  48. ,main.agentId
  49. ,am.agentName
  50. ,main.agentCode
  51. ,main.isLocked
  52. ,main.haschanged
  53. ,main.modifiedBy
  54. ,main.createdBy
  55. ,main.isActive
  56. FROM
  57. (
  58. SELECT
  59. userId = ISNULL(aum.userId, au.userId)
  60. ,[userName] = ISNULL(aum.userName, au.userName)
  61. ,agentCode = ISNULL(aum.agentCode, au.agentCode)
  62. ,firstName = ISNULL(aum.firstName, au.firstName)
  63. ,middleName = ISNULL(aum.middleName, au.middleName)
  64. ,lastName = ISNULL(aum.lastName, au.lastName)
  65. ,salutation = ISNULL(aum.salutation, au.salutation)
  66. ,gender = ISNULL(aum.gender, au.gender)
  67. ,[address] = ISNULL(aum.address, au.address)
  68. ,city = ISNULL(aum.city, au.city)
  69. ,countryId = ISNULL(aum.countryId, au.countryId)
  70. ,state = ISNULL(aum.state, au.state)
  71. ,district = ISNULL(aum.district, au.district)
  72. ,zip = ISNULL(aum.zip, au.zip)
  73. ,telephoneNo = ISNULL(aum.telephoneNo, au.telephoneNo)
  74. ,mobileNo = ISNULL(aum.mobileNo, au.mobileNo)
  75. ,email = ISNULL(aum.email, au.email)
  76. ,pwd = ISNULL(aum.pwd, au.pwd)
  77. ,isActive = ISNULL(aum.isActive, au.isActive)
  78. ,isLocked = au.isLocked
  79. ,agentId = ISNULL(aum.agentId, au.agentId)
  80. ,sessionTimeOutPeriod = ISNULL(aum.sessionTimeOutPeriod, au.sessionTimeOutPeriod)
  81. ,loginTime = ISNULL(aum.loginTime, au.loginTime)
  82. ,logoutTime = ISNULL(aum.logoutTime, au.logoutTime)
  83. ,userAccessLevel = ISNULL(aum.userAccessLevel, au.userAccessLevel)
  84. ,lastLoginTs = ISNULL(aum.lastLoginTs, au.lastLoginTs)
  85. ,au.employeeId
  86. ,au.createdBy
  87. ,au.createdDate
  88. ,modifiedDate = CASE WHEN au.approvedBy IS NULL THEN au.createdDate ELSE aum.createdDate END
  89. ,modifiedBy = CASE WHEN au.approvedBy IS NULL THEN au.createdBy ELSE aum.createdBy END
  90. ,hasChanged = CASE WHEN (au.approvedBy IS NULL) OR
  91. (aum.userId IS NOT NULL) OR
  92. (x.userId IS NOT NULL) OR
  93. (y.userId IS NOT NULL)
  94. THEN ''Y'' ELSE ''N'' END
  95. FROM applicationUsers au WITH(NOLOCK)
  96. LEFT JOIN (
  97. SELECT
  98. userId
  99. ,createdBy = MAX(createdBy)
  100. ,createdDate = MAX(createdDate)
  101. FROM applicationUserFunctionsMod aufm WITH(NOLOCK)
  102. GROUP BY userId
  103. ) x ON au.userId = x.userId
  104. LEFT JOIN (
  105. SELECT
  106. userId
  107. ,createdBy = MAX(createdBy)
  108. ,createdDate = MAX(createdDate)
  109. FROM applicationUserRolesMod aurm WITH(NOLOCK)
  110. GROUP BY userId
  111. ) y ON au.userId = y.userId
  112. LEFT JOIN applicationUsersMod aum ON au.userId = aum.userId
  113. WHERE au.agentId <> ''1001''
  114. ) main
  115. INNER JOIN agentMaster am ON main.agentId = am.agentId
  116. LEFT JOIN countryMaster cm ON main.countryId = cm.countryId
  117. ) x'
  118. SET @sql_filter = ''
  119. IF @userName IS NOT NULL
  120. SET @sql_filter = @sql_filter + ' AND ISNULL(userName, '''') LIKE ''%' + @userName + '%'''
  121. IF @userFullName IS NOT NULL
  122. SET @sql_filter = @sql_filter + ' AND ISNULL(name, '''') LIKE ''%' + @userFullName + '%'''
  123. IF @agentName IS NOT NULL
  124. SET @sql_filter = @sql_filter + ' AND ISNULL(agentName, '''') LIKE ''%' + @agentName + '%'''
  125. IF @isLocked IS NOT NULL
  126. SET @sql_filter = @sql_filter + ' AND ISNULL(isLocked, ''N'') = ''' + @isLocked + ''''
  127. IF @isActive IS NOT NULL
  128. SET @sql_filter = @sql_filter + ' AND ISNULL(isActive, ''Y'') = ''' + @isActive + ''''
  129. SET @select_field_list ='
  130. userId
  131. ,userName
  132. ,name
  133. ,address
  134. ,countryId
  135. ,countryName
  136. ,agentId
  137. ,agentName
  138. ,agentCode
  139. ,isLocked
  140. ,haschanged
  141. ,modifiedBy
  142. ,createdBy
  143. ,isActive
  144. '
  145. EXEC dbo.proc_paging
  146. @table
  147. ,@sql_filter
  148. ,@select_field_list
  149. ,@extra_field_list
  150. ,@sortBy
  151. ,@sortOrder
  152. ,@pageSize
  153. ,@pageNumber
  154. END
  155. GO