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.

259 lines
18 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_msgBroadCast] 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_msgBroadCast]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@msgBroadCastId VARCHAR(30) = NULL
  12. ,@countryId INT = NULL
  13. ,@agentId INT = NULL
  14. ,@branchId INT = NULL
  15. ,@countryName VARCHAR(50) = NULL
  16. ,@agentName VARCHAR(50) = NULL
  17. ,@branchName VARCHAR(50) = NULL
  18. ,@msgTitle NVARCHAR(500) = NULL
  19. ,@msgDetail NVARCHAR(MAX) = NULL
  20. ,@sortBy VARCHAR(50) = NULL
  21. ,@isActive VARCHAR(2) = NULL
  22. ,@userType VARCHAR(50) = NULL
  23. ,@sortOrder VARCHAR(5) = NULL
  24. ,@pageSize INT = NULL
  25. ,@pageNumber INT = NULL
  26. AS
  27. /*
  28. flag Purpose
  29. ----------------------------
  30. d Delete
  31. a Select by id
  32. i Insert
  33. u Update
  34. s Select
  35. */
  36. SET NOCOUNT ON
  37. SET XACT_ABORT ON
  38. BEGIN TRY
  39. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  40. DECLARE
  41. @sql VARCHAR(MAX)
  42. DECLARE
  43. @select_field_list VARCHAR(MAX)
  44. ,@extra_field_list VARCHAR(MAX)
  45. ,@table VARCHAR(MAX)
  46. ,@sql_filter VARCHAR(MAX)
  47. ,@newValue VARCHAR(MAX)
  48. ,@oldValue VARCHAR(MAX)
  49. ,@modType VARCHAR(6)
  50. IF @flag = 'i'
  51. BEGIN
  52. --IF EXISTS (SELECT 'X' FROM msgBroadCast WHERE countryId = @countryId AND agentId = @agentId AND branchId = @branchId
  53. -- AND ISNULL(isDeleted, 'N') <> 'Y')
  54. -- BEGIN
  55. -- EXEC proc_errorHandler 1, 'Cannot Insert Duplicate Message For Same Branch', NULL
  56. -- RETURN
  57. -- END
  58. BEGIN TRANSACTION
  59. INSERT INTO msgBroadCast (
  60. countryId
  61. ,agentId
  62. ,branchId
  63. ,msgTitle
  64. ,msgDetail
  65. ,isActive
  66. ,createdBy
  67. ,createdDate
  68. ,userType
  69. )
  70. SELECT
  71. @countryId
  72. ,@agentId
  73. ,@branchId
  74. ,@msgTitle
  75. ,@msgDetail
  76. ,@isActive
  77. ,@user
  78. ,GETDATE()
  79. ,@userType
  80. SET @msgBroadCastId = SCOPE_IDENTITY()
  81. SET @modType = 'insert'
  82. EXEC [dbo].proc_GetColumnToRow 'msgBroadCast', 'msgBroadCastId', @msgBroadCastId, @newValue OUTPUT
  83. INSERT INTO #msg(errorCode, msg, id)
  84. EXEC proc_applicationLogs 'i', NULL, @modType, 'Message Broadcast Setup', @msgBroadCastId, @user, @oldValue, @newValue
  85. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  86. BEGIN
  87. IF @@TRANCOUNT > 0
  88. ROLLBACK TRANSACTION
  89. EXEC proc_errorHandler 1, 'Failed to Insert.', @msgBroadCastId
  90. RETURN
  91. END
  92. IF @@TRANCOUNT > 0
  93. COMMIT TRANSACTION
  94. EXEC proc_errorHandler 0, 'Record has been Inserted successfully.', @msgBroadCastId
  95. END
  96. ELSE IF @flag = 'u'
  97. BEGIN
  98. --IF EXISTS (SELECT 'X' FROM msgBroadCast WHERE countryId = @countryId AND agentId = @agentId AND branchId = @branchId
  99. -- AND msgBroadCastId <> @msgBroadCastId AND ISNULL(isDeleted, 'N') <> 'Y')
  100. -- BEGIN
  101. -- EXEC proc_errorHandler 1, 'Cannot Update Message For Already Existed Branch ', NULL
  102. -- RETURN
  103. -- END
  104. BEGIN TRANSACTION
  105. UPDATE msgBroadCast SET
  106. countryId = @countryId
  107. ,agentId = @agentId
  108. ,branchId = @branchId
  109. ,msgTitle = @msgTitle
  110. ,msgDetail = @msgDetail
  111. ,isActive = @isActive
  112. ,modifiedBy = @user
  113. ,modifiedDate = GETDATE()
  114. ,userType = @userType
  115. WHERE msgBroadCastId = @msgBroadCastId
  116. SET @modType = 'update'
  117. EXEC [dbo].proc_GetColumnToRow 'msgBroadCast', 'msgBroadCastId', @msgBroadCastId, @newValue OUTPUT
  118. INSERT INTO #msg(errorCode, msg, id)
  119. EXEC proc_applicationLogs 'i', NULL, @modType, 'Message Broadcast Setup', @msgBroadCastId, @user, @oldValue, @newValue
  120. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  121. BEGIN
  122. IF @@TRANCOUNT > 0
  123. ROLLBACK TRANSACTION
  124. EXEC proc_errorHandler 1, 'Failed to Update.', @msgBroadCastId
  125. RETURN
  126. END
  127. IF @@TRANCOUNT > 0
  128. COMMIT TRANSACTION
  129. EXEC proc_errorHandler 0, 'Record has been Updated successfully.', @msgBroadCastId
  130. END
  131. ELSE IF @flag = 'd'
  132. BEGIN
  133. BEGIN TRANSACTION
  134. UPDATE msgBroadCast SET
  135. isDeleted = 'Y'
  136. WHERE msgBroadCastId = @msgBroadCastId
  137. SET @modType = 'delete'
  138. EXEC [dbo].proc_GetColumnToRow 'msgBroadCast', 'msgBroadCastId', @msgBroadCastId, @newValue OUTPUT
  139. INSERT INTO #msg(errorCode, msg, id)
  140. EXEC proc_applicationLogs 'i', NULL, @modType, 'Message Broadcast Setup', @msgBroadCastId, @user, @oldValue, @newValue
  141. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  142. BEGIN
  143. IF @@TRANCOUNT > 0
  144. ROLLBACK TRANSACTION
  145. EXEC proc_errorHandler 1, 'Failed to Delete.', @msgBroadCastId
  146. RETURN
  147. END
  148. IF @@TRANCOUNT > 0
  149. COMMIT TRANSACTION
  150. EXEC proc_errorHandler 0, 'Record has been Deleted successfully.', @msgBroadCastId
  151. END
  152. ELSE IF @flag = 's'
  153. BEGIN
  154. IF @sortBy IS NULL
  155. SET @sortBy = 'msgBroadCastId'
  156. IF @sortOrder IS NULL
  157. SET @sortOrder = 'ASC'
  158. SET @table = '(
  159. SELECT
  160. main.msgBroadCastId
  161. ,countryName = ISNULL(cm.countryName,''All'')
  162. ,agentName = ISNULL(am.agentName,''All'')
  163. ,branchName = ISNULL(am1.agentName,''All'')
  164. ,main.msgTitle
  165. ,main.msgDetail
  166. ,main.createdBy
  167. ,main.createdDate
  168. ,isActive = case when main.isActive=''N'' then ''Inactive'' else ''Active'' end
  169. ,userType = case when main.userType is null then ''All'' else main.userType end
  170. FROM msgBroadCast main WITH(NOLOCK)
  171. LEFT JOIN countryMaster cm WITH(NOLOCK) ON cm.countryId = main.countryId
  172. LEFT JOIN agentMaster am WITH(NOLOCK) ON am.agentId = main.agentId
  173. LEFT JOIN agentMaster am1 WITH(NOLOCK) ON am1.agentId = main.branchId
  174. WHERE ISNULL(main.isDeleted, ''N'') <> ''Y''
  175. ) x'
  176. SET @sql_filter = ''
  177. IF @countryName IS NOT NULL
  178. SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
  179. IF @agentName IS NOT NULL
  180. SET @sql_filter = @sql_filter + ' AND agentName LIKE ''%' + @agentName + '%'''
  181. IF @branchName IS NOT NULL
  182. SET @sql_filter = @sql_filter + ' AND branchName LIKE ''%' + @branchName + '%'''
  183. SET @select_field_list ='
  184. msgBroadCastId
  185. ,countryName
  186. ,agentName
  187. ,branchName
  188. ,msgTitle
  189. ,msgDetail
  190. ,createdDate
  191. ,createdBy
  192. ,isActive
  193. ,userType
  194. '
  195. EXEC dbo.proc_paging
  196. @table
  197. ,@sql_filter
  198. ,@select_field_list
  199. ,@extra_field_list
  200. ,@sortBy
  201. ,@sortOrder
  202. ,@pageSize
  203. ,@pageNumber
  204. END
  205. ELSE IF @flag = 'a'
  206. BEGIN
  207. SELECT
  208. main.countryId
  209. ,main.agentId
  210. ,main.branchId
  211. ,countryName = cm.countryName
  212. ,agentName = am.agentName
  213. ,branchName = am1.agentName
  214. ,main.msgTitle
  215. ,main.msgDetail
  216. ,main.isActive
  217. ,main.userType
  218. FROM msgBroadCast main WITH(NOLOCK)
  219. LEFT JOIN countryMaster cm WITH(NOLOCK) ON cm.countryId = main.countryId
  220. LEFT JOIN agentMaster am WITH(NOLOCK) ON am.agentId = main.agentId
  221. LEFT JOIN agentMaster am1 WITH(NOLOCK) ON am1.agentId = main.branchId
  222. WHERE msgBroadCastId = @msgBroadCastId
  223. END
  224. END TRY
  225. BEGIN CATCH
  226. IF @@TRANCOUNT > 0
  227. ROLLBACK TRANSACTION
  228. SELECT 1 errorCode, ERROR_MESSAGE() mes, null id
  229. END CATCH
  230. GO