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 | 147 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 125 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 94f379e..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; @@ -275,6 +276,11 @@ } @Override + public List<MonitorPoint> getMonitorPointsByOrganizationIds(Set<Integer> orgIds) { + return monitorPointMapper.getMonitorPointsByOrganizationIds(orgIds); + } + + @Override public List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters) { Example example = new Example(MonitorPoint.class); Criteria criteria = example.createCriteria(); @@ -294,49 +300,53 @@ 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) { //������������ 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()))) { - //criteria.andEqualTo("organizationId", organizationId); 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); - //��������������������������������� - Iterator<MonitorPoint> iterator = monitorPoints.iterator(); - /*while (iterator.hasNext()) { - MonitorPoint monitorPoint = iterator.next(); - List<Device> devices = deviceService.getDevicesByMonitorPointId(monitorPoint.getId()); - if (ObjectUtils.isEmpty(devices)) { - iterator.remove(); - } else { - monitorPoint.setDevices(devices); - } - - }*/ - Example deviceExample = new Example(Device.class);//��������� + + //������������������������ + 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);//��������� + + //������������������������ + 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())) { @@ -344,6 +354,8 @@ } } } + + //������������������������������������������ Map<Integer, List<Device>> monitorDeviceMap = new HashMap(); for (MonitorPoint m : monitorPointInfo) { List<Device> monitorDevices = new ArrayList<>(); @@ -354,6 +366,9 @@ } 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()) { @@ -368,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 @@ -804,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; } @@ -822,5 +920,10 @@ return monitorPointMapper.byIdGetMonitorPoint(id); } + @Override + public String getOrgIdByMac(String mac) { + return monitorPointMapper.getOrgIdByMac(mac); + } + } -- Gitblit v1.8.0