20250808优化-充放电逻辑修改
This commit is contained in:
@ -4,6 +4,7 @@ import java.util.List;
|
||||
import com.xzzn.ems.domain.EmsAmmeterData;
|
||||
import com.xzzn.ems.domain.vo.AmmeterStatisListVo;
|
||||
import com.xzzn.ems.domain.vo.StatisAmmeterDateRequest;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 总数据Mapper接口
|
||||
@ -67,4 +68,7 @@ public interface EmsAmmeterDataMapper
|
||||
* @return
|
||||
*/
|
||||
public List<AmmeterStatisListVo> getLoadDataByHour(StatisAmmeterDateRequest requestVo);
|
||||
|
||||
// 获取昨天最晚数据
|
||||
public EmsAmmeterData getYestLatestDate(@Param("siteId")String siteId, @Param("deviceId")String deviceId, @Param("yestData")String yestData);
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ import com.alibaba.fastjson2.TypeReference;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.xzzn.common.constant.Constants;
|
||||
import com.xzzn.common.constant.RedisKeyConstants;
|
||||
import com.xzzn.common.core.redis.RedisCache;
|
||||
import com.xzzn.common.enums.*;
|
||||
@ -27,6 +28,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -70,6 +72,8 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
private EmsBatteryGroupMapper emsBatteryGroupMapper;
|
||||
@Autowired
|
||||
private EmsBatteryDataMinutesMapper emsBatteryDataMinutesMapper;
|
||||
@Autowired
|
||||
private EmsDailyChargeDataMapper emsDailyChargeDataMapper;
|
||||
|
||||
public DDSDataProcessServiceImpl(ObjectMapper objectMapper) {
|
||||
super(objectMapper);
|
||||
@ -894,7 +898,57 @@ public class DDSDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
emsAmmeterDataMapper.insertEmsAmmeterData(dataMete);
|
||||
|
||||
redisCache.setCacheObject(RedisKeyConstants.AMMETER + SITE_ID + "_" +deviceId, dataMete);
|
||||
|
||||
// 处理每日充放电数据
|
||||
dealDDSDailyChargeDate(obj,deviceId);
|
||||
}
|
||||
|
||||
private void dealDDSDailyChargeDate(Map<String, Object> obj, String deviceId) {
|
||||
log.info("start dealDDSDailyChargeDate");
|
||||
// 初始化今日充放电
|
||||
BigDecimal dailyDisChargeDate = new BigDecimal(0);
|
||||
BigDecimal dailyChargeDate = new BigDecimal(0);
|
||||
|
||||
BigDecimal nowTotalDisChargeDate = StringUtils.getBigDecimal(obj.get("DQZXZYGDN"));
|
||||
BigDecimal nowTotalChargeDate = StringUtils.getBigDecimal(obj.get("DQFXZYGDN"));
|
||||
// 初始化当日数据
|
||||
EmsDailyChargeData emsDailyChargeData = new EmsDailyChargeData();
|
||||
emsDailyChargeData.setSiteId(SITE_ID);
|
||||
emsDailyChargeData.setDeviceId(deviceId);
|
||||
emsDailyChargeData.setDateTime(DateUtils.getNowDate());
|
||||
emsDailyChargeData.setTotalChargeData(nowTotalChargeDate);
|
||||
emsDailyChargeData.setTotalDischargeData(nowTotalDisChargeDate);
|
||||
emsDailyChargeData.setCreateBy("system");
|
||||
emsDailyChargeData.setCreateTime(DateUtils.getNowDate());
|
||||
emsDailyChargeData.setUpdateBy("system");
|
||||
emsDailyChargeData.setUpdateTime(DateUtils.getNowDate());
|
||||
// 获取redis存放昨日最晚数据
|
||||
String yestData = DateUtils.getYesterdayDate();
|
||||
String yestDateRedisKey = RedisKeyConstants.AMMETER + SITE_ID + "_" + deviceId + "_" + yestData;
|
||||
EmsAmmeterData yestDate = redisCache.getCacheObject(yestDateRedisKey);
|
||||
if (yestDate == null) {
|
||||
// redis没有这查电表总数据表
|
||||
yestDate = emsAmmeterDataMapper.getYestLatestDate(SITE_ID,deviceId,yestData);
|
||||
}
|
||||
if (yestDate != null) {
|
||||
// 今日总数据-昨日总数据=今日充放电
|
||||
BigDecimal yestTotalDisChargeDate = yestDate.getCurrentForwardActiveTotal();
|
||||
BigDecimal yestTotalChargeDate = yestDate.getCurrentReverseActiveTotal();
|
||||
|
||||
dailyChargeDate = nowTotalChargeDate.subtract(yestTotalChargeDate);
|
||||
dailyDisChargeDate = nowTotalDisChargeDate.subtract(yestTotalDisChargeDate);
|
||||
emsDailyChargeData.setChargeData(dailyChargeDate);
|
||||
emsDailyChargeData.setDischargeData(dailyDisChargeDate);
|
||||
|
||||
// 最新数据存redis
|
||||
redisCache.setCacheObject(yestDateRedisKey, yestDate , Constants.DATE_VALID_TIME, TimeUnit.DAYS);
|
||||
}
|
||||
|
||||
// 插入或更新每日充放电数据表
|
||||
emsDailyChargeDataMapper.insertOrUpdateData(emsDailyChargeData);
|
||||
log.info("end dealDDSDailyChargeDate");
|
||||
}
|
||||
|
||||
// 数据分组处理
|
||||
private static Map<String, Map<String, Object>> processData(Map<String, Object> rawData) {
|
||||
Map<String, Map<String, Object>> records = new HashMap<>();
|
||||
|
||||
@ -41,6 +41,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
private EmsBatteryDailyLatestMapper emsBatteryDailyLatestMapper;
|
||||
@Autowired
|
||||
private EmsBatteryDataDayMapper emsBatteryDataDayMapper;
|
||||
@Autowired
|
||||
private EmsDailyChargeDataMapper emsDailyChargeDataMapper;
|
||||
|
||||
// 电量指标
|
||||
@Override
|
||||
@ -53,7 +55,8 @@ public class EmsStatsReportServiceImpl implements IEmsStatsReportService
|
||||
Date endDate = requestVo.getEndDate();
|
||||
|
||||
// 总充总放
|
||||
Map<String, BigDecimal> totalMap = emsPcsDataMapper.getPcsTotalChargeData(requestVo.getSiteId());
|
||||
String nowData = DateUtils.getDate();
|
||||
Map<String, BigDecimal> totalMap = emsDailyChargeDataMapper.getAllSiteChargeData(nowData,requestVo.getSiteId());
|
||||
BigDecimal totalDischarge = totalMap.get("totalDischargedCap") != null ? totalMap.get("totalDischargedCap") : BigDecimal.ZERO;
|
||||
BigDecimal totalCharge = totalMap.get("totalChargedCap") != null ? totalMap.get("totalChargedCap") : BigDecimal.ZERO;
|
||||
BigDecimal efficiency = new BigDecimal(0);
|
||||
|
||||
@ -7,6 +7,7 @@ import com.alibaba.fastjson2.TypeReference;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.xzzn.common.constant.Constants;
|
||||
import com.xzzn.common.constant.RedisKeyConstants;
|
||||
import com.xzzn.common.core.redis.RedisCache;
|
||||
import com.xzzn.common.enums.*;
|
||||
@ -22,10 +23,12 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Service
|
||||
public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor implements IFXXDataProcessService {
|
||||
@ -59,6 +62,8 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
private EmsBatteryDailyLatestServiceImpl emsBatteryDailyLatestServiceImpl;
|
||||
@Autowired
|
||||
private EmsBatteryDataMinutesMapper emsBatteryDataMinutesMapper;
|
||||
@Autowired
|
||||
private EmsDailyChargeDataMapper emsDailyChargeDataMapper;
|
||||
|
||||
// 构造方法(调用父类构造)
|
||||
public FXXDataProcessServiceImpl(ObjectMapper objectMapper) {
|
||||
@ -81,7 +86,7 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
return;
|
||||
}
|
||||
|
||||
if (deviceId.contains("BMSD")) {
|
||||
/*if (deviceId.contains("BMSD")) {
|
||||
batteryStackDataProcess(deviceId, jsonData);
|
||||
|
||||
} else if (deviceId.contains("BMSC")) {
|
||||
@ -92,11 +97,11 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
} else if (deviceId.contains("PCS")) {
|
||||
pcsDataProcess(deviceId, jsonData);
|
||||
pcsBranchDataProcess(deviceId, jsonData);
|
||||
} else if (deviceId.contains("LOAD")) {
|
||||
} else*/ if (deviceId.contains("LOAD")) {
|
||||
loadDataProcess(deviceId, jsonData);
|
||||
} else if (deviceId.contains("METE")) {
|
||||
} /*else if (deviceId.contains("METE")) {
|
||||
meteDataProcess(deviceId, jsonData);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@ -560,6 +565,53 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
||||
emsAmmeterDataMapper.insertEmsAmmeterData(dataLoad);
|
||||
|
||||
redisCache.setCacheObject(RedisKeyConstants.AMMETER + SITE_ID + "_" +deviceId, dataLoad);
|
||||
|
||||
// 处理每日充放电数据
|
||||
dealFXXDailyChargeDate(obj,deviceId);
|
||||
}
|
||||
|
||||
private void dealFXXDailyChargeDate(Map<String, Object> obj, String deviceId) {
|
||||
log.info("start dealFXXDailyChargeDate");
|
||||
// 初始化今日充放电
|
||||
BigDecimal dailyChargeDate = new BigDecimal(0);
|
||||
BigDecimal dailyDisChargeDate = new BigDecimal(0);
|
||||
|
||||
BigDecimal nowTotalDisChargeDate = StringUtils.getBigDecimal(obj.get("DQZXYGZDN"));
|
||||
BigDecimal nowTotalChargeDate = StringUtils.getBigDecimal(obj.get("DQFXYGZDN"));
|
||||
// 初始化当日数据
|
||||
EmsDailyChargeData emsDailyChargeData = new EmsDailyChargeData();
|
||||
emsDailyChargeData.setSiteId(SITE_ID);
|
||||
emsDailyChargeData.setDeviceId(deviceId);
|
||||
emsDailyChargeData.setDateTime(DateUtils.getNowDate());
|
||||
emsDailyChargeData.setTotalChargeData(nowTotalChargeDate);
|
||||
emsDailyChargeData.setTotalDischargeData(nowTotalDisChargeDate);
|
||||
emsDailyChargeData.setCreateBy("system");
|
||||
emsDailyChargeData.setCreateTime(DateUtils.getNowDate());
|
||||
emsDailyChargeData.setUpdateBy("system");
|
||||
emsDailyChargeData.setUpdateTime(DateUtils.getNowDate());
|
||||
// 获取redis存放昨日最晚数据
|
||||
String yestData = DateUtils.getYesterdayDate();
|
||||
String yestDateRedisKey = RedisKeyConstants.AMMETER + SITE_ID + "_" + deviceId + "_" + yestData;
|
||||
EmsAmmeterData yestDate = redisCache.getCacheObject(yestDateRedisKey);
|
||||
if (yestDate == null) {
|
||||
// redis没有这查电表总数据表
|
||||
yestDate = emsAmmeterDataMapper.getYestLatestDate(SITE_ID,deviceId,yestData);
|
||||
}
|
||||
if (yestDate != null) {
|
||||
// 今日总数据-昨日总数据=今日充放电
|
||||
BigDecimal yestTotalDisChargeDate = yestDate.getCurrentForwardActiveTotal();
|
||||
BigDecimal yestTotalChargeDate = yestDate.getCurrentReverseActiveTotal();
|
||||
|
||||
dailyChargeDate = nowTotalChargeDate.subtract(yestTotalChargeDate);
|
||||
dailyDisChargeDate = nowTotalDisChargeDate.subtract(yestTotalDisChargeDate);
|
||||
emsDailyChargeData.setChargeData(dailyChargeDate);
|
||||
emsDailyChargeData.setDischargeData(dailyDisChargeDate);
|
||||
// 存下redis-有效期1天
|
||||
redisCache.setCacheObject(yestDateRedisKey, yestDate , Constants.DATE_VALID_TIME, TimeUnit.DAYS);
|
||||
}
|
||||
// 插入或更新每日充放电数据表
|
||||
emsDailyChargeDataMapper.insertOrUpdateData(emsDailyChargeData);
|
||||
log.info("end dealFXXDailyChargeDate");
|
||||
}
|
||||
|
||||
private void meteDataProcess(String deviceId, String dataJson) {
|
||||
|
||||
@ -5,6 +5,7 @@ import com.xzzn.common.utils.StringUtils;
|
||||
import com.xzzn.ems.domain.EmsSiteSetting;
|
||||
import com.xzzn.ems.domain.vo.*;
|
||||
import com.xzzn.ems.mapper.EmsAlarmRecordsMapper;
|
||||
import com.xzzn.ems.mapper.EmsDailyChargeDataMapper;
|
||||
import com.xzzn.ems.mapper.EmsPcsDataMapper;
|
||||
import com.xzzn.ems.mapper.EmsSiteSettingMapper;
|
||||
import com.xzzn.ems.service.IEmsSiteService;
|
||||
@ -34,16 +35,19 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
private EmsSiteSettingMapper emsSiteMapper;
|
||||
@Autowired
|
||||
private EmsAlarmRecordsMapper alarmRecordsMapper;
|
||||
@Autowired
|
||||
private EmsDailyChargeDataMapper emsDailyChargeDataMapper;
|
||||
|
||||
@Override
|
||||
public SiteTotalInfoVo getSiteTotalInfo() {
|
||||
SiteTotalInfoVo siteTotalInfoVo = new SiteTotalInfoVo();
|
||||
siteTotalInfoVo = emsSiteService.getSiteTotalInfo();
|
||||
// 获取总充+总放
|
||||
Map<String,BigDecimal> pcsMap = emsPcsDataMapper.getPcsTotalChargeData(null);
|
||||
if(pcsMap != null){
|
||||
siteTotalInfoVo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
siteTotalInfoVo.setTotalDischargedCap(pcsMap.get("totalDischargedCap"));
|
||||
String nowData = DateUtils.getDate();
|
||||
Map<String,BigDecimal> data = emsDailyChargeDataMapper.getAllSiteChargeData(nowData,null);
|
||||
if(data != null){
|
||||
siteTotalInfoVo.setTotalChargedCap(data.get("totalChargedCap"));
|
||||
siteTotalInfoVo.setTotalDischargedCap(data.get("totalDischargedCap"));
|
||||
}
|
||||
return siteTotalInfoVo;
|
||||
}
|
||||
@ -69,31 +73,32 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
singleSiteBaseInfo.setRunningTime(emsSite.getRunningTime() == null ? null :
|
||||
DateUtils.parseDateToStr("yyyy-MM-dd",emsSite.getRunningTime()));//投运时间
|
||||
// 获取单站点的总充+总放
|
||||
Map<String,BigDecimal> pcsMap = emsPcsDataMapper.getPcsTotalChargeData(siteId);
|
||||
if (pcsMap != null) {
|
||||
singleSiteBaseInfo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
singleSiteBaseInfo.setTotalDisChargedCap(pcsMap.get("totalDischargedCap"));
|
||||
String nowData = DateUtils.getDate();
|
||||
Map<String,BigDecimal> data = emsDailyChargeDataMapper.getAllSiteChargeData(nowData,siteId);
|
||||
if (data != null) {
|
||||
singleSiteBaseInfo.setTotalChargedCap(data.get("totalChargedCap"));
|
||||
singleSiteBaseInfo.setTotalDisChargedCap(data.get("totalDischargedCap"));
|
||||
}
|
||||
// 七天放电数据统计 默认从今天往前7天
|
||||
LocalDate sevenDaysAgo = LocalDate.now().minusDays(LIMIT_TIME);
|
||||
Date startDate = DateUtils.toDate(sevenDaysAgo);
|
||||
Date endDate = new Date();
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId,startDate,endDate);
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsDailyChargeDataMapper.getSingleSiteChargeData(siteId,startDate,endDate);
|
||||
singleSiteBaseInfo.setSevenDayDisChargeStats(siteMonitorDataVoList);
|
||||
// 充放电基本数据处理
|
||||
dealSitePCSDate(singleSiteBaseInfo,siteMonitorDataVoList);
|
||||
dealSiteChargeDate(singleSiteBaseInfo,siteMonitorDataVoList);
|
||||
}
|
||||
}
|
||||
|
||||
return singleSiteBaseInfo;
|
||||
}
|
||||
|
||||
private void dealSitePCSDate(SingleSiteBaseInfo singleSiteBaseInfo, List<SiteMonitorDataVo> siteMonitorDataVoList) {
|
||||
private void dealSiteChargeDate(SingleSiteBaseInfo singleSiteBaseInfo, List<SiteMonitorDataVo> siteMonitorDataVoList) {
|
||||
if (siteMonitorDataVoList != null && !siteMonitorDataVoList.isEmpty()) {
|
||||
for (SiteMonitorDataVo sitePcsData : siteMonitorDataVoList) {
|
||||
// 获取当天的充电量+放电量
|
||||
String pcsDate = sitePcsData.getAmmeterDate();
|
||||
boolean isToday= checkIsToday(pcsDate);
|
||||
String dayDate = sitePcsData.getAmmeterDate();
|
||||
boolean isToday= DateUtils.checkIsToday(dayDate);
|
||||
if(isToday){
|
||||
singleSiteBaseInfo.setDayChargedCap(sitePcsData.getChargedCap());
|
||||
singleSiteBaseInfo.setDayDisChargedCap(sitePcsData.getDisChargedCap());
|
||||
@ -102,21 +107,6 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkIsToday(String pcsDate) {
|
||||
boolean flag = false;
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int todayMonth = calendar.get(Calendar.MONTH) + 1;
|
||||
int todayDay = calendar.get(Calendar.DAY_OF_MONTH);
|
||||
if (StringUtils.isNotEmpty(pcsDate)){
|
||||
String[] pcsDateArray = pcsDate.split("-");
|
||||
if (todayMonth == Integer.parseInt(pcsDateArray[0]) &&
|
||||
todayDay == Integer.parseInt(pcsDateArray[1])) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 首页看板-数据概览
|
||||
*/
|
||||
@ -179,7 +169,7 @@ public class HomePageServiceImpl implements IHomePageService
|
||||
Date startDate = requestVo.getStartDate();
|
||||
Date endDate = requestVo.getEndDate();
|
||||
// 七天放电数据统计
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId,startDate,endDate);
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsDailyChargeDataMapper.getSingleSiteChargeData(siteId,startDate,endDate);
|
||||
return siteMonitorDataVoList;
|
||||
}
|
||||
|
||||
|
||||
@ -61,6 +61,8 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
private EmsStrategyRunningMapper emsStrategyRunningMapper;
|
||||
@Autowired
|
||||
private EmsStrategyTempMapper emsStrategyTempMapper;
|
||||
@Autowired
|
||||
private EmsDailyChargeDataMapper emsDailyChargeDataMapper;
|
||||
|
||||
@Override
|
||||
public SiteMonitorHomeVo getSiteMonitorDataVo(String siteId) {
|
||||
@ -68,11 +70,12 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
|
||||
if (!StringUtils.isEmpty(siteId)) {
|
||||
// 获取单站点的总充+总放+电网实时功率
|
||||
Map<String,BigDecimal> pcsMap = emsPcsDataMapper.getPcsTotalChargeData(siteId);
|
||||
if (pcsMap != null) {
|
||||
siteMonitorHomeVo.setTotalChargedCap(pcsMap.get("totalChargedCap"));
|
||||
siteMonitorHomeVo.setTotalDischargedCap(pcsMap.get("totalDischargedCap"));
|
||||
siteMonitorHomeVo.setGridNrtPower(pcsMap.get("gridNrtPower"));
|
||||
String nowData = DateUtils.getDate();
|
||||
Map<String,BigDecimal> dataMap = emsDailyChargeDataMapper.getAllSiteChargeData(nowData,siteId);
|
||||
if (dataMap != null) {
|
||||
siteMonitorHomeVo.setTotalChargedCap(dataMap.get("totalChargedCap"));
|
||||
siteMonitorHomeVo.setTotalDischargedCap(dataMap.get("totalDischargedCap"));
|
||||
siteMonitorHomeVo.setGridNrtPower(dataMap.get("gridNrtPower"));
|
||||
}
|
||||
// 实时告警数据 名称+状态+告警内容
|
||||
List<SiteMonitorHomeAlarmVo> siteMonitorHomeAlarmVo = emsAlarmRecordsMapper.getAlarmRecordsBySiteId(siteId);
|
||||
@ -91,12 +94,12 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
LocalDate sevenDaysAgo = LocalDate.now().minusDays(6);
|
||||
Date startDate = DateUtils.toDate(sevenDaysAgo);
|
||||
Date endDate = new Date();
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsPcsDataMapper.getPcsDataBySiteId(siteId,startDate,endDate);
|
||||
List<SiteMonitorDataVo> siteMonitorDataVoList = emsDailyChargeDataMapper.getSingleSiteChargeData(siteId,startDate,endDate);
|
||||
if (!CollectionUtils.isEmpty(siteMonitorDataVoList)) {
|
||||
for (SiteMonitorDataVo sitePcsData : siteMonitorDataVoList) {
|
||||
// 获取当天的充电量+放电量
|
||||
String pcsDate = sitePcsData.getAmmeterDate();
|
||||
boolean isToday= checkIsToday(pcsDate);
|
||||
boolean isToday= DateUtils.checkIsToday(pcsDate);
|
||||
if(isToday){
|
||||
siteMonitorHomeVo.setDayChargedCap(sitePcsData.getChargedCap());
|
||||
siteMonitorHomeVo.setDayDisChargedCap(sitePcsData.getDisChargedCap());
|
||||
@ -112,21 +115,6 @@ public class SingleSiteServiceImpl implements ISingleSiteService {
|
||||
return siteMonitorHomeVo;
|
||||
}
|
||||
|
||||
private boolean checkIsToday(String pcsDate) {
|
||||
boolean flag = false;
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
int todayMonth = calendar.get(Calendar.MONTH) + 1;
|
||||
int todayDay = calendar.get(Calendar.DAY_OF_MONTH);
|
||||
if (StringUtils.isNotEmpty(pcsDate)){
|
||||
String[] pcsDateArray = pcsDate.split("-");
|
||||
if (todayMonth == Integer.parseInt(pcsDateArray[0]) &&
|
||||
todayDay == Integer.parseInt(pcsDateArray[1])) {
|
||||
flag = true;
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
// 获取单站监控实时运行头部数据
|
||||
@Override
|
||||
public SiteMonitorRunningHeadInfoVo getSiteRunningHeadInfo(String siteId) {
|
||||
|
||||
@ -883,4 +883,12 @@
|
||||
and t.data_update_time = latest.max_update_time
|
||||
order by dataTime
|
||||
</select>
|
||||
|
||||
<select id="getYestLatestDate" resultMap="EmsAmmeterDataResult">
|
||||
<include refid="selectEmsAmmeterDataVo"/>
|
||||
where site_id = #{siteId}
|
||||
and device_id = #{deviceId}
|
||||
and DATE(data_update_time) = #{yestData}
|
||||
order by data_update_time desc limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
@ -343,7 +343,7 @@
|
||||
avg(t.avg_cell_temp) as batteryTemp,
|
||||
DATE_FORMAT(t.create_time, '%Y-%m-%d %H:%i:00') AS createDate
|
||||
from ems_battery_cluster t
|
||||
where t.site_id = '021_FXX_01'
|
||||
where t.site_id = #{siteId}
|
||||
AND t.create_time >= Date(#{startDate})
|
||||
AND t.create_time <= #{endDate}
|
||||
GROUP BY t.site_id,DATE_FORMAT(t.create_time, '%Y-%m-%d %H:%i:00')
|
||||
|
||||
Reference in New Issue
Block a user