소스 검색

修复 设备别名被覆盖
新增 统计新增snr、rssi、rsrq、rsrp字段

18339543638 2 년 전
부모
커밋
8624b36754

+ 8 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/vo/ClinicStatsVo.java

@@ -37,6 +37,14 @@ public class ClinicStatsVo {
     private boolean inValidCount;
     @ApiModelProperty("是否统计电量")
     private boolean electricQuantity;
+    @ApiModelProperty("是否统计信噪比")
+    private boolean snr;
+    @ApiModelProperty("是否统计信号强度")
+    private boolean rssi;
+    @ApiModelProperty("是否统计参考信号接收质量")
+    private boolean rsrq;
+    @ApiModelProperty("是否统计参考信号接收功率")
+    private boolean rsrp;
 
     @ApiModelProperty("参数修改id")
     private List<String> infusionModifyIds;

+ 13 - 2
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusDeviceService.java

@@ -3,9 +3,12 @@ package com.nb.web.service.bus.service;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
 import com.aliyuncs.iot.model.v20180120.QueryDeviceDetailResponse;
 import com.aliyuncs.iot.model.v20180120.QueryDeviceResponse;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -133,8 +136,16 @@ public class LocalBusDeviceService extends BaseService<BusDeviceMapper, BusDevic
      */
     @Override
     public boolean updateDevice(BusDeviceEntity device){
-        return this.update(device,new QueryWrapper<BusDeviceEntity>().lambda()
-                .eq(BusDeviceEntity::getDeviceId,device.getDeviceId()));
+        return this.update(device,new LambdaUpdateWrapper<BusDeviceEntity>()
+                .eq(BusDeviceEntity::getDeviceId,device.getDeviceId())
+                .set(StrUtil.isNotEmpty(device.getMqttConnInfo()),BusDeviceEntity::getMqttConnInfo,device.getMqttConnInfo())
+                .set(StrUtil.isNotEmpty(device.getAlias()),BusDeviceEntity::getAlias,device.getAlias())
+                .set(StrUtil.isNotEmpty(device.getInfusionId()),BusDeviceEntity::getInfusionId,device.getInfusionId())
+                .set(StrUtil.isNotEmpty(device.getSimIccid()),BusDeviceEntity::getSimIccid,device.getSimIccid())
+                .set(StrUtil.isNotEmpty(device.getSimMno()),BusDeviceEntity::getSimMno,device.getSimMno())
+                .set(ObjectUtil.isNotNull(device.getStatus()),BusDeviceEntity::getStatus,device.getStatus())
+                .set(ObjectUtil.isNotNull(device.getEnable()),BusDeviceEntity::getEnable,device.getEnable())
+                .set(ObjectUtil.isNotNull(device.getConfig()),BusDeviceEntity::getConfig, JSONUtil.toJsonStr(device.getConfig())));
     }
 
     /**

+ 8 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/dto/ClinicStatsQueryResult.java

@@ -31,6 +31,14 @@ public class ClinicStatsQueryResult implements Serializable {
     private Integer validCount;
     @ApiModelProperty(value = "有效次数",hidden = true)
     private Integer inValidCount;
+    @ApiModelProperty(value = "信噪比",hidden = true)
+    private Integer snr;
+    @ApiModelProperty(value = "信号强度",hidden = true)
+    private Integer rssi;
+    @ApiModelProperty(value = "参考信号接收质量",hidden = true)
+    private Integer rsrq;
+    @ApiModelProperty(value = "参考信号接收功率",hidden = true)
+    private Integer rsrp;
     @ApiModelProperty(value = "数据上传时间",hidden = true)
     private Date uploadTime;
     @ApiModelProperty(hidden = true)

+ 23 - 1
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/dto/ClinicStatsReturnResult.java

@@ -41,7 +41,14 @@ public class ClinicStatsReturnResult implements Serializable {
     private List<Integer> inValidCount;
     @ApiModelProperty("电量数据集")
     private List<Integer> electricQuantity;
-
+    @ApiModelProperty(value = "信噪比数据集",hidden = true)
+    private List<Integer> snr;
+    @ApiModelProperty(value = "信号强度数据集",hidden = true)
+    private List<Integer> rssi;
+    @ApiModelProperty(value = "参考信号接收质量数据集",hidden = true)
+    private List<Integer> rsrq;
+    @ApiModelProperty(value = "参考信号接收功率数据集",hidden = true)
+    private List<Integer> rsrp;
     @ApiModelProperty("上传时间")
     private List<String> uploadTimes;
 
@@ -94,6 +101,11 @@ public class ClinicStatsReturnResult implements Serializable {
             List<String> uploadTimes = Optional.ofNullable(result.getUploadTimes()).orElse(new ArrayList<>());
             List<BigDecimal> singleAppendDoses = Optional.ofNullable(result.getSingleAppendDose()).orElse(new ArrayList<>());
 
+            List<Integer> snrCounts = Optional.ofNullable(result.getSnr()).orElse(new ArrayList<>());
+            List<Integer> rssiCounts = Optional.ofNullable(result.getRssi()).orElse(new ArrayList<>());
+            List<Integer> rsrqCounts = Optional.ofNullable(result.getRsrq()).orElse(new ArrayList<>());
+            List<Integer> rsrpCounts = Optional.ofNullable(result.getRsrp()).orElse(new ArrayList<>());
+
             BigDecimal appendDose = queryResult.getAppendDose()!=null?queryResult.getAppendDose():BigDecimal.ZERO;
             if(!ObjectUtil.equal(lastInfusionId,queryResult.getInfusionId())){
                 lastInfusionId=queryResult.getInfusionId();
@@ -110,6 +122,11 @@ public class ClinicStatsReturnResult implements Serializable {
             validCounts.add(queryResult.getValidCount()!=null?queryResult.getValidCount():0);
             inValidCounts.add(queryResult.getInValidCount()!=null?queryResult.getInValidCount():0);
 
+            snrCounts.add(queryResult.getSnr()!=null?queryResult.getSnr():0);
+            rssiCounts.add(queryResult.getRssi()!=null?queryResult.getRssi():0);
+            rsrqCounts.add(queryResult.getRsrq()!=null?queryResult.getRsrq():0);
+            rsrpCounts.add(queryResult.getRsrp()!=null?queryResult.getRsrp():0);
+
             singleAppendDoses.add(
                     (queryResult.getValidCount()!=null&&queryResult.getValidCount()!=0
                             &&!queryResult.getValidCount().equals(lastValidPcaCount) )?
@@ -129,6 +146,11 @@ public class ClinicStatsReturnResult implements Serializable {
             result.setInValidCount(inValidCounts);
             result.setUploadTimes(uploadTimes);
             result.setSingleAppendDose(singleAppendDoses);
+
+            result.setSnr(snrCounts);
+            result.setRssi(rssiCounts);
+            result.setRsrp(rsrpCounts);
+            result.setRsrq(rsrqCounts);
             lastValidPcaCount=queryResult.getValidCount();
         };
         result.setXAxisScales(axisScales);

+ 12 - 0
nb-service/web-service/src/main/resources/mapper/bus/BusClinicMapper.xml

@@ -58,6 +58,18 @@
         <if test="query.inValidCount!=false">
             h.pca_invalid_count as invalid_count,
         </if>
+        <if test="query.snr!=false">
+            h.snr as snr,
+        </if>
+        <if test="query.rssi!=false">
+            h.rssi as rssi,
+        </if>
+        <if test="query.rsrq!=false">
+            h.rsrq as rsrq,
+        </if>
+        <if test="query.rsrp!=false">
+            h.rsrp as rsrp,
+        </if>
         h.upload_time,
         h.infusion_id
         FROM