20250905-奉贤充放电取值修改
This commit is contained in:
@ -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");
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user