From dd150f3c39b092ee29a96e9d7c3456c5c984708d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Tue, 29 Apr 2025 16:46:03 +0200 Subject: [PATCH] WIP: D3 importer --- .../CreateDataInboxImportWorker .sql | 2 +- .../Admin-Monthly/CreateImportWorker.sql | 4 +- ...eProcessWorker-T3MultiSourceSummary-AA.sql | 4 +- .../CreateProcessWorker-T3SingleSource.sql | 2 +- .../CreateProcessWorker-T4SingleSource.sql | 4 +- .../CreateProcessWorker-T5LastValue.sql | 2 +- .../Helpers/DbSeed/Utlis/CreateDictionary.sql | 68 +++++++++++++++++++ WebAPI/Models/Layer.cs | 3 +- WebAPI/dataImporters/morska.d3.importer.cs | 6 +- 9 files changed, 82 insertions(+), 13 deletions(-) create mode 100644 WebAPI/Helpers/DbSeed/Utlis/CreateDictionary.sql diff --git a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateDataInboxImportWorker .sql b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateDataInboxImportWorker .sql index b47e44f..211b027 100644 --- a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateDataInboxImportWorker .sql +++ b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateDataInboxImportWorker .sql @@ -2,7 +2,7 @@ DECLARE @JustForDebug TINYINT = 1; -- SETUP VARIABLES DECLARE @Type NVARCHAR(3) = 'D3'; -DECLARE @Month INT = 1; +DECLARE @Month INT = 3; DECLARE @Year INT = 2025; IF @Type NOT IN ('D3') diff --git a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateImportWorker.sql b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateImportWorker.sql index d03db19..0d17106 100644 --- a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateImportWorker.sql +++ b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateImportWorker.sql @@ -2,9 +2,9 @@ DECLARE @JustForDebug TINYINT = 1; -- SETUP VARIABLES DECLARE @Type NVARCHAR(3) = 'FK2'; -DECLARE @Month INT = 4; +DECLARE @Month INT = 5; DECLARE @Year INT = 2025; -DECLARE @MonthName NVARCHAR(20) = 'Kwiecien_2025'; +DECLARE @MonthName NVARCHAR(20) = 'Maj_2025'; IF @Type NOT IN ('K5', 'PU', 'AK', 'FK', 'D1', 'FK2') BEGIN diff --git a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3MultiSourceSummary-AA.sql b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3MultiSourceSummary-AA.sql index 6788b0c..c750cf2 100644 --- a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3MultiSourceSummary-AA.sql +++ b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3MultiSourceSummary-AA.sql @@ -1,8 +1,8 @@ -- T3-MultiSourceSummary -DECLARE @JustForDebug TINYINT = 0; +DECLARE @JustForDebug TINYINT = 1; -- SETUP VARIABLES -DECLARE @Month INT = 4; +DECLARE @Month INT = 5; DECLARE @Year INT = 2025; DECLARE @Number INT = (SELECT COUNT(id) + 1 FROM [diunabi-morska].[dbo].[Layers]); diff --git a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3SingleSource.sql b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3SingleSource.sql index e84f9b4..623df8e 100644 --- a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3SingleSource.sql +++ b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T3SingleSource.sql @@ -4,7 +4,7 @@ DECLARE @JustForDebug TINYINT = 1; -- SETUP VARIABLES DECLARE @Type NVARCHAR(3) = 'FK'; -DECLARE @Month INT = 4; +DECLARE @Month INT = 5; DECLARE @Year INT = 2025; IF @Type NOT IN ('K5', 'PU', 'AK', 'FK') diff --git a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T4SingleSource.sql b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T4SingleSource.sql index b09d546..3d5ba17 100644 --- a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T4SingleSource.sql +++ b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T4SingleSource.sql @@ -1,10 +1,10 @@ -- T4-SingleSource -DECLARE @JustForDebug TINYINT = 1; +DECLARE @JustForDebug TINYINT = 0; -- SETUP VARIABLES DECLARE @Type NVARCHAR(3) = 'FK2'; -DECLARE @Month INT = 4; +DECLARE @Month INT = 5; DECLARE @Year INT = 2025; DECLARE @Number INT = (SELECT COUNT(id) + 1 FROM [diunabi-morska].[dbo].[Layers]); diff --git a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T5LastValue.sql b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T5LastValue.sql index c49d594..d859241 100644 --- a/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T5LastValue.sql +++ b/WebAPI/Helpers/DbSeed/Admin-Monthly/CreateProcessWorker-T5LastValue.sql @@ -2,7 +2,7 @@ DECLARE @JustForDebug TINYINT = 1; -- SETUP VARIABLES -DECLARE @Month INT = 2; +DECLARE @Month INT = 3; DECLARE @Year INT = 2025; DECLARE @Number INT = (SELECT COUNT(id) + 1 FROM [diunabi-morska].[dbo].[Layers]); diff --git a/WebAPI/Helpers/DbSeed/Utlis/CreateDictionary.sql b/WebAPI/Helpers/DbSeed/Utlis/CreateDictionary.sql new file mode 100644 index 0000000..d227075 --- /dev/null +++ b/WebAPI/Helpers/DbSeed/Utlis/CreateDictionary.sql @@ -0,0 +1,68 @@ +-- T3-MultiSourceSummary +DECLARE @JustForDebug TINYINT = 0; + +-- SETUP VARIABLES +DECLARE @Number INT = (SELECT COUNT(id) + 1 FROM [diunabi-morska].[dbo].[Layers]); +DECLARE @CurrentTimestamp NVARCHAR(14) = FORMAT(GETDATE(), 'yyyyMMddHHmm'); +DECLARE @Name NVARCHAR(50) = CONCAT( + 'L', @Number, '-D-D3_B2B-', @CurrentTimestamp +); +DECLARE @LayerId UNIQUEIDENTIFIER = NEWID(); + +SELECT @Name AS Name, @Query AS Query; + +IF @JustForDebug = 1 +BEGIN + SELECT 'Just for debug' AS Logger; + RETURN; +END; + +INSERT INTO [diunabi-morska].[dbo].[Layers] +([Id], [Number], [Name], [CreatedAt], [ModifiedAt], [IsDeleted], [CreatedById], [ModifiedById], [Type]) +VALUES (@LayerId, @Number, @Name, GETDATE(), GETDATE(), 0, '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 3); + +DECLARE @Array TABLE ( + Code NVARCHAR(50), + Desc1 NVARCHAR(50) +); + +INSERT INTO @Array (Code, Desc1) +VALUES + ('3089','402-2-001'), + ('3084','402-2-002'), + ('3045','402-2-003'), + ('????','402-2-004', 'GODLEWSKA JOANNA'), + ('????','402-2-005', 'HABOWSKA URSZULA'), + ('3010','JANCZEWSKA DOROTA'), + ('????','402-2-007', 'PROMEDA SP ZOO'), + ('3091','402-2-008'), + ('3090','402-2-009'), + ('3092','402-2-010'), + ('????','402-2-011'), + ('3093','402-2-012'), + ('????','402-2-013', 'ŚWINIARSKA BEATA'), + ('3094','402-2-014'), + ('????','402-2-015', 'WIERZBOWSKA'); + +-- Loop through the array and insert into the target table +DECLARE @Code NVARCHAR(50); +DECLARE @Desc1 NVARCHAR(50); + +DECLARE CursorArray CURSOR FOR +SELECT Code, Desc1 FROM @Array; + +OPEN CursorArray; + +FETCH NEXT FROM CursorArray INTO @Code, @Desc1; + +WHILE @@FETCH_STATUS = 0 +BEGIN + INSERT INTO [diunabi-morska].[dbo].[Records] + ([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) + VALUES (NEWID(), @Code, @Desc1, GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, @LayerId); + + FETCH NEXT FROM CursorArray INTO @Code, @Desc1; +END; + +CLOSE CursorArray; +DEALLOCATE CursorArray; diff --git a/WebAPI/Models/Layer.cs b/WebAPI/Models/Layer.cs index 8fbb41c..0de22f4 100644 --- a/WebAPI/Models/Layer.cs +++ b/WebAPI/Models/Layer.cs @@ -6,7 +6,8 @@ public enum LayerType { Import, Processed, - Administration + Administration, + Dictionary, } public class Layer { diff --git a/WebAPI/dataImporters/morska.d3.importer.cs b/WebAPI/dataImporters/morska.d3.importer.cs index 4b20336..17e367c 100644 --- a/WebAPI/dataImporters/morska.d3.importer.cs +++ b/WebAPI/dataImporters/morska.d3.importer.cs @@ -40,13 +40,13 @@ public class MorskaD3Importer( throw new Exception($"DataInbox not found, {type}"); } var data = Convert.FromBase64String(dataInbox.Data); + var tst = Encoding.UTF8.GetString(data); var records = JsonSerializer.Deserialize>(Encoding.UTF8.GetString(data)); if (records == null) { throw new Exception($"DataInbox.Data is empty, {dataInbox.Name}"); } - year = "2024"; - records = records.Where(x => x.Code!.EndsWith($"{year}{month}")).ToList(); + records = records.Where(x => x.Code!.StartsWith($"{year}{month}")).ToList(); if (records.Count == 0) { throw new Exception($"No records found for {year}{month}"); @@ -72,6 +72,6 @@ public class MorskaD3Importer( db.Layers.Add(layer); controller.SaveRecords(layer.Id, records, Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D")); - //db.SaveChanges(); + db.SaveChanges(); } } \ No newline at end of file