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.

331 lines
8.0 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_OFACManualEntry] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_OFACManualEntry]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_OFACManualEntry] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE proc [dbo].[proc_OFACManualEntry]
  12. @flag VARCHAR(50) = NULL
  13. ,@rowId VARCHAR(10) = NULL
  14. ,@user VARCHAR(30) = NULL
  15. ,@entNum VARCHAR(30) = NULL
  16. ,@name VARCHAR(30) = NULL
  17. ,@vesselType VARCHAR(100) = NULL
  18. ,@address VARCHAR(50) = NULL
  19. ,@city VARCHAR(200) = NULL
  20. ,@state VARCHAR(100) = NULL
  21. ,@zip VARCHAR(10) = NULL
  22. ,@country VARCHAR(100) = NULL
  23. ,@remarks VARCHAR(100) = NULL
  24. ,@dataSource VARCHAR(100) = 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. SELECT
  49. @logIdentifier = 'rowId'
  50. ,@logParamMain = 'blacklist'
  51. ,@logParamMod = 'blacklistLog'
  52. ,@module = '20'
  53. ,@tableAlias = 'Black List'
  54. IF @flag = 'i'
  55. BEGIN
  56. INSERT INTO blacklist(
  57. ofacKey
  58. ,entNum
  59. ,name
  60. ,vesselType
  61. ,address
  62. ,city
  63. ,state
  64. ,zip
  65. ,country
  66. ,remarks
  67. ,dataSource
  68. ,createdDate
  69. ,createdBy
  70. ,isManual)
  71. VALUES(
  72. @dataSource+''+@entNum
  73. ,@entNum
  74. ,@name
  75. ,@vesselType
  76. ,@address
  77. ,@city
  78. ,@state
  79. ,@zip
  80. ,@country
  81. ,@remarks
  82. ,'MANUAL'
  83. ,GETDATE()
  84. ,@user
  85. ,'Y')
  86. SET @rowId = @@IDENTITY
  87. SET @modType = 'Insert'
  88. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId , @newValue OUTPUT
  89. INSERT INTO #msg(errorCode, msg, id)
  90. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue, @module
  91. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  92. BEGIN
  93. IF @@TRANCOUNT > 0
  94. ROLLBACK TRANSACTION
  95. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowId
  96. RETURN
  97. END
  98. INSERT INTO blacklistHistory(
  99. blackListId
  100. ,ofacKey
  101. ,entNum
  102. ,name
  103. ,vesselType
  104. ,address
  105. ,city
  106. ,state
  107. ,zip
  108. ,country
  109. ,remarks
  110. ,dataSource
  111. ,createdDate
  112. ,createdBy
  113. ,isManual)
  114. VALUES(
  115. @rowId
  116. ,@dataSource+''+@entNum
  117. ,@entNum
  118. ,@name
  119. ,@vesselType
  120. ,@address
  121. ,@city
  122. ,@state
  123. ,@zip
  124. ,@country
  125. ,@remarks
  126. ,'MANUAL'
  127. ,GETDATE()
  128. ,@user
  129. ,'Y')
  130. IF @@TRANCOUNT > 0
  131. COMMIT TRANSACTION
  132. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowId
  133. END
  134. ELSE IF @flag = 's'
  135. BEGIN
  136. SELECT * FROM blacklist WITH(NOLOCK) WHERE rowId = @rowId AND isManual = 'y' AND isdeleted IS NULL
  137. END
  138. ELSE IF @flag = 'u'
  139. BEGIN
  140. BEGIN TRANSACTION
  141. declare @nameOld as varchar(500)
  142. select @nameOld = name from blackList with(nolock) where rowid = @rowid
  143. UPDATE blacklist SET
  144. entNum = @entNum
  145. ,ofacKey = @dataSource+''+@entNum
  146. ,name = @name
  147. ,vesselType = @vesselType
  148. ,address = @address
  149. ,city = @city
  150. ,state = @state
  151. ,zip = @zip
  152. ,country = @country
  153. ,remarks = @remarks
  154. ,dataSource = 'MANUAL'
  155. ,modifiedDate = GETDATE()
  156. ,modifiedBy = @user
  157. WHERE rowId = @rowId
  158. if @nameOld <> @name
  159. begin
  160. INSERT INTO blacklistHistory(
  161. blackListId
  162. ,ofacKey
  163. ,entNum
  164. ,name
  165. ,vesselType
  166. ,address
  167. ,city
  168. ,state
  169. ,zip
  170. ,country
  171. ,remarks
  172. ,dataSource
  173. ,createdDate
  174. ,createdBy
  175. ,isManual)
  176. VALUES(
  177. @rowId
  178. ,@dataSource+''+@entNum
  179. ,@entNum
  180. ,@name
  181. ,@vesselType
  182. ,@address
  183. ,@city
  184. ,@state
  185. ,@zip
  186. ,@country
  187. ,@remarks
  188. ,'MANUAL'
  189. ,GETDATE()
  190. ,@user
  191. ,'Y')
  192. end
  193. else
  194. begin
  195. UPDATE blacklistHistory SET
  196. entNum = @entNum
  197. ,ofacKey = @dataSource+''+@entNum
  198. ,name = @name
  199. ,vesselType = @vesselType
  200. ,address = @address
  201. ,city = @city
  202. ,state = @state
  203. ,zip = @zip
  204. ,country = @country
  205. ,remarks = @remarks
  206. ,dataSource = 'MANUAL'
  207. ,modifiedDate = GETDATE()
  208. ,modifiedBy = @user
  209. WHERE blackListId = @rowId
  210. end
  211. SET @modType = 'Update'
  212. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  213. INSERT INTO #msg(errorCode, msg, id)
  214. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue, @module
  215. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  216. BEGIN
  217. IF @@TRANCOUNT > 0
  218. ROLLBACK TRANSACTION
  219. EXEC proc_errorHandler 1, 'Failed to update record.', @rowId
  220. RETURN
  221. END
  222. IF @@TRANCOUNT > 0
  223. COMMIT TRANSACTION
  224. EXEC proc_errorHandler 0, 'Record updated successfully.', @rowId
  225. END
  226. ELSE IF @flag = 'd'
  227. BEGIN
  228. BEGIN TRANSACTION
  229. UPDATE blacklist SET
  230. isdeleted = 'Y'
  231. ,modifiedDate = GETDATE()
  232. ,modifiedBy = @user
  233. WHERE rowId = @rowId
  234. SET @modType = 'Delete'
  235. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  236. INSERT INTO #msg(errorCode, msg, id)
  237. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue, @module
  238. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  239. BEGIN
  240. IF @@TRANCOUNT > 0
  241. ROLLBACK TRANSACTION
  242. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowId
  243. RETURN
  244. END
  245. IF @@TRANCOUNT > 0
  246. COMMIT TRANSACTION
  247. EXEC proc_errorHandler 0, 'Record deleted successfully.', @rowId
  248. END
  249. ELSE IF @flag IN ('a')
  250. BEGIN
  251. IF @sortBy IS NULL
  252. SET @sortBy = 'Name'
  253. IF @sortOrder IS NULL
  254. SET @sortOrder = 'ASC'
  255. SET @table = '(
  256. SELECT
  257. main.rowId
  258. ,main.entNum
  259. ,main.name
  260. ,main.vesselType
  261. ,main.address
  262. ,main.city
  263. ,main.state
  264. ,main.zip
  265. ,main.country
  266. ,main.remarks
  267. ,main.dataSource
  268. ,main.createdBy
  269. ,CONVERT(VARCHAR,main.createdDate,101) createdDate
  270. ,main.isDeleted
  271. ,main.isManual
  272. FROM blackList main WITH(NOLOCK)
  273. WHERE 1 = 1 and isManual IS NOT NULL and isdeleted IS NULL
  274. ) x'
  275. SET @sql_filter = ''
  276. SET @sql_filter = @sql_filter + ' AND ISNULL(isDeleted, '''') <> ''Y'''
  277. IF @name IS NOT NULL
  278. SET @sql_filter = @sql_filter + ' AND name = ''%' + @name + '%'''
  279. IF @country IS NOT NULL
  280. SET @sql_filter = @sql_filter + ' AND country = ''' + @country + ''''
  281. IF @dataSource IS NOT NULL
  282. SET @sql_filter = @sql_filter + ' AND dataSource = ''' + @dataSource + ''''
  283. IF @entNum IS NOT NULL
  284. SET @sql_filter = @sql_filter + ' AND entNum = ''' + @entNum + ''''
  285. SET @select_field_list ='
  286. rowId,entNum,name,vesselType,address,city,state,zip,country,remarks,dataSource,isManual
  287. ,createdBy
  288. ,createdDate
  289. ,isDeleted '
  290. EXEC dbo.proc_paging
  291. @table
  292. ,@sql_filter
  293. ,@select_field_list
  294. ,@extra_field_list
  295. ,@sortBy
  296. ,@sortOrder
  297. ,@pageSize
  298. ,@pageNumber
  299. END
  300. END TRY
  301. BEGIN CATCH
  302. IF @@TRANCOUNT > 0
  303. ROLLBACK TRANSACTION
  304. DECLARE @errorMessage VARCHAR(MAX)
  305. SET @errorMessage = ERROR_MESSAGE()
  306. EXEC proc_errorHandler 1, @errorMessage, @rowId
  307. END CATCH
  308. GO