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.

194 lines
10 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_schoolFeeSetup] 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. EXEC proc_schoolFeeSetup @flag='a',@rowid= '1'
  10. */
  11. CREATE proc [dbo].[proc_schoolFeeSetup]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@rowId VARCHAR(50) = null
  15. ,@schoolId VARCHAR(50) = NULL
  16. ,@levelId VARCHAR(50) = NULL
  17. ,@feeTypeId VARCHAR(50) = NULL
  18. ,@feeType VARCHAR(50) = NULL
  19. ,@amt VARCHAR(50) = NULL
  20. ,@remarks VARCHAR(50) = NULL
  21. AS
  22. /*
  23. flag Purpose
  24. ----------------------------
  25. i insert
  26. u update
  27. d delete
  28. a selectById
  29. s select schoolFee
  30. */
  31. SET NOCOUNT ON
  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. ,@module VARCHAR(10)
  40. ,@tableAlias VARCHAR(100)
  41. ,@logIdentifier VARCHAR(50)
  42. ,@logParamMod VARCHAR(100)
  43. ,@logParamMain VARCHAR(100)
  44. ,@table VARCHAR(MAX)
  45. ,@select_field_list VARCHAR(MAX)
  46. ,@extra_field_list VARCHAR(MAX)
  47. ,@sql_filter VARCHAR(MAX)
  48. ,@modType VARCHAR(6)
  49. SELECT
  50. @logIdentifier = 'rowId'
  51. ,@logParamMain = 'schoolFee'
  52. ,@logParamMod = 'schoolFee'
  53. ,@module = '40'
  54. ,@tableAlias = 'School Fee'
  55. IF @flag = 'i'
  56. BEGIN
  57. IF EXISTS(SELECT 'A' FROM schoolFee
  58. WHERE schoolId=@schoolId and levelId=@levelId
  59. AND feeTypeId=@feeTypeId
  60. AND isnull(isDeleted,'N')='N')
  61. BEGIN
  62. EXEC proc_errorHandler 1, 'Already Added!', @rowId
  63. RETURN;
  64. END
  65. BEGIN TRANSACTION
  66. INSERT INTO schoolFee (
  67. schoolId
  68. ,levelId
  69. ,feeTypeId
  70. ,feeType
  71. ,amount
  72. ,remarks
  73. ,createdDate
  74. ,createdBy
  75. )
  76. SELECT
  77. @schoolId
  78. ,@levelId
  79. ,@feeTypeId
  80. ,@feeType
  81. ,@amt
  82. ,@remarks
  83. ,GETDATE()
  84. ,@user
  85. SET @modType = 'Insert'
  86. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId , @newValue OUTPUT
  87. INSERT INTO #msg(errorCode, msg, id)
  88. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  89. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  90. BEGIN
  91. IF @@TRANCOUNT > 0
  92. ROLLBACK TRANSACTION
  93. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowId
  94. RETURN
  95. END
  96. IF @@TRANCOUNT > 0
  97. COMMIT TRANSACTION
  98. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowId
  99. END
  100. ELSE IF @flag = 'u'
  101. BEGIN
  102. BEGIN TRANSACTION
  103. UPDATE schoolFee SET
  104. schoolId = @schoolId
  105. ,levelId = @levelId
  106. ,feeTypeId = @feeTypeId
  107. ,feeType = @feeType
  108. ,amount = @amt
  109. ,remarks = @remarks
  110. ,modifiedDate = GETDATE()
  111. ,modifiedBy = @user
  112. WHERE rowId = @rowId
  113. SET @modType = 'Update'
  114. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  115. INSERT INTO #msg(errorCode, msg, id)
  116. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  117. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  118. BEGIN
  119. IF @@TRANCOUNT > 0
  120. ROLLBACK TRANSACTION
  121. EXEC proc_errorHandler 1, 'Failed to update record.', @rowId
  122. RETURN
  123. END
  124. IF @@TRANCOUNT > 0
  125. COMMIT TRANSACTION
  126. EXEC proc_errorHandler 0, 'Record updated successfully.', @rowId
  127. END
  128. ELSE IF @flag = 'd'
  129. BEGIN
  130. BEGIN TRANSACTION
  131. UPDATE schoolFee SET
  132. isDeleted = 'Y'
  133. ,modifiedDate = GETDATE()
  134. ,modifiedBy = @user
  135. WHERE rowId = @rowId
  136. SET @modType = 'Delete'
  137. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  138. INSERT INTO #msg(errorCode, msg, id)
  139. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  140. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  141. BEGIN
  142. IF @@TRANCOUNT > 0
  143. ROLLBACK TRANSACTION
  144. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowId
  145. RETURN
  146. END
  147. IF @@TRANCOUNT > 0
  148. COMMIT TRANSACTION
  149. EXEC proc_errorHandler 0, 'Record deleted successfully.', @rowId
  150. END
  151. ELSE IF @flag = 'a'
  152. BEGIN
  153. SELECT
  154. CASE WHEN ISNUMERIC(schoolId)= 1 THEN (SELECT name FROM schoolMaster WHERE rowId = x.schoolId) END [school]
  155. ,x.levelId
  156. ,x.feeTypeId
  157. ,x.feeType
  158. ,dbo.ShowDecimalExceptComma(x.amount) amount
  159. ,x.remarks
  160. FROM schoolFee x WHERE rowId = @rowId
  161. END
  162. ELSE IF @flag = 's'
  163. BEGIN
  164. SELECT
  165. x.rowId
  166. ,z.name [school]
  167. ,y.name [level]
  168. ,x.feeType
  169. ,x.amount
  170. ,x.createdBy
  171. ,createdDate=convert(varchar,x.createdDate,101)
  172. FROM schoolFee x with(nolock) inner join schoolLevel y with(nolock) on x.levelId=y.rowId
  173. inner join schoolMaster z with(nolock) on z.rowId=x.schoolId
  174. WHERE ISNULL(x.isDeleted , '') <> 'Y' and x.schoolId=@schoolId
  175. END
  176. END TRY
  177. BEGIN CATCH
  178. IF @@TRANCOUNT > 0
  179. ROLLBACK TRANSACTION
  180. DECLARE @errorMessage VARCHAR(MAX)
  181. SET @errorMessage = ERROR_MESSAGE()
  182. EXEC proc_errorHandler 1, @errorMessage, @rowId
  183. END CATCH
  184. GO