From f28149d8183a62f87fa9c8df9ae589070d83f612 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 24 Dec 2020 13:47:50 +0800 Subject: [PATCH] 波动补偿 --- src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 96 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 8efeff3..54b5e3b 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -42,6 +42,7 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example.Criteria; @@ -299,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) { //������������ @@ -375,6 +383,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 @@ -811,11 +902,11 @@ //������������������������ List<Device> deviceList = deviceService.getDeviceById2(monitPointId); - params.put("longitudeCompany",monitorPoint.getLongitude()); - params.put("latitudeCompany",monitorPoint.getLatitude()); - params.put("latitudeCompany",monitorPoint.getLatitude()); - params.put("monitPointId",monitPointId); - params.put("deviceList",deviceList); + params.put("longitudeCompany", monitorPoint.getLongitude()); + params.put("latitudeCompany", monitorPoint.getLatitude()); + params.put("latitudeCompany", monitorPoint.getLatitude()); + params.put("monitPointId", monitPointId); + params.put("deviceList", deviceList); return params; } -- Gitblit v1.8.0