Skip to content
Snippets Groups Projects
Commit e3c3c210 authored by Rémi PAILHAREY's avatar Rémi PAILHAREY :fork_knife_plate:
Browse files

Merge branch 'feat/init-prices-in-scripts' into 'dev'

feat: init prices in scripts

See merge request !1236
parents b47ff8d9 543eb79b
No related branches found
No related tags found
2 merge requests!12413.1 Release,!1236feat: init prices in scripts
......@@ -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')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment