feat: add energy monitoring repositories
This commit is contained in:
parent
1f4aa569e3
commit
8efd8b083d
|
|
@ -0,0 +1,28 @@
|
|||
package com.ether.pms.mdm.repository;
|
||||
|
||||
import com.ether.pms.mdm.entity.EnergyConsumption;
|
||||
import com.ether.pms.mdm.entity.EnergyMeter;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
@Repository
|
||||
public interface EnergyConsumptionRepository extends JpaRepository<EnergyConsumption, UUID> {
|
||||
List<EnergyConsumption> findByMeterIdOrderByConsumptionDateDesc(UUID meterId);
|
||||
|
||||
List<EnergyConsumption> findByMeterIdAndConsumptionDateBetween(UUID meterId, LocalDate startDate, LocalDate endDate);
|
||||
|
||||
@Query("SELECT SUM(e.consumption) FROM EnergyConsumption e WHERE e.meterId = :meterId AND e.consumptionDate BETWEEN :startDate AND :endDate")
|
||||
BigDecimal sumConsumptionByMeterIdAndDateRange(@Param("meterId") UUID meterId, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
|
||||
|
||||
@Query("SELECT SUM(e.consumption) FROM EnergyConsumption e WHERE e.projectId = :projectId AND e.energyType = :energyType AND e.consumptionDate BETWEEN :startDate AND :endDate")
|
||||
BigDecimal sumConsumptionByProjectAndTypeAndDateRange(@Param("projectId") UUID projectId, @Param("energyType") EnergyMeter.EnergyType energyType, @Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
|
||||
|
||||
Optional<EnergyConsumption> findTopByMeterIdOrderByConsumptionDateDesc(UUID meterId);
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package com.ether.pms.mdm.repository;
|
||||
|
||||
import com.ether.pms.mdm.entity.EnergyMeter;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
@Repository
|
||||
public interface EnergyMeterRepository extends JpaRepository<EnergyMeter, UUID> {
|
||||
List<EnergyMeter> findByProjectIdAndStatus(UUID projectId, EnergyMeter.Status status);
|
||||
List<EnergyMeter> findByProjectIdAndEnergyType(UUID projectId, EnergyMeter.EnergyType energyType);
|
||||
Optional<EnergyMeter> findByMeterCode(String meterCode);
|
||||
boolean existsByMeterCode(String meterCode);
|
||||
}
|
||||
Loading…
Reference in New Issue