20250905-奉贤充放电取值修改

This commit is contained in:
2025-09-07 21:23:24 +08:00
parent 2344cc458c
commit ab6771d33d
2 changed files with 13 additions and 34 deletions

View File

@ -99,6 +99,7 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
} else if (deviceId.contains("PCS")) {
pcsDataProcess(deviceId, jsonData);
pcsBranchDataProcess(deviceId, jsonData);
dealFXXDailyChargeDate(deviceId, jsonData);
} else if (deviceId.contains("LOAD")) {
loadDataProcess(deviceId, jsonData);
} else if (deviceId.contains("METE")) {
@ -596,50 +597,27 @@ 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) {
private void dealFXXDailyChargeDate(String deviceId, String dataJson) {
log.info("start dealFXXDailyChargeDate");
// 初始化今日充放电
BigDecimal dailyChargeDate = new BigDecimal(0);
BigDecimal dailyDisChargeDate = new BigDecimal(0);
//日充放电数据
Map<String, Object> obj = JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() {
});
BigDecimal nowTotalDisChargeDate = StringUtils.getBigDecimal(obj.get("DQFXYGZDN"));
BigDecimal nowTotalChargeDate = StringUtils.getBigDecimal(obj.get("DQZXYGZDN"));
// 初始化当日数据
EmsDailyChargeData emsDailyChargeData = new EmsDailyChargeData();
emsDailyChargeData.setSiteId(SITE_ID);
emsDailyChargeData.setDeviceId(deviceId);
emsDailyChargeData.setDateTime(DateUtils.getNowDate());
emsDailyChargeData.setTotalChargeData(nowTotalChargeDate);
emsDailyChargeData.setTotalDischargeData(nowTotalDisChargeDate);
emsDailyChargeData.setTotalChargeData(StringUtils.getBigDecimal(obj.get("ZCDL")));
emsDailyChargeData.setTotalDischargeData(StringUtils.getBigDecimal(obj.get("ZFDL")));
emsDailyChargeData.setChargeData(StringUtils.getBigDecimal(obj.get("RCDL")));
emsDailyChargeData.setDischargeData(StringUtils.getBigDecimal(obj.get("RFDL")));
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);
// 数据redis-有效期1天
redisCache.setCacheObject(yestDateRedisKey, yestDate , Constants.DATE_VALID_TIME, TimeUnit.DAYS);
}
if (yestDate != null) {
// 今日总数据-昨日总数据=今日充放电
BigDecimal yestTotalDisChargeDate = yestDate.getCurrentReverseActiveTotal();
BigDecimal yestTotalChargeDate = yestDate.getCurrentForwardActiveTotal();
dailyChargeDate = nowTotalChargeDate.subtract(yestTotalChargeDate);
dailyDisChargeDate = nowTotalDisChargeDate.subtract(yestTotalDisChargeDate);
emsDailyChargeData.setChargeData(dailyChargeDate);
emsDailyChargeData.setDischargeData(dailyDisChargeDate);
}
// 插入或更新每日充放电数据表
emsDailyChargeDataMapper.insertOrUpdateData(emsDailyChargeData);
log.info("end dealFXXDailyChargeDate");

View File

@ -156,12 +156,13 @@
</select>
<select id="getSingleSiteChargeData" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
SELECT t.charge_data AS chargedCap,
t.discharge_data AS disChargedCap,
t.date_time AS ammeterDate
SELECT SUM(t.charge_data) AS chargedCap,
SUM(t.discharge_data) AS disChargedCap,
t.date_time AS ammeterDate
FROM ems_daily_charge_data t
WHERE t.site_id = #{siteId}
AND t.date_time BETWEEN #{startDate} AND #{endDate}
group by ammeterDate
order by ammeterDate
</select>