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 @@ ...@@ -5,6 +5,7 @@
const fs = require('fs') const fs = require('fs')
const { DateTime } = require('luxon') const { DateTime } = require('luxon')
const config = require('./config') const config = require('./config')
const fluidConfig = require('../src/constants/config.json').fluidConfig
function getRandomNumber(min, max) { function getRandomNumber(min, max) {
// Generate a random float between min and max // Generate a random float between min and max
...@@ -32,13 +33,14 @@ const generateHalfAnHourData = (startingDate, endingDate, min, max) => { ...@@ -32,13 +33,14 @@ const generateHalfAnHourData = (startingDate, endingDate, min, max) => {
day: parsingDate.day, day: parsingDate.day,
hour: parsingDate.hour, hour: parsingDate.hour,
minute: parsingDate.minute, minute: parsingDate.minute,
price: load * fluidConfig[0].coefficient,
}) })
parsingDate = parsingDate.plus({ minute: 30 }) parsingDate = parsingDate.plus({ minute: 30 })
} }
return halfAnHourDumpArray return halfAnHourDumpArray
} }
const generateData = (startingDate, endingDate, min, max) => { const generateData = (startingDate, endingDate, min, max, fluidType) => {
let parsingDate = DateTime.local( let parsingDate = DateTime.local(
startingDate.year, startingDate.year,
startingDate.month, startingDate.month,
...@@ -54,6 +56,7 @@ const generateData = (startingDate, endingDate, min, max) => { ...@@ -54,6 +56,7 @@ const generateData = (startingDate, endingDate, min, max) => {
day: parsingDate.day, day: parsingDate.day,
hour: 0, hour: 0,
minute: 0, minute: 0,
price: load * fluidConfig[fluidType].coefficient,
}) })
parsingDate = parsingDate.plus({ days: 1 }) parsingDate = parsingDate.plus({ days: 1 })
} }
...@@ -94,9 +97,11 @@ function aggregateLoadData(data, period) { ...@@ -94,9 +97,11 @@ function aggregateLoadData(data, period) {
day: entryCopy.day, day: entryCopy.day,
hour: entryCopy.hour, hour: entryCopy.hour,
minute: entryCopy.minute, minute: entryCopy.minute,
price: entryCopy.price,
} }
} else { } else {
aggregatedData[key].load += entryCopy.load aggregatedData[key].load += entryCopy.load
aggregatedData[key].price += entryCopy.price
} }
}) })
return Object.values(aggregatedData) return Object.values(aggregatedData)
...@@ -125,17 +130,18 @@ const elecGeneratedDayData = generateData( ...@@ -125,17 +130,18 @@ const elecGeneratedDayData = generateData(
startingDate, startingDate,
halfHourStartingDate.minus({ days: 1 }), halfHourStartingDate.minus({ days: 1 }),
4, 4,
8 8,
0
) )
const elecDayData = [...elecAggregatedDayData, ...elecGeneratedDayData] const elecDayData = [...elecAggregatedDayData, ...elecGeneratedDayData]
const elecMonthData = aggregateLoadData(elecDayData, 'month') const elecMonthData = aggregateLoadData(elecDayData, 'month')
const elecYearData = aggregateLoadData(elecMonthData, 'year') 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 gasMonthData = aggregateLoadData(gasDayData, 'month')
const gasYearData = aggregateLoadData(gasMonthData, 'year') 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 waterMonthData = aggregateLoadData(waterDayData, 'month')
const waterYearData = aggregateLoadData(waterMonthData, 'year') const waterYearData = aggregateLoadData(waterMonthData, 'year')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment