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