From 7d022e98c610d8fee66513904328fa5265da3794 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Mon, 4 Mar 2024 10:16:28 +0100 Subject: [PATCH] Add march to AB report --- Utils/SQL_HELPERS.sql | 131 ++++++++++++++++-- WebAPI/Exports/googleSheet.export.cs | 5 - ....MultiSourceCopySelectedCodes.processor.cs | 65 ++++++--- 3 files changed, 163 insertions(+), 38 deletions(-) diff --git a/Utils/SQL_HELPERS.sql b/Utils/SQL_HELPERS.sql index 5595e11..256beab 100644 --- a/Utils/SQL_HELPERS.sql +++ b/Utils/SQL_HELPERS.sql @@ -7,22 +7,22 @@ -- ADD IMPORT LAYER --DECLARE @LayerId UNIQUEIDENTIFIER; ---SET @LayerId = '92ee1732-3900-4a8e-bb78-9bdc00332dd3'; +--SET @LayerId = 'a2883b74-be6d-4491-93cc-3681d65ba1bf'; -- --INSERT INTO [diunabi-morska].[dbo].[Layers] --([Id], [Number], [Source], [Name], [CreatedAt], [ModifiedAt], [IsDeleted], --[CreatedById], [ModifiedById], [Type]) ---VALUES ((SELECT @LayerId), 183, 'Manual', 'L183-A-IW_M7-2023/11-202310291127', +--VALUES ((SELECT @LayerId),794, 'Manual', 'L794-A-IW_M7-2024/03-202402292014', --GETDATE(), GETDATE(), 0, '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 2); -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'StartDate', '2023.10.29', +--VALUES ((SELECT NEWID()), 'StartDate', '2024.02.29', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'EndDate', '2023.12.05', +--VALUES ((SELECT NEWID()), 'EndDate', '2024.04.05', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] @@ -32,7 +32,7 @@ -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'SheetTabName', 'Listopad_2023', +--VALUES ((SELECT NEWID()), 'SheetTabName', 'Marzec_2024', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] @@ -42,7 +42,7 @@ -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'DataRange', 'D4:BM5', +--VALUES ((SELECT NEWID()), 'DataRange', 'D4:BS5', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] @@ -75,15 +75,61 @@ --VALUES ((SELECT NEWID()), 'IsEnabled', 'True', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --- ---ADD PROCESS LAYER +--ADD PROCESS LAYERS +-- T3-SingleSource --DECLARE @LayerId UNIQUEIDENTIFIER; ---SET @LayerId = 'c433afde-5ca9-422a-9434-7985839dd414'; +--SET @LayerId = 'ab6d7105-f593-4a0b-a601-5ff9efbdd557'; -- --INSERT INTO [diunabi-morska].[dbo].[Layers] --([Id], [Number], [Source], [Name], [CreatedAt], [ModifiedAt], [IsDeleted], --[CreatedById], [ModifiedById], [Type]) ---VALUES ((SELECT @LayerId), 490, 'Manual', 'L197-A-PW_AB-2023/11-202311201714', +--VALUES ((SELECT @LayerId), 798, 'Manual', 'L798-A-PW_FK-2024/03-202402292021', +--GETDATE(), GETDATE(), 0, '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 2); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Source', 'FK', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'SourceLayer', 'L791-A-IW_FK-2024/03-202402292008', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Type', 'ProcessWorker', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'ProcessType', 'T3-SingleSource', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'IsEnabled', 'True', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Year', '2024', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Month', '03', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- + +-- T3-MultiSourceSummary +--DECLARE @LayerId UNIQUEIDENTIFIER; +--SET @LayerId = 'd8be7a0c-b2fe-4ce4-8d77-13f89ea5045a'; +-- +--INSERT INTO [diunabi-morska].[dbo].[Layers] +--([Id], [Number], [Source], [Name], [CreatedAt], [ModifiedAt], [IsDeleted], +--[CreatedById], [ModifiedById], [Type]) +--VALUES ((SELECT @LayerId), 799, 'Manual', 'L799-A-PW_AA-2024/03-202402292024', --GETDATE(), GETDATE(), 0, '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 2); -- --INSERT INTO [diunabi-morska].[dbo].[Records] @@ -113,7 +159,7 @@ -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'ProcessType', 'T3-MultiSourceSummarySelectedCodes', +--VALUES ((SELECT NEWID()), 'ProcessType', 'T3-MultiSourceSummary', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] @@ -123,16 +169,73 @@ -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'Year', '2023', +--VALUES ((SELECT NEWID()), 'Year', '2024', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'Month', '11', +--VALUES ((SELECT NEWID()), 'Month', '03', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- + +-- T3-MultiSourceCopySelectedCodes + +--DECLARE @LayerId UNIQUEIDENTIFIER; +--SET @LayerId = '76a86f96-5d3b-41aa-96fe-ae5c647a060c'; +-- +--INSERT INTO [diunabi-morska].[dbo].[Layers] +--([Id], [Number], [Source], [Name], [CreatedAt], [ModifiedAt], [IsDeleted], +--[CreatedById], [ModifiedById], [Type]) +--VALUES ((SELECT @LayerId), 800, 'Manual', 'L800-A-PW_AB-2024/03-202402292027', +--GETDATE(), GETDATE(), 0, '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 2); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Source', 'K5', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- --INSERT INTO [diunabi-morska].[dbo].[Records] --([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) ---VALUES ((SELECT NEWID()), 'Codes', '5000-5003;5005-5005;5081-5095;6000-6003;6005-6005;6081-6095;7000-7003;7005-7005;7081-7095;8000-8003;8005-8005;8081-8095', +--VALUES ((SELECT NEWID()), 'Source', 'M7', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Source', 'PU', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Source', 'FK', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Type', 'ProcessWorker', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'ProcessType', 'T3-MultiSourceCopySelectedCodes', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'IsEnabled', 'True', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Year', '2024', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Month', '03', +--GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); +-- +--INSERT INTO [diunabi-morska].[dbo].[Records] +--([Id], [Code], [Desc1], [CreatedAt], [ModifiedAt], [CreatedById], [ModifiedById], [IsDeleted], [LayerId]) +--VALUES ((SELECT NEWID()), 'Codes', '5000-5003;5005;5081-5095;6000-6003;6005;6081-6095;7000-7003;7005;7081-7095;8000-8003;8005;8081-8095', --GETDATE(), GETDATE(), '117be4f0-b5d1-41a1-a962-39dc30cce368', '117be4f0-b5d1-41a1-a962-39dc30cce368', 0, (SELECT @LayerId)); -- \ No newline at end of file diff --git a/WebAPI/Exports/googleSheet.export.cs b/WebAPI/Exports/googleSheet.export.cs index 0a08d7d..ed94859 100644 --- a/WebAPI/Exports/googleSheet.export.cs +++ b/WebAPI/Exports/googleSheet.export.cs @@ -95,10 +95,5 @@ namespace WebAPI.Exports Console.WriteLine(e.ToString()); } } - - private int getNumberOfValues(List records) - { - return 5; - } } } diff --git a/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs b/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs index bef6762..e2a3d87 100644 --- a/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs +++ b/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs @@ -129,7 +129,7 @@ namespace WebAPI.dataProcessors var response = request.Execute(); SpreadsheetsResource.ValuesResource.GetRequest request2 = googleSheetValues.Get(sheetId, "C6:CH6"); var response2 = request2.Execute(); - + Layer? november = db.Layers .Where(x => x.Number == 491) .Include(x => x.Records) @@ -145,9 +145,22 @@ namespace WebAPI.dataProcessors .Include(x => x.Records) .FirstOrDefault(); + Layer? february = db.Layers + .Where(x => x.Number == 742) + .Include(x => x.Records) + .FirstOrDefault(); + + Layer? march = db.Layers + .Where(x => x.Number == 822) + .Include(x => x.Records) + .FirstOrDefault(); + List novemberValues = new List(); List decemberValues = new List(); List januaryValues = new List(); + List februaryValues = new List(); + List marchValues = new List(); + var codesRow = response.Values[0]; foreach (string code in codesRow) @@ -194,6 +207,8 @@ namespace WebAPI.dataProcessors foreach (string code in codesRow2) { Record? januaryRecord = january!.Records?.SingleOrDefault(x => x.Code == code); + Record? februaryRecord = february!.Records?.SingleOrDefault(x => x.Code == code); + Record? marchRecord = march!.Records?.SingleOrDefault(x => x.Code == code); if (januaryRecord != null) { float? januaryValue = ProcessHelper.getValue(januaryRecord, 32); @@ -203,6 +218,24 @@ namespace WebAPI.dataProcessors { januaryValues.Add(""); } + if (februaryRecord != null) + { + float? februaryValue = ProcessHelper.getValue(februaryRecord, 32); + februaryValues.Add(februaryValue!.Value); + } + else + { + februaryValues.Add(""); + } + if (marchRecord != null) + { + float? marchValue = ProcessHelper.getValue(marchRecord, 32); + marchValues.Add(marchValue!.Value); + } + else + { + marchValues.Add(""); + } } ValueRange januaryValueRange = new ValueRange @@ -212,28 +245,22 @@ namespace WebAPI.dataProcessors SpreadsheetsResource.ValuesResource.UpdateRequest updateJanuary = googleSheetValues.Update(januaryValueRange, sheetId, $"{sheetName}!C12:CH12"); updateJanuary.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; updateJanuary.Execute(); - } - private void updateCell(string sheetId, string range, float value) - { - ValueRange valueRange = new ValueRange + ValueRange februaryValueRange = new ValueRange { - Values = new List> { new List { value } } + Values = new List> { februaryValues } }; - SpreadsheetsResource.ValuesResource.UpdateRequest updateRequest = googleSheetValues.Update(valueRange, sheetId, range); - updateRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; - updateRequest.Execute(); - } - private string intToExcelColumnName(int number) - { - string columnName = ""; - while (number > 0) + SpreadsheetsResource.ValuesResource.UpdateRequest updateFebruary = googleSheetValues.Update(februaryValueRange, sheetId, $"{sheetName}!C13:CH13"); + updateFebruary.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; + updateFebruary.Execute(); + + ValueRange marchValueRange = new ValueRange { - int modulo = (number - 1) % 26; - columnName = Convert.ToChar(65 + modulo).ToString() + columnName; - number = (number - modulo) / 26; - } - return columnName; + Values = new List> { marchValues } + }; + SpreadsheetsResource.ValuesResource.UpdateRequest updateMarch = googleSheetValues.Update(marchValueRange, sheetId, $"{sheetName}!C14:CH1"); + updateMarch.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; + updateMarch.Execute(); } } }