From 71069adb85f739fa44dfa09a87395e2110facc7c Mon Sep 17 00:00:00 2001 From: wyw <373811525@qq.com> Date: Tue, 13 Aug 2024 19:37:22 +0800 Subject: [PATCH] =?UTF-8?q?/gis/device/getDeviceLogCurves=E7=94=B5?= =?UTF-8?q?=E9=87=8F=E5=92=8C=E6=B0=B4=E9=87=8F=E6=8A=98=E7=BA=BF=E5=9B=BE?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gis/impl/GisDeviceServiceImpl.java | 38 ++++++++++++------- .../resources/mapper/iot/ProductMapper.xml | 1 + .../waterele/MaWatereleRecordMapper.xml | 1 + 3 files changed, 26 insertions(+), 14 deletions(-) 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 6ca07e6..f374aa5 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 @@ -18,6 +18,8 @@ import com.fastbee.iot.domain.ThingsModel; import com.fastbee.iot.mapper.DeviceMapper; import com.fastbee.iot.mapper.ProductMapper; import com.fastbee.iot.service.*; +import com.fastbee.waterele.domain.MaWatereleRecord; +import com.fastbee.waterele.service.IMaWatereleRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; @@ -47,6 +49,9 @@ public class GisDeviceServiceImpl implements IGisDeviceService { @Autowired private IThingsModelService thingsModelService; + @Autowired + private IMaWatereleRecordService watereleRecordService; + public GisDeviceServiceImpl(@Qualifier("deviceMapper") DeviceMapper deviceMapper, @Qualifier("productMapper") ProductMapper productMapper) { this.deviceMapper = deviceMapper; this.productMapper = productMapper; @@ -220,21 +225,26 @@ public class GisDeviceServiceImpl implements IGisDeviceService { if (device == null) { throw new RuntimeException("未查到该设备"); } -// List alertList = getAlertListForDevice(deviceId, device.getProductId()); -// List waterLevelAlert = new ArrayList<>(); -// List rainfallAlert = new ArrayList<>(); -// -// if (!alertList.isEmpty()) { -// alertList.forEach(alert -> parseAlert(alert, waterLevelAlert, rainfallAlert)); -// } - Map sumFlow = getDataList(device, "dataSumFlow"); - Map insFlow = getDataList(device, "dataInsFlow"); + //获取累计水量和累计电量的前20条数据记录 + MaWatereleRecord watereleRecord = new MaWatereleRecord(); + watereleRecord.setDevSn(device.getSerialNumber()); + List maWatereleRecords = watereleRecordService.selectMaWatereleRecordList(watereleRecord); + if(maWatereleRecords.size() > 20){ + maWatereleRecords = maWatereleRecords.subList(0, 20); + } + maWatereleRecords.sort(Comparator.comparing(MaWatereleRecord::getCreateTime)); + ArrayList sumFlow = 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()); + sumEle.add(record.getSumele()); + } Map rMap = new HashMap<>(); - rMap.put("time", insFlow.get("time")); - rMap.put("sumFlow", sumFlow.get("data")); - rMap.put("insFlow", insFlow.get("data")); -// rMap.put("sumFlowAlert", waterLevelAlert); -// rMap.put("insFlowAlert", rainfallAlert); + rMap.put("time", time); + rMap.put("sumFlow", sumFlow); + rMap.put("sumEle", sumEle); return rMap; } diff --git a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ProductMapper.xml b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ProductMapper.xml index 6efbe6a..6b64299 100644 --- a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ProductMapper.xml +++ b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ProductMapper.xml @@ -70,6 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and p.tenant_id = #{tenantId} + and p.product_id = #{productId} and p.product_name like concat('%', #{productName}, '%') and p.category_name like concat('%', #{categoryName}, '%') and p.status = #{status} diff --git a/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaWatereleRecordMapper.xml b/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaWatereleRecordMapper.xml index 06f3aab..02ecc2d 100644 --- a/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaWatereleRecordMapper.xml +++ b/fastbee-service/fastbee-waterele-service/src/main/resources/mapper/waterele/MaWatereleRecordMapper.xml @@ -52,6 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and areaCode = #{areacode} and action = #{action} + order by create_time desc