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.

249 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_ofacTracker] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_ofacTracker]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_ofacTracker] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. /*
  12. IF EXISTS (SELECT 'x' FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[proc_ofacTracker]') AND TYPE IN (N'P', N'PC'))
  13. DROP PROCEDURE [dbo].proc_ofacTracker
  14. GO
  15. */
  16. /*
  17. declare @Result1 varchar(max)
  18. EXEC proc_ofacTracker @flag = 't', @name = 'Abdul Salam Bhattwi', @Result=@Result1 output
  19. print @Result1
  20. select * from blackList where entNum ='2983651'
  21. declare @Result1 varchar(max)
  22. EXEC proc_ofacTracker @flag = 't', @name = 'Sunita Pathak ', @Result=@Result1 output
  23. print @Result1
  24. */
  25. CREATE proc [dbo].[proc_ofacTracker]
  26. @flag CHAR(10) = NULL
  27. ,@user VARCHAR(50) = NULL
  28. ,@name VARCHAR(100) = NULL
  29. ,@Result VARCHAR(MAX) = NULL OUTPUT
  30. AS
  31. SET NOCOUNT ON;
  32. DECLARE @firstName VARCHAR(100), @middleName VARCHAR(100), @lastName1 VARCHAR(100), @lastName2 VARCHAR(100)
  33. DECLARE @possibleCombinations TABLE(name VARCHAR(200))
  34. IF @flag = 't'
  35. BEGIN
  36. SELECT @firstName = firstName, @middleName = middleName, @lastName1 = lastName1, @lastName2 = lastName2 FROM dbo.FNASplitName(@name)
  37. INSERT INTO @possibleCombinations
  38. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  39. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  40. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  41. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') UNION ALL
  42. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  43. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '') UNION ALL
  44. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  45. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  46. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  47. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') UNION ALL
  48. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  49. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') UNION ALL
  50. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  51. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') UNION ALL
  52. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  53. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') UNION ALL
  54. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') UNION ALL
  55. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') UNION ALL
  56. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') UNION ALL
  57. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  58. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') UNION ALL
  59. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') UNION ALL
  60. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  61. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '')
  62. IF(SELECT OFAC_TRAN FROM OFACSetting WITH(NOLOCK)) = 'part'
  63. BEGIN
  64. SELECT @Result = COALESCE(@Result + ', ', '') + ofacKey
  65. FROM
  66. (
  67. SELECT distinct TOP 20
  68. CAST(OFAC.ofacKey AS varchar(100)) ofacKey
  69. FROM blacklist OFAC ,
  70. (SELECT * FROM dbo.split(' ',@name))N
  71. WHERE OFAC.name like '%'+ N.value +'%'
  72. AND ISNULL(ofac.isActive,'Y') <> 'N'
  73. and ISNULL(isdeleted,'N') <> 'Y'
  74. )X
  75. SET @Result = REPLACE(@Result,' ','')
  76. RETURN;
  77. END
  78. ELSE
  79. BEGIN
  80. SELECT @Result = COALESCE(@Result + ', ', '') + ofacKey
  81. FROM
  82. (
  83. SELECT distinct TOP 20
  84. CAST(ofacKey AS varchar(100)) ofacKey
  85. FROM blacklist OFAC
  86. WHERE OFAC.name = @name
  87. AND ISNULL(ofac.isActive,'Y') <> 'N'
  88. and ISNULL(isdeleted,'N') <> 'Y'
  89. )X
  90. SET @Result = REPLACE(@Result,' ','')
  91. RETURN;
  92. END
  93. END
  94. IF @flag = 's'
  95. BEGIN
  96. IF OBJECT_ID('tempdb..#tempMaster') IS NOT NULL
  97. DROP TABLE #tempMaster
  98. IF OBJECT_ID('tempdb..#tempDataTable') IS NOT NULL
  99. DROP TABLE #tempDataTable
  100. CREATE TABLE #tempDataTable
  101. (
  102. DATA VARCHAR(MAX) NULL
  103. )
  104. CREATE TABLE #tempMaster
  105. (
  106. ROWID INT IDENTITY(1,1)
  107. ,ofacKey VARCHAR(200) NULL
  108. )
  109. SELECT @firstName = firstName, @middleName = middleName, @lastName1 = lastName1, @lastName2 = lastName2 FROM dbo.FNASplitName(@name)
  110. INSERT INTO @possibleCombinations
  111. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  112. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  113. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  114. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') UNION ALL
  115. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  116. SELECT ISNULL(@firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '') UNION ALL
  117. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  118. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  119. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  120. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') UNION ALL
  121. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  122. SELECT ISNULL(@middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') UNION ALL
  123. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  124. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') UNION ALL
  125. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName2, '') UNION ALL
  126. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') UNION ALL
  127. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') UNION ALL
  128. SELECT ISNULL(@lastName1, '') + ISNULL(' ' + @lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') UNION ALL
  129. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') UNION ALL
  130. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  131. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @firstName, '') UNION ALL
  132. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') UNION ALL
  133. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @middleName, '') + ISNULL(' ' + @lastName1, '') UNION ALL
  134. SELECT ISNULL(@lastName2, '') + ISNULL(' ' + @firstName, '') + ISNULL(' ' + @lastName1, '') + ISNULL(' ' + @middleName, '')
  135. IF (select OFAC_TRAN from OFACSetting with(nolock)) = 'part'
  136. BEGIN
  137. INSERT INTO #tempMaster (ofacKey)
  138. SELECT distinct TOP 20 ofacKey
  139. FROM blacklist OFAC with(nolock),
  140. (select * from dbo.split(' ',@name))N
  141. WHERE OFAC.name like '%'+ N.value +'%'
  142. AND ISNULL(ofac.isActive,'Y') <> 'N'
  143. and ISNULL(isdeleted,'N') <> 'Y'
  144. END
  145. ELSE
  146. BEGIN
  147. INSERT INTO #tempMaster (ofacKey)
  148. SELECT distinct TOP 20 ofacKey
  149. FROM blacklist OFAC with(nolock)
  150. WHERE OFAC.name = @name
  151. AND ISNULL(ofac.isActive,'Y') <> 'N'
  152. and ISNULL(isdeleted,'N') <> 'Y'
  153. END
  154. DECLARE @TNA_ID AS INT,@MAX_ROW_ID AS INT,@ROW_ID AS INT=1,@ofacKeyId VARCHAR(200),
  155. @SDN VARCHAR(MAX)='',@ADDRESS VARCHAR(MAX)='',@REMARKS AS VARCHAR(MAX)='',
  156. @ALT AS VARCHAR(MAX)='',@DATA AS VARCHAR(MAX)='',@DATA_SOURCE AS VARCHAR(200)=''
  157. SELECT @MAX_ROW_ID=MAX(ROWID) FROM #tempMaster
  158. WHILE @MAX_ROW_ID >= @ROW_ID
  159. BEGIN
  160. SELECT @ofacKeyId = ofacKey FROM #tempMaster WHERE ROWID=@ROW_ID
  161. SELECT @SDN='<b>'+entNum+'</b>, <b>Name:</b> '+name,@DATA_SOURCE='<b>Data Source:</b> '+dataSource
  162. FROM blacklist with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='sdn'
  163. SELECT @ADDRESS=ISNULL(address,'')+', '+isnull(city,'')+', '+ISNULL(state,'')+', '+ISNULL(zip,'')+', '+ISNULL(country,'')
  164. FROM blacklist with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='add'
  165. SELECT @ALT = COALESCE(@ALT + ', ', '') +
  166. CAST(ISNULL(NAME,'') AS VARCHAR(MAX))
  167. FROM blacklist with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='alt'
  168. SELECT @REMARKS=ISNULL(remarks,'')
  169. FROM blacklist with(nolock) WHERE ofacKey = @ofacKeyId AND vesselType='sdn'
  170. SET @SDN=rtrim(ltrim(@SDN))
  171. SET @ADDRESS=rtrim(ltrim(@ADDRESS))
  172. SET @ALT=rtrim(ltrim(@ALT))
  173. SET @REMARKS=rtrim(ltrim(@REMARKS))
  174. SET @SDN=REPLACE(@SDN,', ,','')
  175. SET @ADDRESS=REPLACE(@ADDRESS,', ,','')
  176. SET @ALT=REPLACE(@ALT,', ,','')
  177. SET @REMARKS=REPLACE(@REMARKS,', ,','')
  178. SET @SDN=REPLACE(@SDN,'-0-','')
  179. SET @ADDRESS=REPLACE(@ADDRESS,'-0-','')
  180. SET @ALT=REPLACE(@ALT,'-0-','')
  181. SET @REMARKS=REPLACE(@REMARKS,'-0-','')
  182. SET @SDN=REPLACE(@SDN,',,','')
  183. SET @ADDRESS=REPLACE(@ADDRESS,',,','')
  184. SET @ALT=REPLACE(@ALT,',,','')
  185. SET @REMARKS=REPLACE(@REMARKS,',,','')
  186. IF @DATA_SOURCE IS NOT NULL AND @DATA_SOURCE<>''
  187. SET @DATA=@DATA_SOURCE
  188. IF @SDN IS NOT NULL AND @SDN<>''
  189. SET @DATA=@DATA+'<BR>'+@SDN
  190. IF @ADDRESS IS NOT NULL AND @ADDRESS<>''
  191. SET @DATA=@DATA+'<BR><b>Address: </b>'+@ADDRESS
  192. IF @ALT IS NOT NULL AND @ALT<>'' AND @ALT<>' '
  193. SET @DATA=@DATA+'<BR>'+'<b>a.k.a :</b>'+@ALT+''
  194. IF @REMARKS IS NOT NULL AND @REMARKS<>''
  195. SET @DATA=@DATA+'<BR><b>Other Info :</b>'+@REMARKS
  196. INSERT INTO #tempDataTable
  197. SELECT REPLACE(@DATA,'<BR><BR>','')
  198. SET @ROW_ID=@ROW_ID+1
  199. END
  200. ALTER TABLE #tempDataTable ADD ROWID INT IDENTITY(1,1)
  201. SELECT ROWID [S.N.],DATA [Contents] FROM #tempDataTable
  202. END
  203. GO