diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java b/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java index e0d8c10..a79b768 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/service/gis/impl/GisDeviceServiceImpl.java @@ -10,6 +10,7 @@ import com.fastbee.common.core.page.TableDataInfo; import com.fastbee.common.model.vo.TreeItemVo; import com.fastbee.common.model.vo.iot.GisDeviceListVo; import com.fastbee.common.utils.DateUtils; +import com.fastbee.common.utils.DevParamsUtils; import com.fastbee.common.utils.SecurityUtils; import com.fastbee.common.utils.StringUtils; import com.fastbee.data.service.gis.IGisDeviceService; @@ -411,16 +412,41 @@ public class GisDeviceServiceImpl implements IGisDeviceService { } maWatereleRecords.sort(Comparator.comparing(MaWatereleRecord::getCreateTime)); ArrayList sumFlow = new ArrayList<>(); + ArrayList sumFlowTime = new ArrayList<>(); ArrayList sumEle = new ArrayList<>(); ArrayList time = new ArrayList<>(); for (MaWatereleRecord record : maWatereleRecords) { time.add(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, record.getCreateTime())); - sumFlow.add(record.getSumflow()); +// sumFlow.add(record.getSumflow()); sumEle.add(record.getSumele()); } + DateTime dateTime = DateUtil.date(new Date()); + Map devParams = DevParamsUtils.getDevParams(device.getDevParams()); + if(devParams.containsKey("liuliangIds")){ + Device liuliangDevice = iDeviceService.selectDeviceByDeviceId(Long.parseLong(devParams.get("liuliangIds").toString())); + if(liuliangDevice != null){ + List deviceLogs = logService.selectDeviceLogList(new DeviceLog() {{ + setSerialNumber(liuliangDevice.getSerialNumber()); + setBeginTime(DateUtil.beginOfDay(DateUtil.offsetDay(dateTime, -1)).toString()); + setEndTime(DateUtil.endOfDay(dateTime).toString()); + }}); + Map> liuliangCollect = deviceLogs.stream().sorted(Comparator + .comparing(DeviceLog::getCreateTime, Comparator + .nullsFirst(Comparator.naturalOrder()))).collect(Collectors.groupingBy(t -> t.getIdentity())); + List deviceLogList = liuliangCollect.get("三菱FX2N_1_sumFlow"); + if(deviceLogList != null && deviceLogList.size() > 0){ + for (DeviceLog deviceLog : deviceLogList) { + sumFlow.add(deviceLog.getLogValue()); + sumFlowTime.add(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,deviceLog.getCreateTime())); + } + } + } + } + Map rMap = new HashMap<>(); rMap.put("time", time); rMap.put("sumFlow", sumFlow); + rMap.put("sumFlowTime", sumFlowTime); rMap.put("sumEle", sumEle); return rMap; }