diff --git a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java index 079ad52..37aa463 100644 --- a/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java +++ b/ems-admin/src/main/java/com/xzzn/web/controller/ems/EmsSiteMonitorController.java @@ -61,6 +61,15 @@ public class EmsSiteMonitorController extends BaseController{ return success(iSingleSiteService.getSiteMonitorTotalDataVo(siteId)); } + /** + * 获取单站首页总累计运行数据(首页专用) + */ + @GetMapping("/homeRunningData") + public AjaxResult getSingleSiteHomeRunningData(@RequestParam String siteId) + { + return success(iSingleSiteService.getSiteMonitorHomeRunningData(siteId)); + } + /** * 单站监控-设备监控-实时运行头部数据 */ diff --git a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyChargeDataMapper.java b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyChargeDataMapper.java index 44372b2..9c99eac 100644 --- a/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyChargeDataMapper.java +++ b/ems-system/src/main/java/com/xzzn/ems/mapper/EmsDailyChargeDataMapper.java @@ -73,6 +73,9 @@ public interface EmsDailyChargeDataMapper public EmsDailyChargeData selectBySiteIdAndDateTime(@Param("siteId") String siteId, @Param("dateTime") Date dateTime); + // 查询站点最新一条每日充放电数据 + public EmsDailyChargeData selectLatestBySiteId(@Param("siteId") String siteId); + // 按站点+日期(天)更新收入字段 public int updateRevenueBySiteAndDate(@Param("siteId") String siteId, @Param("dateTime") Date dateTime, diff --git a/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java b/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java index 1ea2971..efe5e61 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/ISingleSiteService.java @@ -15,6 +15,8 @@ public interface ISingleSiteService public SiteMonitorHomeVo getSiteMonitorTotalDataVo(String siteId); + public SiteMonitorHomeVo getSiteMonitorHomeRunningData(String siteId); + public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId); diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java index 321a61f..0fa5b39 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/SingleSiteServiceImpl.java @@ -271,6 +271,63 @@ public class SingleSiteServiceImpl implements ISingleSiteService { return siteMonitorHomeVo; } + @Override + public SiteMonitorHomeVo getSiteMonitorHomeRunningData(String siteId) { + SiteMonitorHomeVo siteMonitorHomeVo = new SiteMonitorHomeVo(); + if (StringUtils.isEmpty(siteId)) { + return siteMonitorHomeVo; + } + + EmsDailyChargeData latestChargeData = emsDailyChargeDataMapper.selectLatestBySiteId(siteId); + BigDecimal totalChargedCap = latestChargeData == null || latestChargeData.getTotalChargeData() == null + ? BigDecimal.ZERO + : latestChargeData.getTotalChargeData(); + BigDecimal totalDischargedCap = latestChargeData == null || latestChargeData.getTotalDischargeData() == null + ? BigDecimal.ZERO + : latestChargeData.getTotalDischargeData(); + siteMonitorHomeVo.setTotalChargedCap(totalChargedCap); + siteMonitorHomeVo.setTotalDischargedCap(totalDischargedCap); + + Date todayDate = DateUtils.toDate(LocalDate.now()); + Date yesterdayDate = DateUtils.toDate(LocalDate.now().minusDays(1)); + EmsDailyChargeData todayChargeData = emsDailyChargeDataMapper.selectBySiteIdAndDateTime(siteId, todayDate); + EmsDailyChargeData yesterdayChargeData = emsDailyChargeDataMapper.selectBySiteIdAndDateTime(siteId, yesterdayDate); + + siteMonitorHomeVo.setDayChargedCap(todayChargeData == null || todayChargeData.getChargeData() == null + ? BigDecimal.ZERO + : todayChargeData.getChargeData()); + siteMonitorHomeVo.setDayDisChargedCap(todayChargeData == null || todayChargeData.getDischargeData() == null + ? BigDecimal.ZERO + : todayChargeData.getDischargeData()); + siteMonitorHomeVo.setYesterdayChargedCap(yesterdayChargeData == null || yesterdayChargeData.getChargeData() == null + ? BigDecimal.ZERO + : yesterdayChargeData.getChargeData()); + siteMonitorHomeVo.setYesterdayDisChargedCap(yesterdayChargeData == null || yesterdayChargeData.getDischargeData() == null + ? BigDecimal.ZERO + : yesterdayChargeData.getDischargeData()); + + siteMonitorHomeVo.setTotalRevenue(latestChargeData == null || latestChargeData.getTotalRevenue() == null + ? BigDecimal.ZERO + : latestChargeData.getTotalRevenue()); + siteMonitorHomeVo.setDayRevenue(todayChargeData == null || todayChargeData.getDayRevenue() == null + ? BigDecimal.ZERO + : todayChargeData.getDayRevenue()); + siteMonitorHomeVo.setYesterdayRevenue(yesterdayChargeData == null || yesterdayChargeData.getDayRevenue() == null + ? BigDecimal.ZERO + : yesterdayChargeData.getDayRevenue()); + + List alarmList = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId); + siteMonitorHomeVo.setSiteMonitorHomeAlarmVo(alarmList); + + LocalDate sevenDaysAgo = LocalDate.now().minusDays(6); + Date startDate = DateUtils.toDate(sevenDaysAgo); + Date endDate = new Date(); + List siteMonitorDataVoList = emsDailyChargeDataMapper.getSingleSiteChargeData(siteId, startDate, endDate); + siteMonitorHomeVo.setSiteMonitorDataVo(siteMonitorDataVoList); + siteMonitorHomeVo.setEnergyStorageAvailElec(totalDischargedCap.subtract(totalChargedCap)); + return siteMonitorHomeVo; + } + // 获取单站监控实时运行头部数据 @Override public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId) { diff --git a/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml index da078cd..6c8c51e 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml @@ -53,6 +53,13 @@ limit 1 + + insert into ems_daily_charge_data