问题优化

This commit is contained in:
2025-07-10 12:42:04 +08:00
parent 406cc59b25
commit d37fb949e1
3 changed files with 17 additions and 17 deletions

View File

@ -36,6 +36,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
@Autowired
private EmsDevicesSettingMapper emsDevicesSettingMapper;
// 电量指标
@Override
public ElectricDataInfoVo getElectricDataResult(DateSearchRequest requestVo) {
ElectricDataInfoVo electricDataInfoVo = new ElectricDataInfoVo();
@ -94,6 +95,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
return electricDataInfoVo;
}
// pcs曲线数据
@Override
public List<PcsStatisListVo> getPCSDataResult(DateSearchRequest requestVo) {
List<PcsStatisListVo> dataList = new ArrayList();
@ -123,6 +125,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
return dataList;
}
// 电池堆曲线
@Override
public List<StackStatisListVo> getStackDataResult(DateSearchRequest requestVo) {
List<StackStatisListVo> dataList = new ArrayList();
@ -151,6 +154,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
return dataList;
}
// 电池温度
@Override
public List<ClusterStatisListVo> getClusterDataResult(StatisClusterDateRequest requestVo) {
List<ClusterStatisListVo> dataList = new ArrayList();
@ -170,6 +174,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
return emsDevicesSettingMapper.getLoadNameList(siteId);
}
// 电表报表
@Override
public List<AmmeterStatisListVo> getAmmeterDataResult(StatisAmmeterDateRequest requestVo){
List<AmmeterStatisListVo> dataList = new ArrayList();
@ -230,6 +235,7 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
totalVo.setReActiveValleyKwh(totalVo.getReActiveValleyKwh().add(ammeterStatisListVo.getReActiveValleyKwh()));
}
// 功率曲线
@Override
public List<PowerStatisListVo> getPowerDataList(DateSearchRequest requestVo) {
List<PowerStatisListVo> dataList = new ArrayList<>();

View File

@ -99,7 +99,7 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
int todayMonth = calendar.get(Calendar.MONTH) + 1;
int todayDay = calendar.get(Calendar.DAY_OF_MONTH);
if (StringUtils.isNotEmpty(pcsDate)){
String[] pcsDateArray = pcsDate.split("/");
String[] pcsDateArray = pcsDate.split("-");
if (todayMonth == Integer.parseInt(pcsDateArray[0]) &&
todayDay == Integer.parseInt(pcsDateArray[1])) {
flag = true;

View File

@ -295,21 +295,19 @@
</delete>
<select id="getPcsDataBySiteId" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
select CONCAT(t.date_month,'/',t.date_day) as ammeterDate,
select latest.dateDay as ammeterDate,
sum(t.daily_ac_charge_energy) as chargedCap,
sum(t.daily_ac_discharge_energy) as disChargedCap
from (
SELECT p.site_id, p.device_id,p.date_month,p.date_day, MAX(p.data_update_time) AS max_update_time
SELECT p.site_id, p.device_id,DATE_FORMAT(p.data_update_time, '%m-%d') as dateDay, MAX(p.data_update_time) AS max_update_time
FROM ems_pcs_data p
where p.site_id = #{siteId} and p.create_time >= CURDATE() - INTERVAL #{limitTime} DAY
GROUP BY p.site_id,p.device_id,p.date_month,p.date_day
GROUP BY p.site_id,p.device_id,dateDay
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
AND latest.device_id = t.device_id
AND latest.max_update_time = t.data_update_time
and latest.date_month = t.date_month
and latest.date_day = t.date_day
group by ammeterDate
order by ammeterDate desc;
order by ammeterDate desc
</select>
<select id="getPcsTotalChargeData" resultType="map">
@ -400,18 +398,16 @@
</sql>
<select id="getPcsDataByDay" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
select DATE(latest.max_update_time) as ammeterDate,
select latest.dateDay as ammeterDate,
sum(t.total_ac_charge_energy) as chargedCap,
sum(t.total_ac_discharge_energy) as disChargedCap
from ( SELECT p.site_id, p.device_id,p.date_month,p.date_day, MAX(p.data_update_time) AS max_update_time
from ( SELECT p.site_id, p.device_id,DATE(p.data_update_time) as dateDay, MAX(p.data_update_time) AS max_update_time
FROM ems_pcs_data p
<include refid="commonFilter"/>
GROUP BY p.site_id,p.device_id,p.date_month,p.date_day
GROUP BY p.site_id,p.device_id,dateDay
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
AND latest.device_id = t.device_id
AND latest.max_update_time = t.data_update_time
and latest.date_month = t.date_month
and latest.date_day = t.date_day
group by ammeterDate
order by ammeterDate desc
</select>
@ -494,17 +490,15 @@
<select id="getPcsActivePowerByDay" parameterType="com.xzzn.ems.domain.vo.DateSearchRequest" resultType="com.xzzn.ems.domain.vo.PcsStatisListVo">
select DATE(latest.max_update_time) as statisDate,
select latest.dateDay as statisDate,
<include refid="dataTypeChooseFilter"/>
from ( SELECT p.site_id, p.device_id,p.date_month, p.date_day,MAX(p.data_update_time) as max_update_time
from ( SELECT p.site_id, p.device_id,DATE(p.data_update_time ) AS dateDay,MAX(p.data_update_time) as max_update_time
FROM ems_pcs_data p
<include refid="statisCommonFilter"/>
GROUP BY p.site_id,p.device_id,p.date_month,p.date_day
GROUP BY p.site_id,p.device_id,dateDay
) latest inner join ems_pcs_data t ON latest.site_id = t.site_id
AND latest.device_id = t.device_id
AND latest.max_update_time = t.data_update_time
and latest.date_month = t.date_month
and latest.date_day = t.date_day
order by statisDate desc
</select>