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.

84 lines
3.5 KiB

1 year ago
  1. alter proc [dbo].[proc_ofacOtherDataManagement]
  2. @flag VARCHAR(25) = NULL
  3. ,@user VARCHAR(50) = NULL
  4. ,@xml XML = NULL
  5. AS
  6. SET NOCOUNT ON;
  7. BEGIN TRY
  8. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  9. DECLARE @dataSource VARCHAR(30)
  10. if @flag='OTHER'
  11. begin
  12. SELECT 1 error_code,'No Record Found.' mes,NULL
  13. return;
  14. end
  15. else if @flag='EXTERNAL-DATA-UPLOAD'
  16. begin
  17. BEGIN TRANSACTION;
  18. SELECT Position = p.value('@POSITION', 'varchar(50)') ,
  19. [FullName] = p.value('@NAME', 'varchar(25)') ,
  20. Country = p.value('@COUNTRY', 'varchar(25)')
  21. INTO #TEMP1
  22. FROM @xml.nodes('/root/row') AS tmp ( p );
  23. Declare @fileName varchar(100);
  24. Select @fileName = 'ExternalDataUpload_' + FORMAT(GETDATE(), 'yyyyMMddhhmmssfff'), @dataSource = 'CIA';
  25. DELETE T FROM #TEMP1 T
  26. INNER JOIN blacklist(NOLOCK) L ON l.name = T.FullName and L.country = T.Country
  27. INSERT INTO blacklistLog (totalRecord, dataSource, createdBy, createdDate)
  28. SELECT COUNT(1), @dataSource, @user, GETDATE() FROM #TEMP1
  29. INSERT INTO blacklist (OFACKEY,ENTNUM,NAME,VESSELTYPE,COUNTRY,REMARKS,SORTORDER,FROMFILE,DATASOURCE,INDENT,SOURCEENTNUM,CREATEDDATE,CREATEDBY)
  30. SELECT '', '',FullName,'CIA',Country,Position,4,@fileName,@dataSource,'C','C'+ FORMAT(GETDATE(), 'yyyyMMddhhmmssfff'),GETDATE(),@user
  31. FROM #TEMP1
  32. UPDATE blacklist SET ENTNUM = 'CIA'+ CAST(rowId AS VARCHAR),OFACKEY = 'CIA'+ CAST(rowId AS VARCHAR) WHERE DATASOURCE = 'CIA'
  33. MERGE blackListHistory AS blh
  34. USING (SELECT rowId, ofacKey, entNum, name, vesselType, address, city, state, zip, country, remarks, sortOrder, fromFile, dataSource, indEnt, sourceEntNum FROM blacklist WITH(NOLOCK) WHERE dataSource = @dataSource ) AS bl
  35. ON ISNULL(blh.ofacKey, '') = ISNULL(bl.ofacKey, '') AND ISNULL(blh.entNum, '') = ISNULL(bl.entNum, '')
  36. AND ISNULL(blh.name, '') = ISNULL(bl.name, '') AND ISNULL(blh.vesselType, '') = ISNULL(bl.vesselType, '')
  37. AND ISNULL(blh.address, '') = ISNULL(bl.address, '') AND ISNULL(blh.city, '') = ISNULL(bl.city, '')
  38. AND ISNULL(blh.state, '') = ISNULL(bl.state, '') AND ISNULL(blh.zip, '') = ISNULL(bl.zip, '')
  39. AND ISNULL(blh.country, '') = ISNULL(bl.country, '') AND ISNULL(blh.remarks, '') = ISNULL(bl.remarks, '')
  40. AND ISNULL(blh.sortOrder, '') = ISNULL(bl.sortOrder, '') AND ISNULL(blh.fromFile, '') = ISNULL(bl.fromFile, '')
  41. AND ISNULL(blh.dataSource, '') = ISNULL(bl.dataSource, '') AND ISNULL(blh.indEnt, '') = ISNULL(bl.indEnt, '')
  42. AND ISNULL(blh.sourceEntNum, '') = ISNULL(bl.sourceEntNum, '') AND bl.dataSource = @dataSource
  43. WHEN NOT MATCHED THEN
  44. INSERT(blackListId, ofacKey, entNum, name, vesselType, address, city, state, zip, country, remarks, sortOrder, fromFile, dataSource, indEnt, sourceEntNum)
  45. VALUES(bl.rowId, bl.ofacKey, bl.entNum, bl.name, bl.vesselType, bl.address, bl.city, bl.state, bl.zip, bl.country, bl.remarks, bl.sortOrder, bl.fromFile, bl.dataSource, bl.indEnt, bl.sourceEntNum);
  46. IF @@TRANCOUNT > 0
  47. COMMIT TRANSACTION
  48. SELECT 0 error_code,'PEPS CIA Data uploaded successfully' mes,NULL
  49. RETURN;
  50. END
  51. ELSE IF @flag = 'Export-Data'
  52. BEGIN
  53. SELECT ofacKey,entNum,name,vesselType,address,city,country,remarks,dataSource,createdDate,createdBy
  54. FROM blacklist(NOLOCK)
  55. WHERE isActive='Y'
  56. END
  57. END TRY
  58. BEGIN CATCH
  59. IF @@TRANCOUNT > 0
  60. ROLLBACK TRANSACTION
  61. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  62. END CATCH