20250905-奉贤充放电取值修改
This commit is contained in:
@ -99,6 +99,7 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
|||||||
} else if (deviceId.contains("PCS")) {
|
} else if (deviceId.contains("PCS")) {
|
||||||
pcsDataProcess(deviceId, jsonData);
|
pcsDataProcess(deviceId, jsonData);
|
||||||
pcsBranchDataProcess(deviceId, jsonData);
|
pcsBranchDataProcess(deviceId, jsonData);
|
||||||
|
dealFXXDailyChargeDate(deviceId, jsonData);
|
||||||
} else if (deviceId.contains("LOAD")) {
|
} else if (deviceId.contains("LOAD")) {
|
||||||
loadDataProcess(deviceId, jsonData);
|
loadDataProcess(deviceId, jsonData);
|
||||||
} else if (deviceId.contains("METE")) {
|
} else if (deviceId.contains("METE")) {
|
||||||
@ -596,50 +597,27 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
|
|||||||
emsAmmeterDataMapper.insertEmsAmmeterData(dataLoad);
|
emsAmmeterDataMapper.insertEmsAmmeterData(dataLoad);
|
||||||
|
|
||||||
redisCache.setCacheObject(RedisKeyConstants.AMMETER + SITE_ID + "_" +deviceId, 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");
|
log.info("start dealFXXDailyChargeDate");
|
||||||
// 初始化今日充放电
|
//日充放电数据
|
||||||
BigDecimal dailyChargeDate = new BigDecimal(0);
|
Map<String, Object> obj = JSON.parseObject(dataJson, new TypeReference<Map<String, Object>>() {
|
||||||
BigDecimal dailyDisChargeDate = new BigDecimal(0);
|
});
|
||||||
|
|
||||||
BigDecimal nowTotalDisChargeDate = StringUtils.getBigDecimal(obj.get("DQFXYGZDN"));
|
|
||||||
BigDecimal nowTotalChargeDate = StringUtils.getBigDecimal(obj.get("DQZXYGZDN"));
|
|
||||||
// 初始化当日数据
|
// 初始化当日数据
|
||||||
EmsDailyChargeData emsDailyChargeData = new EmsDailyChargeData();
|
EmsDailyChargeData emsDailyChargeData = new EmsDailyChargeData();
|
||||||
emsDailyChargeData.setSiteId(SITE_ID);
|
emsDailyChargeData.setSiteId(SITE_ID);
|
||||||
emsDailyChargeData.setDeviceId(deviceId);
|
emsDailyChargeData.setDeviceId(deviceId);
|
||||||
emsDailyChargeData.setDateTime(DateUtils.getNowDate());
|
emsDailyChargeData.setDateTime(DateUtils.getNowDate());
|
||||||
emsDailyChargeData.setTotalChargeData(nowTotalChargeDate);
|
emsDailyChargeData.setTotalChargeData(StringUtils.getBigDecimal(obj.get("ZCDL")));
|
||||||
emsDailyChargeData.setTotalDischargeData(nowTotalDisChargeDate);
|
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.setCreateBy("system");
|
||||||
emsDailyChargeData.setCreateTime(DateUtils.getNowDate());
|
emsDailyChargeData.setCreateTime(DateUtils.getNowDate());
|
||||||
emsDailyChargeData.setUpdateBy("system");
|
emsDailyChargeData.setUpdateBy("system");
|
||||||
emsDailyChargeData.setUpdateTime(DateUtils.getNowDate());
|
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);
|
emsDailyChargeDataMapper.insertOrUpdateData(emsDailyChargeData);
|
||||||
log.info("end dealFXXDailyChargeDate");
|
log.info("end dealFXXDailyChargeDate");
|
||||||
|
|||||||
@ -156,12 +156,13 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getSingleSiteChargeData" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
<select id="getSingleSiteChargeData" resultType="com.xzzn.ems.domain.vo.SiteMonitorDataVo">
|
||||||
SELECT t.charge_data AS chargedCap,
|
SELECT SUM(t.charge_data) AS chargedCap,
|
||||||
t.discharge_data AS disChargedCap,
|
SUM(t.discharge_data) AS disChargedCap,
|
||||||
t.date_time AS ammeterDate
|
t.date_time AS ammeterDate
|
||||||
FROM ems_daily_charge_data t
|
FROM ems_daily_charge_data t
|
||||||
WHERE t.site_id = #{siteId}
|
WHERE t.site_id = #{siteId}
|
||||||
AND t.date_time BETWEEN #{startDate} AND #{endDate}
|
AND t.date_time BETWEEN #{startDate} AND #{endDate}
|
||||||
|
group by ammeterDate
|
||||||
order by ammeterDate
|
order by ammeterDate
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user