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.

286 lines
15 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_currencyPayoutRound] 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. IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[proc_currencyPayoutRound]') AND TYPE IN (N'P', N'PC'))
  10. DROP PROCEDURE [dbo].proc_currencyPayoutRound
  11. GO
  12. */
  13. /*
  14. Exec [proc_currencyPayoutRound] @flag = 'l', @rowid = '1'
  15. */
  16. CREATE proc [dbo].[proc_currencyPayoutRound]
  17. @flag VARCHAR(50) = NULL
  18. ,@user VARCHAR(30) = NULL
  19. ,@rowid INT = NULL
  20. ,@currency VARCHAR(3) = NULL
  21. ,@place INT = NULL
  22. ,@currDecimal INT = NULL
  23. ,@tranType INT = NULL
  24. ,@isDeleted CHAR(1) = NULL
  25. ,@sortBy VARCHAR(50) = NULL
  26. ,@sortOrder VARCHAR(5) = NULL
  27. ,@pageSize INT = NULL
  28. ,@pageNumber INT = NULL
  29. AS
  30. SET NOCOUNT ON
  31. SET XACT_ABORT ON
  32. BEGIN TRY
  33. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  34. DECLARE
  35. @sql VARCHAR(MAX)
  36. ,@oldValue VARCHAR(MAX)
  37. ,@newValue VARCHAR(MAX)
  38. ,@module VARCHAR(10)
  39. ,@tableAlias VARCHAR(100)
  40. ,@logIdentifier VARCHAR(50)
  41. ,@logParamMod VARCHAR(100)
  42. ,@logParamMain VARCHAR(100)
  43. ,@table VARCHAR(MAX)
  44. ,@select_field_list VARCHAR(MAX)
  45. ,@extra_field_list VARCHAR(MAX)
  46. ,@sql_filter VARCHAR(MAX)
  47. ,@modType VARCHAR(6)
  48. ,@errorMsg VARCHAR(MAX)
  49. DECLARE
  50. @selectFieldList VARCHAR(MAX)
  51. ,@extraFieldList VARCHAR(MAX)
  52. ,@sqlFilter VARCHAR(MAX)
  53. IF @flag = 'p'
  54. BEGIN
  55. SELECT @rowId = rowId FROM currencyPayoutRound WHERE ISNULL(isDeleted, 'N') = 'N' AND currency = @currency AND tranType = @tranType
  56. IF @rowid IS NULL
  57. SELECT @rowId = rowId FROM currencyPayoutRound WHERE ISNULL(isDeleted, 'N') = 'N' AND currency = @currency AND tranType IS NULL
  58. SELECT place = ISNULL(place, 0), currDecimal = ISNULL(currDecimal, 0) FROM currencyPayoutRound WHERE rowId = @rowid
  59. END
  60. ELSE IF @flag = 'a'
  61. BEGIN
  62. SELECT * From currencyPayoutRound with (nolock)
  63. where rowid= @rowid
  64. END
  65. ELSE IF @flag = 'd'
  66. BEGIN
  67. BEGIN TRANSACTION
  68. UPDATE currencyPayoutRound SET
  69. isDeleted = 'Y'
  70. ,modifiedBy = @user
  71. ,modifiedDate = GETDATE()
  72. WHERE rowid = @rowid
  73. INSERT INTO #msg(errorCode, msg, id)
  74. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  75. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  76. BEGIN
  77. IF @@TRANCOUNT > 0
  78. ROLLBACK TRANSACTION
  79. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowid
  80. RETURN
  81. END
  82. IF @@TRANCOUNT > 0
  83. COMMIT TRANSACTION
  84. EXEC proc_errorHandler 0, 'Record has been deleted successfully.', @rowid
  85. END
  86. ELSE IF @flag = 'u'
  87. BEGIN
  88. IF(SELECT TOP 1 ISNULL(tranType,0) FROM currencyPayoutRound WHERE
  89. currency = @currency
  90. AND tranType IS NULL
  91. AND ISNULL(isDeleted,'N')<> 'Y'
  92. AND rowId <> @rowid) <> ISNULL(@tranType,0)
  93. BEGIN
  94. EXEC proc_errorHandler 1, 'All Trantype already setup.', @rowid
  95. RETURN
  96. END
  97. IF EXISTS(SELECT TOP 1 ISNULL(tranType,0) FROM currencyPayoutRound WHERE
  98. currency = @currency
  99. AND tranType IS NOT NULL
  100. AND ISNULL(isDeleted,'N') <> 'Y' AND rowId <> @rowid
  101. )
  102. BEGIN
  103. IF @tranType IS NULL
  104. BEGIN
  105. EXEC proc_errorHandler 1, 'Cannot setup all Trantype.', @rowid
  106. RETURN;
  107. END
  108. END
  109. IF EXISTS(SELECT TOP 1 'X' FROM currencyPayoutRound WHERE
  110. currency = @currency
  111. AND tranType = @tranType
  112. AND ISNULL(isDeleted,'N')<> 'Y' AND rowId <> @rowid
  113. )
  114. BEGIN
  115. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  116. RETURN;
  117. END
  118. BEGIN TRANSACTION
  119. UPDATE currencyPayoutRound SET
  120. currency = @currency
  121. ,place = @place
  122. ,currDecimal = @currDecimal
  123. ,tranType = @tranType
  124. ,modifiedBy = @user
  125. ,modifiedDate = GETDATE()
  126. WHERE rowid = @rowid
  127. INSERT INTO #msg(errorCode, msg, id)
  128. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  129. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  130. BEGIN
  131. IF @@TRANCOUNT > 0
  132. ROLLBACK TRANSACTION
  133. EXEC proc_errorHandler 1, 'Failed to update record.', @rowid
  134. RETURN
  135. END
  136. IF @@TRANCOUNT > 0
  137. COMMIT TRANSACTION
  138. EXEC proc_errorHandler 0, 'Record has been updated successfully.', @rowid
  139. END
  140. ELSE IF @flag = 'i'
  141. BEGIN
  142. --select * from staticDataValue where valueId=7100
  143. IF (SELECT TOP 1 ISNULL(tranType,0) FROM currencyPayoutRound WHERE currency = @currency AND tranType IS NULL AND ISNULL(isDeleted,'N')<> 'Y')<> ISNULL(@tranType,0)
  144. BEGIN
  145. EXEC proc_errorHandler 1, 'All Trantype already setup.', @rowid
  146. RETURN;
  147. END
  148. IF EXISTS (SELECT TOP 1 ISNULL(tranType,0) FROM currencyPayoutRound WHERE currency = @currency AND tranType IS NOT NULL AND ISNULL(isDeleted,'N')<> 'Y')
  149. BEGIN
  150. IF @tranType IS NULL
  151. BEGIN
  152. EXEC proc_errorHandler 1, 'Cannot setup all Trantype.', @rowid
  153. RETURN;
  154. END
  155. END
  156. IF EXISTS(SELECT TOP 1 'A' FROM currencyPayoutRound WHERE currency = @currency AND tranType = @tranType AND ISNULL(isDeleted,'N')<> 'Y' )
  157. BEGIN
  158. EXEC proc_errorHandler 1, 'Record already added.', @rowid
  159. RETURN;
  160. END
  161. BEGIN TRANSACTION
  162. INSERT INTO currencyPayoutRound (
  163. currency
  164. ,place
  165. ,currDecimal
  166. ,tranType
  167. ,createdBy
  168. ,createdDate
  169. )
  170. SELECT
  171. @currency
  172. ,@place
  173. ,@currDecimal
  174. ,@tranType
  175. ,@user
  176. ,GETDATE()
  177. SET @rowid = SCOPE_IDENTITY()
  178. INSERT INTO #msg(errorCode, msg, id)
  179. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  180. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  181. BEGIN
  182. IF @@TRANCOUNT > 0
  183. ROLLBACK TRANSACTION
  184. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowid
  185. RETURN
  186. END
  187. IF @@TRANCOUNT > 0
  188. COMMIT TRANSACTION
  189. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowid
  190. END
  191. ELSE IF @flag = 's'
  192. BEGIN
  193. IF @sortBy IS NULL
  194. SET @sortBy = 'createdDate'
  195. IF @sortOrder IS NULL
  196. SET @sortOrder = 'DESC'
  197. SET @table = '(
  198. SELECT
  199. rowID
  200. ,typeTitle = ISNULL(typeTitle,''All'')
  201. ,G.currency
  202. ,place = ISNULL(SV.detailTitle,''0'')
  203. ,G.currDecimal
  204. ,G.createdBy
  205. ,G.createdDate
  206. FROM currencyPayoutRound G
  207. LEFT JOIN serviceTypeMaster sT on G.tranType =sT.serviceTypeId
  208. LEFT JOIN staticDataValue SV WITH (NOLOCK) ON SV.valueId = G.place
  209. WHERE isnull(G.isDeleted,''N'') <> ''Y''
  210. AND G.currency = ''' + @currency + '''
  211. '
  212. SET @sqlFilter = ''
  213. SET @selectFieldList = '
  214. rowID
  215. ,typeTitle
  216. ,currency
  217. ,place
  218. ,currDecimal
  219. ,createdBy
  220. ,createdDate
  221. '
  222. ------IF @currencyId IS NOT NULL
  223. ------ SET @sqlFilter = @sqlFilter + ' AND currencyId = ''' + @currencyId + ''''
  224. SET @table = @table +') x '
  225. EXEC dbo.proc_paging
  226. @table
  227. ,@sqlFilter
  228. ,@selectFieldList
  229. ,@extraFieldList
  230. ,@sortBy
  231. ,@sortOrder
  232. ,@pageSize
  233. ,@pageNumber
  234. END
  235. END TRY
  236. BEGIN CATCH
  237. IF @@TRANCOUNT > 0
  238. ROLLBACK TRANSACTION
  239. DECLARE @errorMessage VARCHAR(MAX)
  240. SET @errorMessage = ERROR_MESSAGE()
  241. EXEC proc_errorHandler 1, @errorMessage, @rowid
  242. END CATCH
  243. GO