xiang13487 1 týždeň pred
rodič
commit
cb6e1fc014

+ 28 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/base/service/impl/EquipmentBaseServiceImpl.java

@@ -11,6 +11,8 @@ import com.zksy.base.domain.EquipmentBase;
 import com.zksy.base.domain.EquipmentMaintain;
 import com.zksy.base.domain.EquipmentStatus;
 import com.zksy.base.domain.EquipmentType;
+import com.zksy.base.manhole.domain.ManholeData;
+import com.zksy.base.manhole.mapper.ManholeDataMapper;
 import com.zksy.base.mapper.EquipmentBaseMapper;
 import com.zksy.base.mapper.EquipmentMaintainMapper;
 import com.zksy.base.mapper.EquipmentStatusMapper;
@@ -46,6 +48,9 @@ public class EquipmentBaseServiceImpl extends ServiceImpl<EquipmentBaseMapper, E
 //    @Autowired
 //    private EquipmentBaseMapper equipmentBaseMapper;
 
+    @Autowired
+    private ManholeDataMapper manholeDataMapper;
+
     @Override
     public Page<EquipmentBase> findByPage(long pageNum, long pageSize,
                                           String equipmentCode,String equipmentName,
@@ -276,6 +281,16 @@ public class EquipmentBaseServiceImpl extends ServiceImpl<EquipmentBaseMapper, E
             if(CollUtil.isNotEmpty(equipmentStatusList)){
                 EquipmentStatusMap.putAll(equipmentStatusList.stream().collect(Collectors.toMap(EquipmentStatus::getEquipmentId, Function.identity(), (key1, key2) -> key2)));
             }
+            //查询设备监测状态
+            Map<String, List<ManholeData>> imeiCardNumberMapList = new HashMap<>();
+            if(pageInDTO.getIsQueryManholeData()){
+                List<String> equipmentCodeList = outDTOList.stream().map(EquipmentBaseOutDTO::getEquipmentCode).distinct().collect(Collectors.toList());
+                List<ManholeData> manholeDataList = manholeDataMapper.selectList(new LambdaQueryWrapper<ManholeData>()
+                        .in(ManholeData::getImeiCardNumber, equipmentCodeList)
+                        .orderByDesc(ManholeData::getCreateTime));
+                imeiCardNumberMapList.putAll(manholeDataList.stream().collect(Collectors.groupingBy(ManholeData::getImeiCardNumber)));
+            }
+            List<ManholeData> manholeDataList = null;
             for(EquipmentBaseOutDTO outDTO : outDTOList) {
                 EquipmentType equipmentType = equipmentTypeMap.get(outDTO.getEquipmentTypeId());
                 if(equipmentType != null){
@@ -286,6 +301,19 @@ public class EquipmentBaseServiceImpl extends ServiceImpl<EquipmentBaseMapper, E
                     outDTO.setCurrentStatus(equipmentStatus.getCurrentStatus());
                     outDTO.setAlarmStatus(equipmentStatus.getAlarmStatus());
                     outDTO.setOnlineStatus(equipmentStatus.getOnlineStatus());
+                    outDTO.setStatusUpdateTime(equipmentStatus.getStatusUpdateTime());
+                }
+                if(pageInDTO.getIsQueryManholeData()){
+                    manholeDataList = imeiCardNumberMapList.get(outDTO.getEquipmentCode());
+                    if(CollUtil.isNotEmpty(manholeDataList)){
+                        ManholeData manholeData = manholeDataList.get(0);
+                        outDTO.setBatteryLevel(manholeData.getBatteryLevel());
+                        outDTO.setSignalStrength(manholeData.getSignalStrength());
+                        outDTO.setTiltAngle(manholeData.getTiltAngle());
+                        outDTO.setActivationStatus(manholeData.getActivationStatus());
+                        outDTO.setWaterInfiltrationAlarmStatus(manholeData.getWaterInfiltrationAlarmStatus());
+                        outDTO.setWaterLevelAlarmStatus(manholeData.getWaterLevelAlarmStatus());
+                    }
                 }
             }
         }

+ 3 - 0
pipe-network-service/zksy-system/src/main/java/com/zksy/manhole/dto/in/ManholeDevicePageInDTO.java

@@ -31,6 +31,9 @@ public class ManholeDevicePageInDTO implements Serializable {
     @ApiModelProperty("设备位置描述")
     private String equipmentLocation;
 
+    @ApiModelProperty("是否查询井盖监测数据:默认不查询")
+    private Boolean isQueryManholeData = false;
+
     @ApiModelProperty(value = "当前记录起始索引", required = true)
     private Long pageNum;