diff --git a/web/src/components/MyEMS/Meter/MeterBatch.js b/web/src/components/MyEMS/Meter/MeterBatch.js index aa8bc82a..a196d5ca 100644 --- a/web/src/components/MyEMS/Meter/MeterBatch.js +++ b/web/src/components/MyEMS/Meter/MeterBatch.js @@ -24,6 +24,7 @@ import { toast } from 'react-toastify'; import ButtonIcon from '../../common/ButtonIcon'; import { APIBaseURL } from '../../../config'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -132,8 +133,12 @@ const MeterBatch = ({ setRedirect, setRedirectUrl, t }) => { let onReportingPeriodChange = (DateRange) => { if(DateRange == null) { - setReportingPeriodDateRange([null, null]); + setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); } }; diff --git a/web/src/components/MyEMS/Meter/MeterCarbon.js b/web/src/components/MyEMS/Meter/MeterCarbon.js index 2c837e54..f0dc0928 100644 --- a/web/src/components/MyEMS/Meter/MeterCarbon.js +++ b/web/src/components/MyEMS/Meter/MeterCarbon.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -260,19 +261,25 @@ const MeterCarbon = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); diff --git a/web/src/components/MyEMS/Meter/MeterCost.js b/web/src/components/MyEMS/Meter/MeterCost.js index cd11ae0c..c9fe6493 100644 --- a/web/src/components/MyEMS/Meter/MeterCost.js +++ b/web/src/components/MyEMS/Meter/MeterCost.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -260,19 +261,25 @@ const MeterCost = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); diff --git a/web/src/components/MyEMS/Meter/MeterEnergy.js b/web/src/components/MyEMS/Meter/MeterEnergy.js index 54a4c7cb..4a134bfd 100644 --- a/web/src/components/MyEMS/Meter/MeterEnergy.js +++ b/web/src/components/MyEMS/Meter/MeterEnergy.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { startOfDay, endOfDay, addDays, subDays } from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -263,20 +264,26 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => { // Callback fired when value changed let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; // Callback fired when value changed let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); @@ -296,6 +303,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => { setReportingPeriodDateRange([null, null]); }; + // Handler const handleSubmit = e => { e.preventDefault(); diff --git a/web/src/components/MyEMS/Meter/MeterSubmetersBalance.js b/web/src/components/MyEMS/Meter/MeterSubmetersBalance.js index fb3f8299..9568c8a1 100644 --- a/web/src/components/MyEMS/Meter/MeterSubmetersBalance.js +++ b/web/src/components/MyEMS/Meter/MeterSubmetersBalance.js @@ -29,6 +29,7 @@ import ButtonIcon from '../../common/ButtonIcon'; import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -239,8 +240,12 @@ const MeterSubmetersBalance = ({ setRedirect, setRedirectUrl, t }) => { let onReportingPeriodChange = (DateRange) => { if(DateRange == null) { - setReportingPeriodDateRange([null, null]); + setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); } }; diff --git a/web/src/components/MyEMS/Meter/MeterTracking.js b/web/src/components/MyEMS/Meter/MeterTracking.js index 8d837d44..e8a73d42 100644 --- a/web/src/components/MyEMS/Meter/MeterTracking.js +++ b/web/src/components/MyEMS/Meter/MeterTracking.js @@ -32,6 +32,7 @@ import { toast } from 'react-toastify'; import ButtonIcon from '../../common/ButtonIcon'; import { APIBaseURL } from '../../../config'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const MeterTracking = ({ setRedirect, setRedirectUrl, t }) => { @@ -224,8 +225,12 @@ const MeterTracking = ({ setRedirect, setRedirectUrl, t }) => { let onReportingPeriodChange = (DateRange) => { if(DateRange == null) { - setReportingPeriodDateRange([null, null]); + setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); } }; diff --git a/web/src/components/MyEMS/Meter/MeterTrend.js b/web/src/components/MyEMS/Meter/MeterTrend.js index 5fdb297d..003b7730 100644 --- a/web/src/components/MyEMS/Meter/MeterTrend.js +++ b/web/src/components/MyEMS/Meter/MeterTrend.js @@ -26,6 +26,7 @@ import { toast } from 'react-toastify'; import ButtonIcon from '../../common/ButtonIcon'; import { APIBaseURL } from '../../../config'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -229,8 +230,12 @@ const MeterTrend = ({ setRedirect, setRedirectUrl, t }) => { let onReportingPeriodChange = (DateRange) => { if(DateRange == null) { - setReportingPeriodDateRange([null, null]); + setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); } }; diff --git a/web/src/components/MyEMS/Meter/OfflineMeterCost.js b/web/src/components/MyEMS/Meter/OfflineMeterCost.js index cf98314a..7091eebe 100644 --- a/web/src/components/MyEMS/Meter/OfflineMeterCost.js +++ b/web/src/components/MyEMS/Meter/OfflineMeterCost.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -242,19 +243,25 @@ const OfflineMeterCost = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); diff --git a/web/src/components/MyEMS/Meter/OfflineMeterEnergy.js b/web/src/components/MyEMS/Meter/OfflineMeterEnergy.js index adbcc3ef..e2bf9cd9 100644 --- a/web/src/components/MyEMS/Meter/OfflineMeterEnergy.js +++ b/web/src/components/MyEMS/Meter/OfflineMeterEnergy.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -242,19 +243,25 @@ const OfflineMeterEnergy = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); diff --git a/web/src/components/MyEMS/Meter/VirtualMeterCarbon.js b/web/src/components/MyEMS/Meter/VirtualMeterCarbon.js index a98bdda3..87ef70bd 100644 --- a/web/src/components/MyEMS/Meter/VirtualMeterCarbon.js +++ b/web/src/components/MyEMS/Meter/VirtualMeterCarbon.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -240,19 +241,25 @@ const VirtualMeterCarbon = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); diff --git a/web/src/components/MyEMS/Meter/VirtualMeterCost.js b/web/src/components/MyEMS/Meter/VirtualMeterCost.js index f27ca3f5..3a3c736d 100644 --- a/web/src/components/MyEMS/Meter/VirtualMeterCost.js +++ b/web/src/components/MyEMS/Meter/VirtualMeterCost.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -242,19 +243,25 @@ const VirtualMeterCost = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; let onReportingPeriodChange = (DateRange) => { - if(DateRange == null) { + if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]); diff --git a/web/src/components/MyEMS/Meter/VirtualMeterEnergy.js b/web/src/components/MyEMS/Meter/VirtualMeterEnergy.js index e5ec1e6b..5c469cf6 100644 --- a/web/src/components/MyEMS/Meter/VirtualMeterEnergy.js +++ b/web/src/components/MyEMS/Meter/VirtualMeterEnergy.js @@ -30,6 +30,7 @@ import { APIBaseURL } from '../../../config'; import { periodTypeOptions } from '../common/PeriodTypeOptions'; import { comparisonTypeOptions } from '../common/ComparisonTypeOptions'; import { DateRangePicker } from 'rsuite'; +import { endOfDay} from 'date-fns'; const DetailedDataTable = loadable(() => import('../common/DetailedDataTable')); @@ -242,11 +243,13 @@ const VirtualMeterEnergy = ({ setRedirect, setRedirectUrl, t }) => { }; let onBasePeriodChange = (DateRange) => { - console.log(DateRange); - if(DateRange == null) { setBasePeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setBasePeriodDateRange([DateRange[0], DateRange[1]]); } }; @@ -255,6 +258,10 @@ const VirtualMeterEnergy = ({ setRedirect, setRedirectUrl, t }) => { if(DateRange == null) { setReportingPeriodDateRange([null, null]); } else { + if (moment(DateRange[1]).format('HH:mm:ss') == '00:00:00') { + // if the user did not change time value, set the default time to the end of day + DateRange[1] = endOfDay(DateRange[1]); + } setReportingPeriodDateRange([DateRange[0], DateRange[1]]); if (comparisonType === 'year-over-year') { setBasePeriodDateRange([moment(DateRange[0]).clone().subtract(1, 'years').toDate(), moment(DateRange[1]).clone().subtract(1, 'years').toDate()]);