From d29acd265ad52ca2dd1e539dc8510309b85722e4 Mon Sep 17 00:00:00 2001
From: Yoan VALLET <ext.sopra.yvallet@grandlyon.com>
Date: Tue, 16 Feb 2021 17:31:20 +0100
Subject: [PATCH] fix: add hald an hour data in scripts

---
 scripts/createDayDataFiles.js | 45 +++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/scripts/createDayDataFiles.js b/scripts/createDayDataFiles.js
index f1b98f8e3..8df6c4855 100644
--- a/scripts/createDayDataFiles.js
+++ b/scripts/createDayDataFiles.js
@@ -16,6 +16,43 @@ function getRandomInt(min, max) {
   return result
 }
 
+const generateHalfAnHourData = (_startingdate, _endingDate, min, max) => {
+  let parsingDate
+  if (_endingDate.diff(_startingdate, 'days').toObject().days > 1) {
+    parsingDate = DateTime.local(
+      _endingDate.year,
+      _endingDate.month,
+      _endingDate.day - 1,
+      0,
+      0
+    )
+  } else {
+    parsingDate = DateTime.local(
+      _endingDate.year,
+      _endingDate.month,
+      _endingDate.day,
+      0,
+      0
+    )
+  }
+  const halfAnHourDumpArray = []
+
+  while (parsingDate <= _endingDate) {
+    const load = getRandomInt(min, max)
+
+    halfAnHourDumpArray.push({
+      load: load,
+      year: parsingDate.year,
+      month: parsingDate.month,
+      day: parsingDate.day,
+      hour: parsingDate.hour,
+      minute: parsingDate.minute,
+    })
+    parsingDate = parsingDate.plus({ minute: 30 })
+  }
+  return halfAnHourDumpArray
+}
+
 const generateData = (_startingdate, _endingDate, min, max) => {
   let parsingDate = DateTime.local(
     _startingdate.year,
@@ -105,11 +142,18 @@ const generateData = (_startingdate, _endingDate, min, max) => {
 const startingdate = config.startingdate
 const endingDate = config.endingDate
 
+const HalfAnHour = generateHalfAnHourData(
+  startingdate,
+  endingDate.endOf('day'),
+  0.5,
+  1
+)
 const Elec = generateData(startingdate, endingDate, 3, 10)
 const Gaz = generateData(startingdate, endingDate, 16, 68)
 const Eau = generateData(startingdate, endingDate, 200, 300)
 
 const dumpElec = {
+  'com.grandlyon.enedis.minute': HalfAnHour,
   'com.grandlyon.enedis.day': Elec.dailyLoad,
   'com.grandlyon.enedis.month': Elec.monthlyLoad,
   'com.grandlyon.enedis.year': Elec.yearlyLoad,
@@ -140,6 +184,7 @@ fs.writeFile('data/dayData-water.json', dumpStringWater, function(err) {
 })
 
 const dump = {
+  'com.grandlyon.enedis.minute': HalfAnHour,
   'com.grandlyon.enedis.day': Elec.dailyLoad,
   'com.grandlyon.enedis.month': Elec.monthlyLoad,
   'com.grandlyon.enedis.year': Elec.yearlyLoad,
-- 
GitLab