pom.xml | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/common/util/ParameterUtils.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/controller/WebController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | ●●●●● patch | view | raw | blame | history |
pom.xml
@@ -87,7 +87,7 @@ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> <scope>compile</scope> </dependency> <dependency> src/main/java/com/moral/common/util/ParameterUtils.java
@@ -45,6 +45,8 @@ } } } parameters.put("regionType", regionType); parameters.put("nextLevel", nextLevel); } src/main/java/com/moral/controller/WebController.java
@@ -3,15 +3,16 @@ import com.auth0.jwt.exceptions.JWTDecodeException; import com.moral.common.bean.ResultBean; import com.moral.common.exception.WebAuthException; import com.moral.common.util.BeanUtils; import com.moral.common.util.ParameterUtils; import com.moral.common.util.RedisHashUtil; import com.moral.common.util.WebTokenUtils; import com.moral.common.util.*; import com.moral.common.webAnno.UserLoginToken; import com.moral.entity.AreaNames; import com.moral.entity.MonitorPoint; import com.moral.entity.Organization; import com.moral.service.*; import com.moral.util.LatLngTransformation; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import jdk.nashorn.internal.runtime.logging.Logger; import org.springframework.web.bind.annotation.*; @@ -42,6 +43,8 @@ RedisHashUtil redisHashUtil; @Resource HistoryMinutelyService historyMinutelyService; @Resource MonitorPointService monitorPointService; @UserLoginToken @GetMapping("test") @@ -193,9 +196,10 @@ @UserLoginToken @PostMapping("report_avg_datas") public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgData(HttpServletRequest request,@RequestBody Map<String, Object> parameters) @GetMapping("report_avg_datas") public ResultBean<List<Map<String, Object>>> getMonitorPointOrDeviceAvgData(HttpServletRequest request) throws Exception { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); //该方法用于判断时间是具体到年月日 ParameterUtils.getTimeType4Time(parameters); Object sensorKey = parameters.remove("sensorKey"); @@ -212,4 +216,13 @@ } return new ResultBean<List<Map<String, Object>>>(list); } @UserLoginToken @GetMapping("monitorpoints-devices") 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/service/impl/MonitorPointServiceImpl.java
@@ -298,45 +298,42 @@ 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 +341,8 @@ } } } //把对应的设备信息添加到站点中 Map<Integer, List<Device>> monitorDeviceMap = new HashMap(); for (MonitorPoint m : monitorPointInfo) { List<Device> monitorDevices = new ArrayList<>(); @@ -354,6 +353,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()) {