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
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
|
|
|
|
|
|
|
|
|