From 0bdd4bcee9d66e5372df5351ec0008b23302ffff Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 11 Aug 2023 16:36:06 +0800 Subject: [PATCH] feat:走航车路段重写 --- screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeDeviceServiceImpl.java | 63 +++++++++++++++++++++++++++++++ 1 files changed, 63 insertions(+), 0 deletions(-) diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeDeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeDeviceServiceImpl.java index 4dbe38a..46220f2 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeDeviceServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ServicesScopeDeviceServiceImpl.java @@ -1,10 +1,24 @@ package com.moral.api.service.impl; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; +import com.moral.api.entity.Device; +import com.moral.api.entity.MonitorPoint; import com.moral.api.entity.ServicesScopeDevice; +import com.moral.api.mapper.DeviceMapper; +import com.moral.api.mapper.MonitorPointMapper; import com.moral.api.mapper.ServicesScopeDeviceMapper; import com.moral.api.service.ServicesScopeDeviceService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.constant.Constants; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +31,53 @@ @Service public class ServicesScopeDeviceServiceImpl extends ServiceImpl<ServicesScopeDeviceMapper, ServicesScopeDevice> implements ServicesScopeDeviceService { + @Autowired + private ServicesScopeDeviceMapper servicesScopeDeviceMapper; + + @Autowired + private DeviceMapper deviceMapper; + + @Autowired + private MonitorPointMapper monitorPointMapper; + + @Override + public List<Map<String, Object>> getDevicesAndMonitorPoint(Map<String, Object> map) { + int servicesScopeId = Integer.parseInt(map.get("servicesScopeId").toString()); + QueryWrapper<ServicesScopeDevice> servicesScopeDeviceQueryWrapper = new QueryWrapper<>(); + servicesScopeDeviceQueryWrapper.eq("is_delete",Constants.NOT_DELETE); + servicesScopeDeviceQueryWrapper.eq("services_scope_id",servicesScopeId); + List<ServicesScopeDevice> servicesScopeDevices = servicesScopeDeviceMapper.selectList(servicesScopeDeviceQueryWrapper); + if (servicesScopeDevices.size() == 0){ + return null; + } + List<Integer> deviceIds = servicesScopeDevices.stream().map(p -> p.getDeviceId()).collect(Collectors.toList()); + QueryWrapper<Device> deviceQueryWrapper = new QueryWrapper<>(); + deviceQueryWrapper.eq("is_delete",Constants.NOT_DELETE); + deviceQueryWrapper.in("id",deviceIds); + List<Device> devices = deviceMapper.selectList(deviceQueryWrapper); + if (devices.size() == 0){ + return null; + } + List<Integer> monitorPointIds = devices.stream().map(p -> p.getMonitorPointId()).collect(Collectors.toList()); + QueryWrapper<MonitorPoint> monitorPointQueryWrapper = new QueryWrapper<>(); + monitorPointQueryWrapper.eq("is_delete",Constants.NOT_DELETE); + monitorPointQueryWrapper.in("id",monitorPointIds); + List<MonitorPoint> monitorPointList = monitorPointMapper.selectList(monitorPointQueryWrapper); + if (monitorPointList.size() == 0){ + return null; + } + List resultList = new ArrayList(); + for (MonitorPoint monitorPoint:monitorPointList) { + Map monitorPointMap = JSON.parseObject(JSON.toJSONString(monitorPoint), Map.class); + List deviceList = new ArrayList(); + for (Device device:devices) { + if (device.getMonitorPointId().equals(monitorPoint.getId())){ + deviceList.add(device); + } + } + monitorPointMap.put("devices",deviceList); + resultList.add(monitorPointMap); + } + return resultList; + } } -- Gitblit v1.8.0