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.

166 lines
8.4 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_userAgentMapping] 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 proc [dbo].[proc_userAgentMapping]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@rowId INT = NULL
  12. ,@agentId INT = NULL
  13. ,@agentName VARCHAR(200) = NULL
  14. ,@userName VARCHAR(50) = NULL
  15. ,@sortBy VARCHAR(50) = NULL
  16. ,@sortOrder VARCHAR(5) = NULL
  17. ,@pageSize INT = NULL
  18. ,@pageNumber INT = NULL
  19. AS
  20. SET NOCOUNT ON
  21. SET XACT_ABORT ON
  22. BEGIN TRY
  23. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  24. DECLARE
  25. @sql VARCHAR(MAX)
  26. ,@oldValue VARCHAR(MAX)
  27. ,@newValue VARCHAR(MAX)
  28. ,@module VARCHAR(10)
  29. ,@tableAlias VARCHAR(100)
  30. ,@logIdentifier VARCHAR(50)
  31. ,@logParamMod VARCHAR(100)
  32. ,@logParamMain VARCHAR(100)
  33. ,@table VARCHAR(MAX)
  34. ,@select_field_list VARCHAR(MAX)
  35. ,@extra_field_list VARCHAR(MAX)
  36. ,@sql_filter VARCHAR(MAX)
  37. ,@modType VARCHAR(6)
  38. ,@errorMsg VARCHAR(MAX)
  39. IF @flag = 'd'
  40. BEGIN
  41. BEGIN TRANSACTION
  42. UPDATE userAgentMapping SET isDeleted ='Y'
  43. , modifiedBy=@user
  44. , modifiedDate=GETDATE()
  45. WHERE id = @rowId
  46. INSERT INTO #msg(errorCode, msg, id)
  47. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  48. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  49. BEGIN
  50. IF @@TRANCOUNT > 0
  51. ROLLBACK TRANSACTION
  52. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowid
  53. RETURN
  54. END
  55. IF @@TRANCOUNT > 0
  56. COMMIT TRANSACTION
  57. EXEC proc_errorHandler 0, 'Record has been deleted successfully.', @rowid
  58. END
  59. IF @flag = 'i'
  60. BEGIN
  61. IF EXISTS(SELECT 'A' FROM userAgentMapping WHERE userName = @userName AND agentId = @agentId AND ISNULL(isDeleted,'N') <> 'Y')
  62. BEGIN
  63. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  64. RETURN
  65. END
  66. BEGIN TRANSACTION
  67. INSERT INTO userAgentMapping
  68. (
  69. userName
  70. ,agentId
  71. ,createdBy
  72. ,createdDate
  73. )
  74. SELECT
  75. @userName
  76. ,@agentId
  77. ,@user
  78. ,GETDATE()
  79. SET @rowid = SCOPE_IDENTITY()
  80. INSERT INTO #msg(errorCode, msg, id)
  81. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  82. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  83. BEGIN
  84. IF @@TRANCOUNT > 0
  85. ROLLBACK TRANSACTION
  86. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowid
  87. RETURN
  88. END
  89. IF @@TRANCOUNT > 0
  90. COMMIT TRANSACTION
  91. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowid
  92. END
  93. IF @flag = 's'
  94. BEGIN
  95. IF @sortBy IS NULL
  96. SET @sortBy = 'createdDate'
  97. IF @sortOrder IS NULL
  98. SET @sortOrder = 'DESC'
  99. SET @table = '(
  100. SELECT
  101. zm.id
  102. ,zm.userName
  103. ,userFullName = au.firstName+'' ''+ISNULL(au.middleName,'''')+ '' ''+au.lastName
  104. ,am.agentName
  105. ,zm.createdBy
  106. ,zm.createdDate
  107. FROM userAgentMapping zm with(nolock)
  108. inner join applicationUsers au on au.userName = zm.userName
  109. inner join agentMaster am with(nolock) on am.agentId = zm.agentId
  110. WHERE isnull(zm.isDeleted,''N'') <> ''Y'''
  111. SET @sql_filter = ''
  112. SET @select_field_list = '
  113. id
  114. ,userName
  115. ,userFullName
  116. ,agentName
  117. ,createdBy
  118. ,createdDate
  119. '
  120. IF @userName IS NOT NULL
  121. SET @sql_filter = @sql_filter + ' AND userName = ''' + @userName + ''''
  122. IF @agentName IS NOT NULL
  123. SET @sql_filter = @sql_filter + ' AND agentName = ''' + @agentName + ''''
  124. SET @table = @table +') x '
  125. EXEC dbo.proc_paging
  126. @table
  127. ,@sql_filter
  128. ,@select_field_list
  129. ,@extra_field_list
  130. ,@sortBy
  131. ,@sortOrder
  132. ,@pageSize
  133. ,@pageNumber
  134. END
  135. END TRY
  136. BEGIN CATCH
  137. IF @@TRANCOUNT > 0
  138. ROLLBACK TRANSACTION
  139. DECLARE @errorMessage VARCHAR(MAX)
  140. SET @errorMessage = ERROR_MESSAGE()
  141. EXEC proc_errorHandler 1, @errorMessage, @rowid
  142. END CATCH
  143. GO