From f9c1a8a8adc221075821565da2eb215797710ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Fri, 8 Mar 2024 15:56:35 +0100 Subject: [PATCH] Before refactor --- Frontend/src/app/models/record.model.ts | 2 + .../layer-detail/layer-detail.component.html | 3 + .../layer-detail/layer-detail.component.ts | 46 +++++++++++++ Frontend/src/environments/environment.ts | 4 +- WebAPI/Controllers/LayersController.cs | 6 +- WebAPI/Models/Record.cs | 64 +++++++++---------- WebAPI/dataImporters/morska.importer.cs | 8 ++- ....MultiSourceCopySelectedCodes.processor.cs | 2 +- 8 files changed, 95 insertions(+), 40 deletions(-) diff --git a/Frontend/src/app/models/record.model.ts b/Frontend/src/app/models/record.model.ts index 3ecbb1e..49c7a1c 100644 --- a/Frontend/src/app/models/record.model.ts +++ b/Frontend/src/app/models/record.model.ts @@ -8,6 +8,7 @@ export class Record extends Base { value4?: number; value5?: number; value6?: number; + value7?: number; value8?: number; value9?: number; value10?: number; @@ -32,6 +33,7 @@ export class Record extends Base { value29?: number; value30?: number; value31?: number; + value32?: number; desc1?: string; desc2?: string; desc3?: string; diff --git a/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.html b/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.html index 76104bf..333a294 100644 --- a/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.html +++ b/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.html @@ -1,3 +1,6 @@ +@if (document?.records) { +
{{shortRecords | json}}
+}
diff --git a/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts b/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts index 9a87c50..8290274 100644 --- a/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts +++ b/Frontend/src/app/modules/layers/layer-detail/layer-detail.component.ts @@ -37,6 +37,9 @@ export class LayerDetailComponent implements OnInit { LayerType = LayerType; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + shortRecords: any = null; + @ViewChild(MatSort) sort!: MatSort; constructor( @@ -59,6 +62,8 @@ export class LayerDetailComponent implements OnInit { this.document.modified = `${this.datePipe.transform(this.document.modifiedAt?.toDate(), 'short')}, ${this.document.modifiedBy?.userName}`; this.valueSum = this.document.records.map(t => t.value1 || 0).reduce((acc, value) => acc + value, 0); this.createColumns(); + + this.prepareDataForAI(); } private async load(): Promise { return await Layer.getById(this.route$.snapshot.paramMap.get('id') || "", this.http$); @@ -105,4 +110,45 @@ export class LayerDetailComponent implements OnInit { }); } } + + async prepareDataForAI() { + const codes = this.document.records.map(x => x.code); + const weatherURL = 'https://archive-api.open-meteo.com/v1/archive?latitude=54.36685&longitude=18.692&start_date=2023-12-01&end_date=2023-12-31&daily=temperature_2m_mean,rain_sum,snowfall_sum,wind_speed_10m_max&timezone=Europe%2FBerlin'; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + this.http$.get(weatherURL).subscribe((data: any) => { + console.log('pogoda', data); + + // loop throught all days in december 2023 + const days = data['daily']['time'].length; + console.log(days); + this.shortRecords = []; + for (let i = 0; i < days; i++) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const res: any = {}; + res.day = i+1; + res.code = 600; + res.temperature = data['daily']['temperature_2m_mean'][i]; + res.rain = data['daily']['rain_sum'][i]; + res.snow = data['daily']['snowfall_sum'][i]; + res.wind = data['daily']['wind_speed_10m_max'][i]; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const codeValues: any[] = []; + codes.forEach(code => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const res: any = { code: code }; + res.value = this.getRecordValue(this.document.records.find(x => x.code === code)!, i+1); + codeValues.push(res); + }); + res.sell = codeValues.filter(x => x.value > 0); + //= codes.map(code => this.getRecordValue(this.document.records.find(x => x.code === code)!, i+1)); + this.shortRecords.push(res); + } + console.log('shortRecords', this.shortRecords); + }); + } + + getRecordValue(record: Record, index: number) { + const propertyName = `value${index}` as keyof typeof record; + return record[propertyName]; + } } diff --git a/Frontend/src/environments/environment.ts b/Frontend/src/environments/environment.ts index b4ed8cc..98dcec0 100644 --- a/Frontend/src/environments/environment.ts +++ b/Frontend/src/environments/environment.ts @@ -7,8 +7,8 @@ export const environment = { appName: "LOCAL_DiunaBI", production: false, api: { - url: "http://localhost:5400/api" - //url: "https://diunabi-morska.bim-it.pl/api" + //url: "http://localhost:5400/api" + url: "https://diunabi-morska.bim-it.pl/api" }, google: { clientId: "107631825312-bkfe438ehr9k9ecb2h76g802tj6advma.apps.googleusercontent.com" diff --git a/WebAPI/Controllers/LayersController.cs b/WebAPI/Controllers/LayersController.cs index bee743e..66bf89b 100644 --- a/WebAPI/Controllers/LayersController.cs +++ b/WebAPI/Controllers/LayersController.cs @@ -152,6 +152,7 @@ namespace WebAPI.Controllers .Where(x => x.Records!.Any(x => x.Code == "Type" && x.Desc1 == "ImportWorker") && x.Records!.Any(x => x.Code == "IsEnabled" && x.Desc1 == "True") + && x.Number == 539 ) .OrderBy(x => x.CreatedAt) .ToList(); @@ -184,7 +185,7 @@ namespace WebAPI.Controllers } var startDateParsed = DateTime.ParseExact(startDate!, "yyyy.MM.dd", null); var endDateParsed = DateTime.ParseExact(endDate!, "yyyy.MM.dd", null); - if (startDateParsed.Date <= DateTime.UtcNow.Date && endDateParsed.Date >= DateTime.UtcNow.Date) + if (startDateParsed.Date <= DateTime.UtcNow.Date && endDateParsed.Date >= DateTime.UtcNow.Date || true) { MorskaImporter importer = new MorskaImporter(db, googleSheetValues, this); importer.import(importWorker); @@ -259,6 +260,7 @@ namespace WebAPI.Controllers x.Records!.Any(x => x.Code == "Type" && x.Desc1 == "ProcessWorker") && x.Records!.Any(x => x.Code == "IsEnabled" && x.Desc1 == "True") && x.Records!.Any(x => x.Code == "ProcessType" && x.Desc1 == type) + && x.Number == 800 ) .OrderBy(x => x.CreatedAt) .ToList(); @@ -279,7 +281,7 @@ namespace WebAPI.Controllers { try { - ProcessLayer(processWorker); + ProcessLayer(processWorker, true); } catch (Exception e) { diff --git a/WebAPI/Models/Record.cs b/WebAPI/Models/Record.cs index 86cdcf9..9ac829d 100644 --- a/WebAPI/Models/Record.cs +++ b/WebAPI/Models/Record.cs @@ -1,15 +1,15 @@ -using System.ComponentModel.DataAnnotations; - -namespace WebAPI.Models -{ - public class Record - { - #region Properties - [Key] - public Guid Id { get; set; } - [Required] - public string? Code { get; set; } - public float? Value1 { get; set; } +using System.ComponentModel.DataAnnotations; + +namespace WebAPI.Models +{ + public class Record + { + #region Properties + [Key] + public Guid Id { get; set; } + [Required] + public string? Code { get; set; } + public float? Value1 { get; set; } public float? Value2 { get; set; } public float? Value3 { get; set; } public float? Value4 { get; set; } @@ -42,23 +42,23 @@ namespace WebAPI.Models public float? Value31 { get; set; } public float? Value32 { get; set; } //Description fields - public string? Desc1 { get; set; } - public string? Desc2 { get; set; } - public string? Desc3 { get; set; } - public string? Desc4 { get; set; } - public string? Desc5 { get; set; } - public DateTime CreatedAt { get; set; } - public DateTime ModifiedAt { get; set; } - public bool IsDeleted { get; set; } - #endregion - #region Relations - [Required] - public Guid CreatedById { get; set; } - public User? CreatedBy { get; set; } - [Required] - public Guid ModifiedById { get; set; } - public User? ModifiedBy { get; set; } - public Guid LayerId { get; set; } - #endregion - } -} + public string? Desc1 { get; set; } + public string? Desc2 { get; set; } + public string? Desc3 { get; set; } + public string? Desc4 { get; set; } + public string? Desc5 { get; set; } + public DateTime CreatedAt { get; set; } + public DateTime ModifiedAt { get; set; } + public bool IsDeleted { get; set; } + #endregion + #region Relations + [Required] + public Guid CreatedById { get; set; } + public User? CreatedBy { get; set; } + [Required] + public Guid ModifiedById { get; set; } + public User? ModifiedBy { get; set; } + public Guid LayerId { get; set; } + #endregion + } +} diff --git a/WebAPI/dataImporters/morska.importer.cs b/WebAPI/dataImporters/morska.importer.cs index bd2c9ee..cf39e10 100644 --- a/WebAPI/dataImporters/morska.importer.cs +++ b/WebAPI/dataImporters/morska.importer.cs @@ -99,6 +99,8 @@ namespace DiunaBIWebAPI.dataImporters for (int i = 0; i < data[1].Count; i++) { float value; + double test; + double.TryParse(data[1][5].ToString(), CultureInfo.GetCultureInfo("pl-PL"), out test); if ( data[0][i].ToString()?.Length > 0 && float.TryParse(data[1][i].ToString(), CultureInfo.GetCultureInfo("pl-PL"), out value)) @@ -115,9 +117,9 @@ namespace DiunaBIWebAPI.dataImporters }; } - db.Layers.Add(layer); - controller.SaveRecords(layer.Id, newRecords, Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D")); - db.SaveChanges(); + //db.Layers.Add(layer); + //controller.SaveRecords(layer.Id, newRecords, Guid.Parse("F392209E-123E-4651-A5A4-0B1D6CF9FF9D")); + //db.SaveChanges(); } } } diff --git a/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs b/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs index e2a3d87..1fd7148 100644 --- a/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs +++ b/WebAPI/dataProcessors/t3.MultiSourceCopySelectedCodes.processor.cs @@ -258,7 +258,7 @@ namespace WebAPI.dataProcessors { Values = new List> { marchValues } }; - SpreadsheetsResource.ValuesResource.UpdateRequest updateMarch = googleSheetValues.Update(marchValueRange, sheetId, $"{sheetName}!C14:CH1"); + SpreadsheetsResource.ValuesResource.UpdateRequest updateMarch = googleSheetValues.Update(marchValueRange, sheetId, $"{sheetName}!C14:CH14"); updateMarch.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.USERENTERED; updateMarch.Execute(); }