diff --git a/FarmmapsApi/Services/GeneralService.cs b/FarmmapsApi/Services/GeneralService.cs index 8215260..c292508 100644 --- a/FarmmapsApi/Services/GeneralService.cs +++ b/FarmmapsApi/Services/GeneralService.cs @@ -299,11 +299,9 @@ namespace FarmmapsApi.Services return null; } await Task.Delay(60000); //wacht hier een minuut tot de KPIs berekend zijn - + //PO20230627 Je zou hier ook om de 10 sec eens kunnen kijken of we al zo ver zijn? Iets in trant van while KPI_ITEM is null? //hier nog definieren waar in de hierarchie een KPI item is? - //the kpi data is a child of the cropfield --> is dit wel zo? is kpi ook de itemName? - return await _farmmapsApiService.GetItemChildrenAsync(cropfieldItem.Code, KPI_ITEM); } diff --git a/FarmmapsKPI/KPIApplication.cs b/FarmmapsKPI/KPIApplication.cs index 9050b77..546e6a6 100644 --- a/FarmmapsKPI/KPIApplication.cs +++ b/FarmmapsKPI/KPIApplication.cs @@ -98,18 +98,27 @@ namespace FarmmapsKPI // Use already created cropfield or create new one, added a Data input, with field specific data for the KPI calculation Item cropfieldItem; - if (useCreatedCropfield == true || string.IsNullOrEmpty(_settings.CropfieldItemCode)) + //1 useCreatedCropfield = false -> get new + //2 useCreatedCropfield = true && CropfieldItemCode = "" or absent -> read from settings json + //2 useCreatedCropfield = true && CropfieldItemCode like "deb48a74c5b54299bb852f17288010e9" in KPIinput -> use this one + + if (useCreatedCropfield == false || string.IsNullOrEmpty(_settings.CropfieldItemCode)) { - _logger.LogInformation("Creating cropfield"); + _logger.LogInformation("Creating cropfield, writting to settings file"); cropfieldItem = await _generalService.CreateCropfieldItemAsync(myDriveRoot.Code, $"DataCropfield {input.OutputFileName}", cropYear, input.GeometryJson.ToString(Formatting.None), input.Data.ToString(Formatting.None)); _settings.CropfieldItemCode = cropfieldItem.Code; SaveSettings(settingsfile); } + else if (string.IsNullOrEmpty(input.CropfieldItemCode)) + { + _logger.LogInformation("CropfieldItemCode not in json input, reading from settings json"); + cropfieldItem = await _farmmapsApiService.GetItemAsync(_settings.CropfieldItemCode); + } else { - _logger.LogInformation("Cropfield already exists, trying to get it"); - cropfieldItem = await _farmmapsApiService.GetItemAsync(_settings.CropfieldItemCode); + _logger.LogInformation("CropfieldItemCode not in json input, reading from settings json"); + cropfieldItem = await _farmmapsApiService.GetItemAsync(input.CropfieldItemCode); } //Get croprecordings @@ -143,11 +152,10 @@ namespace FarmmapsKPI } // Get KPI data for saving it in a file, here the generalsedrvice is called to get the KPI data - _logger.LogInformation($"Trying to get the cropfielditem: {cropfieldItem}"); + _logger.LogInformation($"Trying to get the cropfielditem: {cropfieldItem.Code}"); var KPIItem = await _generalService.GetKpiItemsForCropField(cropfieldItem); - - var KPIItemPath = Path.Combine(downloadFolder, $"KPIItems_{KPIItem}.json"); + var KPIItemPath = Path.Combine(downloadFolder, $"KPIItems_{cropfieldItem.Code}.json"); _logger.LogInformation($"Found {KPIItem.Count} KPI items"); var count = 0; await Task.Delay(50); diff --git a/FarmmapsKPI/KPIInput.json b/FarmmapsKPI/KPIInput.json index 01ddca5..d9aeb63 100644 --- a/FarmmapsKPI/KPIInput.json +++ b/FarmmapsKPI/KPIInput.json @@ -1,6 +1,7 @@ [ { - "UseCreatedCropfield": false, + "UseCreatedCropfield": true, + "CropfieldItemCode": "38870d5ff9b54b12877b5b01018b6fec", "outputFileName": "TestData", //"fieldName": "aardappelveld_test", //"DownloadFolder": "Downloads", //"C:\\workdir\\groenmonitor\\", // "Downloads", -> if you just put "Downloads" the program will download to somewhere in ..\FarmMapsApiClient_WURtest\FarmmapsDataDownload\bin\Debug\netcoreapp3.1\Downloads\ @@ -14,7 +15,7 @@ "final": true, //"soilCode": "5", "soilName": "Loam", - "cropTypeCode": "1010101", // make a table/list with possible inputs. + "cropTypeCode": "1010101", // make a table/list with possible inputs. "cropTypeName": "Potato", //"rootDepthMax": 45, //"emergenceDate": "2022-05-16T00:00:00", diff --git a/FarmmapsKPI/Models/KPIInput.cs b/FarmmapsKPI/Models/KPIInput.cs index bcb35b8..c48a808 100644 --- a/FarmmapsKPI/Models/KPIInput.cs +++ b/FarmmapsKPI/Models/KPIInput.cs @@ -6,6 +6,7 @@ namespace FarmmapsKPI.Models public class KPIInput { public bool UseCreatedCropfield { get; set; } + public string CropfieldItemCode { get; set; } public string File { get; set; } public string InputVariable { get; set; } public string OutputFileName { get; set; }