|
|
@@ -2,6 +2,7 @@ package vip.xiaonuo.coldchain.modular.bi.service;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
+import cn.hutool.core.collection.ListUtil;
|
|
|
import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
@@ -14,6 +15,7 @@ import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
|
|
|
import vip.xiaonuo.coldchain.modular.bi.dto.MonitorTargetBiDTO;
|
|
|
import vip.xiaonuo.coldchain.modular.bi.dto.MonitorTargetRegionBiDTO;
|
|
|
import vip.xiaonuo.coldchain.modular.bi.dto.TargetRoomBiDTO;
|
|
|
+import vip.xiaonuo.coldchain.modular.bi.utils.CloudApiService;
|
|
|
import vip.xiaonuo.coldchain.modular.monitordevice.service.MonitorDeviceService;
|
|
|
import vip.xiaonuo.coldchain.modular.monitornotice.entity.Realtime;
|
|
|
import vip.xiaonuo.coldchain.modular.monitornotice.param.RealtimeParam;
|
|
|
@@ -56,7 +58,6 @@ public class BiService {
|
|
|
private SysOrgService sysOrgService;
|
|
|
|
|
|
|
|
|
-
|
|
|
public List<TargetRoomBiDTO> listTargetRoom() {
|
|
|
SaBaseLoginUser loginUser = StpLoginUserUtil.getLoginUser();
|
|
|
QueryWrapper<TargetRoom> queryWrapper = new QueryWrapper<TargetRoom>().checkSqlInjection();
|
|
|
@@ -64,12 +65,12 @@ public class BiService {
|
|
|
queryWrapper.lambda().orderByAsc(TargetRoom::getSortCode).orderByAsc(TargetRoom::getId);
|
|
|
List<TargetRoom> targetRooms = targetRoomService.list(CommonPageRequest.defaultPage(), queryWrapper);
|
|
|
List<TargetRoomBiDTO> targetRoomBiDTOS = BeanUtil.copyToList(targetRooms, TargetRoomBiDTO.class);
|
|
|
- targetRoomBiDTOS.stream().parallel().forEach(r->{
|
|
|
+ targetRoomBiDTOS.stream().parallel().forEach(r -> {
|
|
|
//统计在线 离线 总数
|
|
|
List<MonitorTarget> monitorTargets = monitorTargetService.getTargetListByRoom(r.getId());
|
|
|
long count = monitorTargets.stream().filter(t -> t.getStatus().equals(MonitorStatusEnum.ONLINE.getCode())).count();
|
|
|
r.setOnlineNum(Convert.toInt(count));
|
|
|
- r.setOfflineNum(monitorTargets.size()-r.getOnlineNum());
|
|
|
+ r.setOfflineNum(monitorTargets.size() - r.getOnlineNum());
|
|
|
r.setAllNum(monitorTargets.size());
|
|
|
});
|
|
|
return targetRoomBiDTOS;
|
|
|
@@ -107,6 +108,7 @@ public class BiService {
|
|
|
for (Map.Entry<String, List<MonitorTargetRegion>> entry : regionMap.entrySet()) {
|
|
|
List<Realtime> realtimes = entry.getValue().stream().parallel().map(r -> {
|
|
|
Realtime realtime = monitorNoticeService.getRealtime(new RealtimeParam(r.getMonitorDeviceId(), r.getSensorRoute()));
|
|
|
+// Realtime realtime = new Realtime();
|
|
|
realtime.setTemperatureUp(r.getTemperatureUp());
|
|
|
realtime.setTemperatureDown(r.getTemperatureDown());
|
|
|
realtime.setHumidityUp(r.getHumidityUp());
|
|
|
@@ -121,9 +123,10 @@ public class BiService {
|
|
|
MonitorTargetRegionBiDTO targetRegionBiDTO = new MonitorTargetRegionBiDTO();
|
|
|
targetRegionBiDTO.setName(entry.getKey());
|
|
|
targetRegionBiDTO.setRealtimes(realtimes);
|
|
|
- targetRegionBiDTO.setUpdateTime(CollectionUtil.isNotEmpty(realtimes)?realtimes.get(0).getUpdateTime():"");
|
|
|
+ targetRegionBiDTO.setUpdateTime(CollectionUtil.isNotEmpty(realtimes) ? realtimes.get(0).getUpdateTime() : "");
|
|
|
regionBiDTOS.add(targetRegionBiDTO);
|
|
|
- onlineNum += realtimes.stream().filter(r->r!=null && r.getSensorData()!=null).count();
|
|
|
+ onlineNum += realtimes.stream().filter(r -> r != null && r.getSensorData() != null).count();
|
|
|
+
|
|
|
}
|
|
|
//查询冰箱所在房间
|
|
|
TargetRoom targetRoom = targetRoomService.getById(monitorTarget.getRoomId());
|
|
|
@@ -134,7 +137,10 @@ public class BiService {
|
|
|
//统计在线 离线 总数
|
|
|
monitorTarget.setAllNum(regions.size());
|
|
|
monitorTarget.setOnlineNum(onlineNum);
|
|
|
- monitorTarget.setOfflineNum(monitorTarget.getAllNum()-monitorTarget.getOnlineNum());
|
|
|
+ monitorTarget.setOfflineNum(monitorTarget.getAllNum() - monitorTarget.getOnlineNum());
|
|
|
+ //获取锁
|
|
|
+ String cloudSensorData = CloudApiService.getCloudSensorData(monitorTarget.getLockNo());
|
|
|
+ monitorTarget.setLockStatus(cloudSensorData);
|
|
|
});
|
|
|
Page<MonitorTargetBiDTO> monitorTargetBiDTOPage = new Page<>(monitorTargets.getCurrent(), monitorTargets.getSize(), monitorTargets.getTotal());
|
|
|
monitorTargetBiDTOPage.setRecords(monitorTargetBiDTOS);
|