src/main/java/com/moral/controller/ScreenController.java
@@ -39,6 +39,7 @@ import com.moral.common.bean.PageResult; import com.moral.common.bean.ResultBean; import com.moral.common.util.ValidateUtil; import com.moral.common.util.WebUtils; import com.moral.common.xml.Version; import com.moral.entity.alarm.AlarmSensorLevel; @@ -759,4 +760,17 @@ Map<String, Object> map = qualityDailyService.getQualityCountDayByRegion(parameters); return new ResultBean<Map<String, Object>>(map); } @GetMapping("monitorpoints-devices") @ApiOperation(value = "获取监控点以及设备", notes = "获取监控点以及设备") @ApiImplicitParams(value = { @ApiImplicitParam(name = "organizationId",defaultValue = "8", value = "登录账号的组织id", required = true, paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "regionCode",defaultValue = "320583", value = "区域码", required = true, paramType = "query", dataType = "String") }) public ResultBean<List<MonitorPoint>> getMonitorPointsAndDevicesByRegion(HttpServletRequest request) throws Exception { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); List<MonitorPoint> monitorPoints= monitorPointService.getMonitorPointsAndDevicesByRegion(parameters); return new ResultBean<List<MonitorPoint>>(monitorPoints); } } src/main/java/com/moral/entity/MonitorPoint.java
@@ -1,5 +1,7 @@ package com.moral.entity; import java.util.List; import javax.persistence.Id; import javax.persistence.Transient; @@ -104,4 +106,7 @@ private Long townCode; private Long villageCode; @Transient private List<Device> devices; } src/main/java/com/moral/service/MonitorPointService.java
@@ -32,4 +32,6 @@ List<Integer> queryVersionsById(Integer id); MonitorPoint queryMonitorPointById(Integer mpointId); List<MonitorPoint> getMonitorPointsAndDevicesByRegion(Map<String, Object> parameters); } src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java
@@ -3,8 +3,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -14,11 +16,13 @@ import com.moral.mapper.OrganizationMapper; import org.apache.commons.collections.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import com.github.pagehelper.PageHelper; import com.moral.common.bean.Constants; import com.moral.common.bean.PageBean; import com.moral.common.util.ExampleUtil; import com.moral.common.util.ParameterUtils; import com.moral.common.util.RedisUtils; import com.moral.common.util.StringUtils; import com.moral.common.util.ValidateUtil; @@ -26,7 +30,9 @@ import com.moral.entity.MonitorPoint; import com.moral.mapper.DeviceMapper; import com.moral.mapper.MonitorPointMapper; import com.moral.service.DeviceService; import com.moral.service.MonitorPointService; import com.moral.service.OrganizationService; import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example.Criteria; @@ -43,6 +49,12 @@ RedisUtils redisUtils; @Resource DictionaryDataMapper dictionaryDataMapper; @Resource private DeviceService deviceService; @Resource private OrganizationService organizationService; private static Class ENTITY_CLASS = MonitorPoint.class; @Override @@ -253,4 +265,41 @@ public MonitorPoint queryMonitorPointById(Integer mpointId) { return this.monitorPointMapper.selectByPrimaryKey(mpointId); } @Override public List<MonitorPoint> getMonitorPointsAndDevicesByRegion(Map<String, Object> parameters) { //校验参数 Object organizationId = parameters.remove("organizationId"); ValidateUtil.notNull(organizationId, "param.is.null"); ValidateUtil.notNull(parameters.get("regionCode"), "param.is.null"); //组装查询条件 ParameterUtils.getRegionType4RegionCode(parameters); Example example = new Example(MonitorPoint.class); Criteria criteria = example.createCriteria(); criteria.andEqualTo("isDelete", Constants.IS_DELETE_FALSE); 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); } } return monitorPoints; } } src/main/java/com/moral/service/impl/OrganizationServiceImpl.java
@@ -1,5 +1,21 @@ package com.moral.service.impl; import static com.moral.common.bean.Constants.IS_DELETE_FALSE; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; import org.apache.commons.collections.CollectionUtils; import org.springframework.data.annotation.Transient; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import com.alibaba.fastjson.JSON; import com.github.pagehelper.PageHelper; import com.moral.common.bean.Constants; @@ -12,17 +28,9 @@ import com.moral.mapper.OrganizationMapper; import com.moral.mapper.OrganizationRelationMapper; import com.moral.service.OrganizationService; import org.apache.commons.collections.CollectionUtils; import org.springframework.data.annotation.Transient; import org.springframework.stereotype.Service; import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example.Criteria; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; import static com.moral.common.bean.Constants.IS_DELETE_FALSE; @Service public class OrganizationServiceImpl implements OrganizationService { @@ -118,8 +126,10 @@ relation.setChildId(organization.getId()); List<OrganizationRelation> relations = organizationRelationMapper.select(relation); if(CollectionUtils.isEmpty(relations)){ if (!ObjectUtils.isEmpty(organization.getParentId())) { relation.setParentId(organization.getParentId()); organizationRelationMapper.insert(relation); } }else{ OrganizationRelation relationOfSelect = relations.get(0); //当关系发生修改时,更新关系