1.首页总累计运行数据修改数据来源为电表报表

This commit is contained in:
xiaoyang
2026-04-21 16:32:28 +08:00
parent 2b3be8636f
commit 1fee8e920a
5 changed files with 78 additions and 0 deletions

View File

@ -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));
}
/**
* 单站监控-设备监控-实时运行头部数据
*/

View File

@ -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,

View File

@ -15,6 +15,8 @@ public interface ISingleSiteService
public SiteMonitorHomeVo getSiteMonitorTotalDataVo(String siteId);
public SiteMonitorHomeVo getSiteMonitorHomeRunningData(String siteId);
public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId);

View File

@ -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<SiteMonitorHomeAlarmVo> alarmList = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId);
siteMonitorHomeVo.setSiteMonitorHomeAlarmVo(alarmList);
LocalDate sevenDaysAgo = LocalDate.now().minusDays(6);
Date startDate = DateUtils.toDate(sevenDaysAgo);
Date endDate = new Date();
List<SiteMonitorDataVo> siteMonitorDataVoList = emsDailyChargeDataMapper.getSingleSiteChargeData(siteId, startDate, endDate);
siteMonitorHomeVo.setSiteMonitorDataVo(siteMonitorDataVoList);
siteMonitorHomeVo.setEnergyStorageAvailElec(totalDischargedCap.subtract(totalChargedCap));
return siteMonitorHomeVo;
}
// 获取单站监控实时运行头部数据
@Override
public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId) {

View File

@ -53,6 +53,13 @@
limit 1
</select>
<select id="selectLatestBySiteId" resultMap="EmsDailyChargeDataResult">
<include refid="selectEmsDailyChargeDataVo"/>
where site_id = #{siteId}
order by date_time desc, id desc
limit 1
</select>
<insert id="insertEmsDailyChargeData" parameterType="EmsDailyChargeData" useGeneratedKeys="true" keyProperty="id">
insert into ems_daily_charge_data
<trim prefix="(" suffix=")" suffixOverrides=",">