diff --git a/src/main/java/de/ph87/data/series/period/consumption/Consumption.java b/src/main/java/de/ph87/data/series/period/consumption/Consumption.java index 79baeca..4142a1f 100644 --- a/src/main/java/de/ph87/data/series/period/consumption/Consumption.java +++ b/src/main/java/de/ph87/data/series/period/consumption/Consumption.java @@ -2,12 +2,10 @@ package de.ph87.data.series.period.consumption; import de.ph87.data.series.period.Period; import de.ph87.data.series.period.consumption.unit.Unit; -import jakarta.annotation.Nullable; import jakarta.persistence.*; import lombok.*; import java.io.Serializable; -import java.time.Duration; import java.time.ZonedDateTime; import static de.ph87.data.series.period.consumption.slice.SliceService.DL; @@ -61,33 +59,12 @@ public class Consumption { @Column(nullable = false) private double lastValue; - @Column - @Nullable - private Double beginValue; - - @Column - @Nullable - private Double endValue; - - public Consumption(@NonNull final Period period, @NonNull final Unit unit, @NonNull final ZonedDateTime aligned, @NonNull final ZonedDateTime date, final double value, @Nullable final Consumption previous) { + public Consumption(@NonNull final Period period, @NonNull final Unit unit, @NonNull final ZonedDateTime aligned, @NonNull final ZonedDateTime date, final double value) { this.id = new Id(period, unit, aligned); this.firstDate = date; this.firstValue = value; this.lastDate = date; this.lastValue = value; - if (previous != null) { - final double totalDelta = this.firstValue - previous.getLastValue(); - final long totalMillis = Duration.between(previous.getLastDate(), this.firstDate).toMillis(); - final double deltaPerMilli = totalDelta / totalMillis; - - final long deltaBeginMillis = Duration.between(this.id.aligned, this.firstDate).toMillis(); - final double deltaBeginValue = deltaPerMilli * deltaBeginMillis; - this.beginValue = this.firstValue - deltaBeginValue; - - final long deltaEndMillis = Duration.between(this.id.aligned, this.firstDate).toMillis(); - final double deltaEndValue = deltaPerMilli * deltaEndMillis; - previous.endValue = previous.lastValue + deltaEndValue; - } } @Getter diff --git a/src/main/java/de/ph87/data/series/period/consumption/ConsumptionRepository.java b/src/main/java/de/ph87/data/series/period/consumption/ConsumptionRepository.java index 45313b2..02168d9 100644 --- a/src/main/java/de/ph87/data/series/period/consumption/ConsumptionRepository.java +++ b/src/main/java/de/ph87/data/series/period/consumption/ConsumptionRepository.java @@ -14,8 +14,6 @@ public interface ConsumptionRepository extends CrudRepository findByIdPeriodAndIdUnitAndIdAligned(@NonNull Period period, @NonNull Unit unit, @NonNull ZonedDateTime aligned); - Optional findFirstByIdPeriodAndIdUnitAndIdAlignedBeforeOrderByIdAlignedDesc(@NonNull Period period, @NonNull Unit unit, @NonNull ZonedDateTime aligned); - Optional findFirstByIdPeriodAndIdUnitAndIdAlignedLessThanOrderByIdAlignedDesc(@NonNull Period period, @NonNull Unit unit, @NonNull ZonedDateTime begin); Optional findFirstByIdPeriodAndIdUnitAndIdAlignedGreaterThanOrderByIdAlignedAsc(@NonNull Period period, @NonNull Unit unit, @NonNull ZonedDateTime begin); diff --git a/src/main/java/de/ph87/data/series/period/consumption/ConsumptionService.java b/src/main/java/de/ph87/data/series/period/consumption/ConsumptionService.java index 281429a..b65da1c 100644 --- a/src/main/java/de/ph87/data/series/period/consumption/ConsumptionService.java +++ b/src/main/java/de/ph87/data/series/period/consumption/ConsumptionService.java @@ -30,9 +30,8 @@ public class ConsumptionService { existing.setLastValue(event.getValue()); log.debug("Existing Consumption updated: {}", existing); } else { - final Consumption previous = consumptionRepository.findFirstByIdPeriodAndIdUnitAndIdAlignedBeforeOrderByIdAlignedDesc(period, unit, aligned).orElse(null); - final Consumption created = consumptionRepository.save(new Consumption(period, unit, aligned, event.getDate(), event.getValue(), previous)); - log.debug("New Consumption created: created={}, previous={}", created, previous); + final Consumption created = consumptionRepository.save(new Consumption(period, unit, aligned, event.getDate(), event.getValue())); + log.debug("New Consumption created: created={}", created); } } }