diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java index e988941..550a488 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java @@ -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 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 obj = JSON.parseObject(dataJson, new TypeReference>() { + }); - 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"); diff --git a/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml b/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml index 547a525..cf98727 100644 --- a/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml +++ b/ems-system/src/main/resources/mapper/ems/EmsDailyChageDataMapper.xml @@ -156,12 +156,13 @@