From 543eb79b904b02839f9765253d3982cb087ab2e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20PAILHAREY?= <rpailharey@grandlyon.com>
Date: Tue, 24 Sep 2024 16:37:46 +0200
Subject: [PATCH] feat: init prices in scripts

---
 scripts/createDayDataFiles.js | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/scripts/createDayDataFiles.js b/scripts/createDayDataFiles.js
index 1302b0384..94a78e4a6 100644
--- a/scripts/createDayDataFiles.js
+++ b/scripts/createDayDataFiles.js
@@ -5,6 +5,7 @@
 const fs = require('fs')
 const { DateTime } = require('luxon')
 const config = require('./config')
+const fluidConfig = require('../src/constants/config.json').fluidConfig
 
 function getRandomNumber(min, max) {
   // Generate a random float between min and max
@@ -32,13 +33,14 @@ const generateHalfAnHourData = (startingDate, endingDate, min, max) => {
       day: parsingDate.day,
       hour: parsingDate.hour,
       minute: parsingDate.minute,
+      price: load * fluidConfig[0].coefficient,
     })
     parsingDate = parsingDate.plus({ minute: 30 })
   }
   return halfAnHourDumpArray
 }
 
-const generateData = (startingDate, endingDate, min, max) => {
+const generateData = (startingDate, endingDate, min, max, fluidType) => {
   let parsingDate = DateTime.local(
     startingDate.year,
     startingDate.month,
@@ -54,6 +56,7 @@ const generateData = (startingDate, endingDate, min, max) => {
       day: parsingDate.day,
       hour: 0,
       minute: 0,
+      price: load * fluidConfig[fluidType].coefficient,
     })
     parsingDate = parsingDate.plus({ days: 1 })
   }
@@ -94,9 +97,11 @@ function aggregateLoadData(data, period) {
         day: entryCopy.day,
         hour: entryCopy.hour,
         minute: entryCopy.minute,
+        price: entryCopy.price,
       }
     } else {
       aggregatedData[key].load += entryCopy.load
+      aggregatedData[key].price += entryCopy.price
     }
   })
   return Object.values(aggregatedData)
@@ -125,17 +130,18 @@ const elecGeneratedDayData = generateData(
   startingDate,
   halfHourStartingDate.minus({ days: 1 }),
   4,
-  8
+  8,
+  0
 )
 const elecDayData = [...elecAggregatedDayData, ...elecGeneratedDayData]
 const elecMonthData = aggregateLoadData(elecDayData, 'month')
 const elecYearData = aggregateLoadData(elecMonthData, 'year')
 
-const gasDayData = generateData(startingDate, endingDate, 16, 68)
+const gasDayData = generateData(startingDate, endingDate, 16, 68, 2)
 const gasMonthData = aggregateLoadData(gasDayData, 'month')
 const gasYearData = aggregateLoadData(gasMonthData, 'year')
 
-const waterDayData = generateData(startingDate, endingDate, 200, 300)
+const waterDayData = generateData(startingDate, endingDate, 200, 300, 1)
 const waterMonthData = aggregateLoadData(waterDayData, 'month')
 const waterYearData = aggregateLoadData(waterMonthData, 'year')
 
-- 
GitLab