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

alter proc [dbo].[proc_ofacOtherDataManagement]
@flag VARCHAR(25) = NULL
,@user VARCHAR(50) = NULL
,@xml XML = NULL
AS
SET NOCOUNT ON;
BEGIN TRY
CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
DECLARE @dataSource VARCHAR(30)
if @flag='OTHER'
begin
SELECT 1 error_code,'No Record Found.' mes,NULL
return;
end
else if @flag='EXTERNAL-DATA-UPLOAD'
begin
BEGIN TRANSACTION;
SELECT Position = p.value('@POSITION', 'varchar(50)') ,
[FullName] = p.value('@NAME', 'varchar(25)') ,
Country = p.value('@COUNTRY', 'varchar(25)')
INTO #TEMP1
FROM @xml.nodes('/root/row') AS tmp ( p );
Declare @fileName varchar(100);
Select @fileName = 'ExternalDataUpload_' + FORMAT(GETDATE(), 'yyyyMMddhhmmssfff'), @dataSource = 'CIA';
DELETE T FROM #TEMP1 T
INNER JOIN blacklist(NOLOCK) L ON l.name = T.FullName and L.country = T.Country
INSERT INTO blacklistLog (totalRecord, dataSource, createdBy, createdDate)
SELECT COUNT(1), @dataSource, @user, GETDATE() FROM #TEMP1
INSERT INTO blacklist (OFACKEY,ENTNUM,NAME,VESSELTYPE,COUNTRY,REMARKS,SORTORDER,FROMFILE,DATASOURCE,INDENT,SOURCEENTNUM,CREATEDDATE,CREATEDBY)
SELECT '', '',FullName,'CIA',Country,Position,4,@fileName,@dataSource,'C','C'+ FORMAT(GETDATE(), 'yyyyMMddhhmmssfff'),GETDATE(),@user
FROM #TEMP1
UPDATE blacklist SET ENTNUM = 'CIA'+ CAST(rowId AS VARCHAR),OFACKEY = 'CIA'+ CAST(rowId AS VARCHAR) WHERE DATASOURCE = 'CIA'
MERGE blackListHistory AS blh
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
ON ISNULL(blh.ofacKey, '') = ISNULL(bl.ofacKey, '') AND ISNULL(blh.entNum, '') = ISNULL(bl.entNum, '')
AND ISNULL(blh.name, '') = ISNULL(bl.name, '') AND ISNULL(blh.vesselType, '') = ISNULL(bl.vesselType, '')
AND ISNULL(blh.address, '') = ISNULL(bl.address, '') AND ISNULL(blh.city, '') = ISNULL(bl.city, '')
AND ISNULL(blh.state, '') = ISNULL(bl.state, '') AND ISNULL(blh.zip, '') = ISNULL(bl.zip, '')
AND ISNULL(blh.country, '') = ISNULL(bl.country, '') AND ISNULL(blh.remarks, '') = ISNULL(bl.remarks, '')
AND ISNULL(blh.sortOrder, '') = ISNULL(bl.sortOrder, '') AND ISNULL(blh.fromFile, '') = ISNULL(bl.fromFile, '')
AND ISNULL(blh.dataSource, '') = ISNULL(bl.dataSource, '') AND ISNULL(blh.indEnt, '') = ISNULL(bl.indEnt, '')
AND ISNULL(blh.sourceEntNum, '') = ISNULL(bl.sourceEntNum, '') AND bl.dataSource = @dataSource
WHEN NOT MATCHED THEN
INSERT(blackListId, ofacKey, entNum, name, vesselType, address, city, state, zip, country, remarks, sortOrder, fromFile, dataSource, indEnt, sourceEntNum)
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);
IF @@TRANCOUNT > 0
COMMIT TRANSACTION
SELECT 0 error_code,'PEPS CIA Data uploaded successfully' mes,NULL
RETURN;
END
ELSE IF @flag = 'Export-Data'
BEGIN
SELECT ofacKey,entNum,name,vesselType,address,city,country,remarks,dataSource,createdDate,createdBy
FROM blacklist(NOLOCK)
WHERE isActive='Y'
END
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION
SELECT 1 error_code, ERROR_MESSAGE() mes, null id
END CATCH