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.

227 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_groupLocationMap] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. [proc_groupLocationMap] @flag = 'fl', @user = 'admin', @groupId = 1
  10. [proc_groupLocationMap] @flag = 'sa', @groupId = '5004'
  11. EXEC [proc_groupLocationMap] @flag = 's'
  12. SELECT * FROM groupLocationMap
  13. */
  14. CREATE proc [dbo].[proc_groupLocationMap]
  15. @flag VARCHAR(50) = NULL
  16. ,@user VARCHAR(30) = NULL
  17. ,@glmId INT = NULL
  18. ,@detailTitle VARCHAR(50) = NULL
  19. ,@groupId INT = NULL
  20. ,@districtId INT = NULL
  21. ,@districtIds VARCHAR(MAX) = NULL
  22. ,@isActive CHAR(1) = NULL
  23. ,@isDeleted CHAR(1) = NULL
  24. ,@sortBy VARCHAR(50) = NULL
  25. ,@sortOrder VARCHAR(5) = NULL
  26. ,@pageSize INT = NULL
  27. ,@pageNumber INT = NULL
  28. AS
  29. SET NOCOUNT ON
  30. DECLARE @glcode VARCHAR(10), @acct_num VARCHAR(20);
  31. CREATE TABLE #tempACnum (acct_num VARCHAR(20));
  32. SET XACT_ABORT ON
  33. BEGIN TRY
  34. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  35. DECLARE
  36. @sql VARCHAR(MAX)
  37. ,@oldValue VARCHAR(MAX)
  38. ,@newValue VARCHAR(MAX)
  39. ,@tableName VARCHAR(50)
  40. ,@logIdentifier VARCHAR(100)
  41. ,@logParamMain VARCHAR(100)
  42. ,@tableAlias VARCHAR(100)
  43. ,@modType VARCHAR(6)
  44. ,@module INT
  45. ,@selectFieldList VARCHAR(MAX)
  46. ,@extraFieldList VARCHAR(MAX)
  47. ,@table VARCHAR(MAX)
  48. ,@sqlFilter VARCHAR(MAX)
  49. ,@ApprovedFunctionId INT
  50. SELECT
  51. @logIdentifier = 'groupLocationMapId'
  52. ,@logParamMain = 'groupLocationMap'
  53. ,@tableAlias = 'Agent'
  54. ,@module = 20
  55. ,@ApprovedFunctionId = 20101330
  56. DECLARE @district_list TABLE(districtId INT)
  57. IF @flag = 'u'
  58. BEGIN
  59. --Select districtId
  60. SET @sql = '
  61. SELECT
  62. districtCode
  63. FROM api_districtList WITH(NOLOCK)
  64. WHERE districtCode IN (' + @districtIds + ')
  65. '
  66. INSERT @district_list
  67. EXEC (@sql)
  68. BEGIN TRANSACTION
  69. --DELETE FROM agentGroupMod WHERE groupId = @groupId
  70. INSERT groupLocationMap(groupId, districtId, createdBy, createdDate)
  71. SELECT @groupId, districtId, @user, GETDATE() FROM @district_list
  72. IF @@TRANCOUNT > 0
  73. COMMIT TRANSACTION
  74. EXEC proc_errorHandler 0, 'Location mapped to Group successfully.', @groupId
  75. END
  76. ELSE IF @flag = 'd'
  77. BEGIN
  78. --SET @sql = '
  79. -- DELETE FROM groupLocationMap
  80. -- WHERE districtId IN (' + @districtIds + ') AND groupId = ' + CAST(@groupId AS VARCHAR) + '
  81. -- '
  82. --EXEC (@sql)
  83. DELETE FROM groupLocationMap WHERE districtId = @districtId AND groupId = @groupId
  84. EXEC proc_errorHandler 0, 'Agent deleted From Group successfully.', @groupId
  85. END
  86. ELSE IF @flag = 's' --Load All Group
  87. BEGIN
  88. IF @sortBy IS NULL
  89. SET @sortBy = 'valueId'
  90. SET @table = '(
  91. SELECT
  92. sdv.valueId
  93. ,sdv.detailTitle
  94. ,sdv.detailDesc
  95. ,sdv.createdBy
  96. ,sdv.createdDate
  97. FROM staticDataValue sdv WITH(NOLOCK)
  98. WHERE sdv.typeId = 4300
  99. ) x'
  100. SET @sqlFilter = ''
  101. SET @selectFieldList = '
  102. valueId
  103. ,detailTitle
  104. ,detailDesc
  105. ,createdDate
  106. ,createdBy
  107. '
  108. IF @detailTitle IS NOT NULL
  109. SET @sqlFilter = @sqlFilter + ' AND detailTitle LIKE ''' + @detailTitle + '%'''
  110. EXEC dbo.proc_paging
  111. @table
  112. ,@sqlFilter
  113. ,@selectFieldList
  114. ,@extraFieldList
  115. ,@sortBy
  116. ,@sortOrder
  117. ,@pageSize
  118. ,@pageNumber
  119. END
  120. ELSE IF @flag = 'sa' --Load Group District Mapping
  121. BEGIN
  122. IF @sortBy IS NULL
  123. SET @sortBy = 'districtId'
  124. IF @sortOrder IS NULL
  125. SET @sortOrder = 'ASC'
  126. SET @table = '(
  127. SELECT
  128. main.districtId
  129. ,districtName = dist.districtName
  130. ,main.groupId
  131. ,groupName = ag.detailTitle
  132. FROM groupLocationMap main
  133. LEFT JOIN api_districtList dist ON main.districtId = dist.districtCode
  134. LEFT JOIN staticDataValue ag ON main.groupId = ag.valueId
  135. WHERE main.groupId = ' + CAST(@groupId AS VARCHAR) + '
  136. ) x'
  137. SET @sqlFilter = ''
  138. IF @detailTitle IS NOT NULL
  139. SET @sqlFilter = @sqlFilter + ' AND ISNULL(districtName, '''') LIKE ''%' + @detailTitle + '%'''
  140. SET @selectFieldList ='
  141. districtId
  142. ,districtName
  143. ,groupId
  144. ,groupName
  145. '
  146. EXEC dbo.proc_paging
  147. @table
  148. ,@sqlFilter
  149. ,@selectFieldList
  150. ,@extraFieldList
  151. ,@sortBy
  152. ,@sortOrder
  153. ,@pageSize
  154. ,@pageNumber
  155. END
  156. ELSE IF @flag = 'fl' --Load Filter List of District
  157. BEGIN
  158. SET @sortBy = 'districtName'
  159. IF @sortBy IS NULL
  160. SET @sortBy = 'districtName'
  161. IF @sortOrder IS NULL
  162. SET @sortOrder = 'ASC'
  163. SET @table = '(
  164. SELECT
  165. districtId = districtCode
  166. ,districtName
  167. FROM api_districtList
  168. WHERE districtCode NOT IN
  169. (SELECT districtId FROM groupLocationMap)
  170. ) x'
  171. SET @sqlFilter = ''
  172. IF @detailTitle IS NOT NULL
  173. SET @sqlFilter = @sqlFilter + ' AND ISNULL(districtName, '''') LIKE ''%' + @detailTitle + '%'''
  174. SET @selectFieldList ='
  175. districtId
  176. ,districtName
  177. '
  178. EXEC dbo.proc_paging
  179. @table
  180. ,@sqlFilter
  181. ,@selectFieldList
  182. ,@extraFieldList
  183. ,@sortBy
  184. ,@sortOrder
  185. ,@pageSize
  186. ,@pageNumber
  187. END
  188. END TRY
  189. BEGIN CATCH
  190. IF @@TRANCOUNT > 0
  191. ROLLBACK TRANSACTION
  192. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  193. END CATCH
  194. GO