From b6b10b7d89092147ebd5ae1d3cc318205206ab8a Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Fri, 18 Dec 2020 14:48:03 +0800 Subject: [PATCH] 走航车轨迹区域数据显示 --- src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 90 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 9c8e26e..54b5e3b 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -300,6 +300,13 @@ return this.monitorPointMapper.selectByPrimaryKey(mpointId); } + /** + * @Description: ������������������������������������������������ + * @Param: [parameters] + * @return: java.util.List<com.moral.entity.MonitorPoint> + * @Author: ������������ + * @Date: 2020/12/2 + */ @Override public List<MonitorPoint> getMonitorPointsAndDevicesByRegion(Map<String, Object> parameters) { //������������ @@ -377,6 +384,89 @@ return monitorPoints; } + /** + * @Description: ��������������������������������������������� + * @Param: [parameters] + * @return: java.util.List<com.moral.entity.MonitorPoint> + * @Author: ������������ + * @Date: 2020/12/2 + */ + @Override + public List<MonitorPoint> getMonitorPointsAndDevicesByRegionNew(Map<String, Object> parameters) { + //������������ + Object organizationId = parameters.remove("organizationId"); + //���������������������null������������null���������������������������msgKey��������������� + ValidateUtil.notNull(organizationId, "param.is.null"); + ValidateUtil.notNull(parameters.get("regionCode"), "param.is.null"); + + //������������������ + ParameterUtils.getRegionType4RegionCode(parameters); + + //������������code��������������� + Example example = new Example(MonitorPoint.class); + Criteria criteria = example.createCriteria(); + criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE); + + //������������������������������������������������������������orgid������������������������ + if (Constants.isNotSpecialOrgId(Integer.valueOf(organizationId.toString()))) { + Set<Integer> organizationIds = organizationService.getChildOrganizationIds(Integer.valueOf(organizationId.toString())); + criteria.andIn("organizationId", organizationIds); + } + criteria.andEqualTo(parameters.get("regionType") + "Code", parameters.remove("regionCode")); + List<MonitorPoint> monitorPoints = monitorPointMapper.selectByExample(example); + + //������������������������ + Example deviceExample = new Example(Device.class); + Criteria deviceCriteria = deviceExample.createCriteria(); + deviceCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE); + List<Device> devicesInfo = deviceMapper.selectByExample(deviceExample); + + //������������������������ + Example monitorExample = new Example(MonitorPoint.class); + Criteria monitorCriteria = monitorExample.createCriteria(); + monitorCriteria.orEqualTo("isDelete", Constants.IS_DELETE_FALSE); + List<MonitorPoint> monitorPointInfo = monitorPointMapper.selectByExample(monitorExample); + + //������������������������������ + List<DeviceProperty> devicePropertyList = devicePropertyMapper.selectAll(); + + //������������������������������������������ + for (Device d : devicesInfo) { + for (DeviceProperty dp : devicePropertyList) { + if (dp.getId().equals(d.getId())) { + d.setDeviceProperty(dp); + } + } + } + + //������������������������������������������ + Map<Integer, List<Device>> monitorDeviceMap = new HashMap(); + for (MonitorPoint m : monitorPointInfo) { + List<Device> monitorDevices = new ArrayList<>(); + for (Device d : devicesInfo) { + if (m.getId().equals(d.getMonitorPointId())) { + monitorDevices.add(d); + } + } + monitorDeviceMap.put(m.getId(), monitorDevices); + } + + //������������Code��������������������������������������������� + Iterator<MonitorPoint> iterator = monitorPoints.iterator(); + while (iterator.hasNext()) { + MonitorPoint monitorPoint = iterator.next(); + for (Map.Entry<Integer, List<Device>> entry : monitorDeviceMap.entrySet()) { + if (monitorPoint.getId().equals(entry.getKey())) { + if (!CollectionUtils.isEmpty(entry.getValue())) { + monitorPoint.setDevices(entry.getValue()); + } + } + } + } + return monitorPoints; + } + + @SuppressWarnings("unchecked") @Override public Collection<Object> getDevicesStateByRegion(Map<String, Object> parameters) { -- Gitblit v1.8.0