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.

204 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_kycComplain] 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_kycComplain]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@id INT = NULL
  12. ,@customerId INT = NULL
  13. ,@date DATETIME = NULL
  14. ,@subject VARCHAR(100) = NULL
  15. ,@description VARCHAR(MAX) = NULL
  16. ,@sortBy VARCHAR(50) = NULL
  17. ,@sortOrder VARCHAR(5) = NULL
  18. ,@pageSize INT = NULL
  19. ,@pageNumber INT = NULL
  20. ,@setPrimary char(1) = NULL
  21. AS
  22. SET NOCOUNT ON
  23. SET XACT_ABORT ON
  24. BEGIN TRY
  25. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  26. DECLARE
  27. @sql VARCHAR(MAX)
  28. ,@oldValue VARCHAR(MAX)
  29. ,@newValue VARCHAR(MAX)
  30. ,@module VARCHAR(10)
  31. ,@tableAlias VARCHAR(100)
  32. ,@logIdentifier VARCHAR(50)
  33. ,@logParamMod VARCHAR(100)
  34. ,@logParamMain VARCHAR(100)
  35. ,@table VARCHAR(MAX)
  36. ,@select_field_list VARCHAR(MAX)
  37. ,@extra_field_list VARCHAR(MAX)
  38. ,@sql_filter VARCHAR(MAX)
  39. ,@modType VARCHAR(6)
  40. IF @flag = 'i'
  41. BEGIN
  42. BEGIN TRANSACTION
  43. if exists(select 'x' from kycComplain with(nolock) where customerId = @customerId)
  44. begin
  45. update kycComplain set setPrimary ='N' where customerId = @customerId
  46. end
  47. INSERT INTO kycComplain (
  48. customerId
  49. ,[date]
  50. ,[subject]
  51. ,[description]
  52. ,createdBy
  53. ,createdDate
  54. ,setPrimary
  55. )
  56. SELECT
  57. @customerId
  58. ,@date
  59. ,@subject
  60. ,@description
  61. ,@user
  62. ,GETDATE()
  63. ,'Y'
  64. IF @setPrimary = 'Y'
  65. UPDATE kycMaster SET cardStatus = 'Complain' WHERE rowId = @customerId
  66. SET @modType = 'Insert'
  67. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @customerId , @newValue OUTPUT
  68. INSERT INTO #msg(errorCode, msg, id)
  69. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @customerId, @user, @oldValue, @newValue
  70. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  71. BEGIN
  72. IF @@TRANCOUNT > 0
  73. ROLLBACK TRANSACTION
  74. EXEC proc_errorHandler 1, 'Failed to add new record.', @id
  75. RETURN
  76. END
  77. IF @@TRANCOUNT > 0
  78. COMMIT TRANSACTION
  79. EXEC proc_errorHandler 0, 'Record has been added successfully.', @id
  80. END
  81. ELSE IF @flag = 'a'
  82. BEGIN
  83. SELECT
  84. *
  85. ,CONVERT(VARCHAR,[date],101)date1
  86. FROM kycComplain WITH(NOLOCK) WHERE id = @id
  87. END
  88. ELSE IF @flag = 'u'
  89. BEGIN
  90. BEGIN TRANSACTION
  91. IF @setPrimary ='Y'
  92. BEGIN
  93. update kycComplain set setPrimary ='N' where customerId = @customerId
  94. UPDATE customerMaster SET customerStatus = 'Complain' WHERE customerId = @customerId
  95. END
  96. ELSE
  97. BEGIN
  98. UPDATE customerMaster SET customerStatus = 'Pending' WHERE customerId = @customerId
  99. END
  100. UPDATE kycComplain SET
  101. customerId = @customerId
  102. ,[date] = @date
  103. ,[subject] = @subject
  104. ,[description] = @description
  105. ,modifiedBy = @user
  106. ,modifiedDate = GETDATE()
  107. ,setPrimary = @setPrimary
  108. WHERE id = @id
  109. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @id, @newValue OUTPUT
  110. INSERT INTO #msg(errorCode, msg, id)
  111. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @id, @user, @oldValue, @newValue
  112. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  113. BEGIN
  114. IF @@TRANCOUNT > 0
  115. ROLLBACK TRANSACTION
  116. EXEC proc_errorHandler 1, 'Failed to update record.', @id
  117. RETURN
  118. END
  119. IF @@TRANCOUNT > 0
  120. COMMIT TRANSACTION
  121. EXEC proc_errorHandler 0, 'Record updated successfully.', @id
  122. END
  123. ELSE IF @flag = 'd'
  124. BEGIN
  125. BEGIN TRANSACTION
  126. UPDATE kycComplain SET
  127. isDeleted = 'Y'
  128. ,modifiedDate = GETDATE()
  129. ,modifiedBy = @user
  130. WHERE id = @id
  131. SET @modType = 'Delete'
  132. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @id, @oldValue OUTPUT
  133. INSERT INTO #msg(errorCode, msg, id)
  134. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @id, @user, @oldValue, @newValue
  135. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  136. BEGIN
  137. IF @@TRANCOUNT > 0
  138. ROLLBACK TRANSACTION
  139. EXEC proc_errorHandler 1, 'Failed to delete record.', @id
  140. RETURN
  141. END
  142. IF @@TRANCOUNT > 0
  143. COMMIT TRANSACTION
  144. EXEC proc_errorHandler 0, 'Record deleted successfully.', @id
  145. END
  146. ELSE IF @flag IN ('s')
  147. BEGIN
  148. IF @sortBy IS NULL
  149. SET @sortBy = 'customerInfoId'
  150. IF @sortOrder IS NULL
  151. SET @sortOrder = 'ASC'
  152. SET @table = '(
  153. SELECT
  154. main.id
  155. ,main.customerId
  156. ,date = CONVERT(VARCHAR,main.date,101)
  157. ,main.subject
  158. ,main.description
  159. ,main.createdBy
  160. ,main.createdDate
  161. ,main.isDeleted
  162. ,IsPrimary = case when setPrimary =''N'' then ''No'' else ''Yes'' end
  163. FROM kycComplain main WITH(NOLOCK)
  164. WHERE customerId = ' + CAST(@customerId AS VARCHAR) + ' AND 1 = 1
  165. ) x'
  166. SET @sql_filter = ''
  167. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  168. SET @select_field_list ='
  169. id
  170. ,customerId
  171. ,date
  172. ,subject
  173. ,description
  174. ,createdBy
  175. ,createdDate
  176. ,isDeleted
  177. ,IsPrimary '
  178. EXEC dbo.proc_paging
  179. @table
  180. ,@sql_filter
  181. ,@select_field_list
  182. ,@extra_field_list
  183. ,@sortBy
  184. ,@sortOrder
  185. ,@pageSize
  186. ,@pageNumber
  187. END
  188. END TRY
  189. BEGIN CATCH
  190. IF @@TRANCOUNT > 0
  191. ROLLBACK TRANSACTION
  192. DECLARE @errorMessage VARCHAR(MAX)
  193. SET @errorMessage = ERROR_MESSAGE()
  194. EXEC proc_errorHandler 1, @errorMessage, @id
  195. END CATCH
  196. GO