| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.moral.api.entity.Menu; |
| | | import com.moral.api.entity.MonitorPoint; |
| | | import com.moral.api.entity.Organization; |
| | | import com.moral.api.entity.SysArea; |
| | | import com.moral.api.mapper.DeviceMapper; |
| | | import com.moral.api.mapper.MonitorPointMapper; |
| | | import com.moral.api.mapper.SysAreaMapper; |
| | | import com.moral.api.service.OrganizationService; |
| | | import com.moral.api.service.SysAreaService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.moral.constant.Constants; |
| | |
| | | @Autowired |
| | | private MonitorPointMapper monitorPointMapper; |
| | | |
| | | @Autowired |
| | | private OrganizationService organizationService; |
| | | @Autowired |
| | | private DeviceMapper deviceMapper; |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> getMapPath(Integer orgId) { |
| | | //根据组织id查询所有站点 |
| | | //获取组织下所有子组织 |
| | | /*List<Organization> organizations = organizationService.getChildrenOrganizationsById(orgId); |
| | | List<Integer> orgIds = organizations.stream().map(Organization::getId).collect(Collectors.toList()); |
| | | orgIds.add(orgId);*/ |
| | | List<Integer> orgIds = deviceMapper.deviceOrgIdList(orgId); |
| | | QueryWrapper<MonitorPoint> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.select("province_code", "city_code", "area_code") |
| | | .eq("organization_id", orgId) |
| | | .eq("is_delete", Constants.NOT_DELETE); |
| | | .eq("is_delete", Constants.NOT_DELETE) |
| | | .in("organization_id", orgIds); |
| | | |
| | | //根据组织id查询所有站点 |
| | | List<MonitorPoint> monitorPoints = monitorPointMapper.selectList(queryWrapper); |
| | | Set<Integer> cityCodes = new HashSet<>(); |
| | | for (MonitorPoint monitorPoint : monitorPoints) { |
| | | cityCodes.add(monitorPoint.getProvinceCode()); |
| | | cityCodes.add(monitorPoint.getCityCode()); |
| | | cityCodes.add(monitorPoint.getAreaCode()); |
| | | Integer provinceCode = monitorPoint.getProvinceCode(); |
| | | Integer cityCode = monitorPoint.getCityCode(); |
| | | Integer areaCode = monitorPoint.getAreaCode(); |
| | | if (provinceCode != null) { |
| | | cityCodes.add(provinceCode); |
| | | } |
| | | if (cityCode != null) { |
| | | cityCodes.add(cityCode); |
| | | } |
| | | if (areaCode != null) { |
| | | cityCodes.add(areaCode); |
| | | } |
| | | } |
| | | |
| | | QueryWrapper<SysArea> sysAreaQueryWrapper = new QueryWrapper<>(); |
| | | sysAreaQueryWrapper.select("area_code", "area_name", "parent_code").in("area_code", cityCodes); |
| | | //获取当前用户拥有权限的地图列表 |
| | | List<SysArea> allAreas = sysAreaMapper.selectList(sysAreaQueryWrapper); |
| | | |
| | | //第一级城市 |
| | |
| | | return newList; |
| | | } |
| | | |
| | | //获取用户层级菜单递归方法 |
| | | @Override |
| | | public List<SysArea> getChildren(Integer regionCode) { |
| | | QueryWrapper<SysArea> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("parent_code",regionCode); |
| | | return sysAreaMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public SysArea getAreaByCode(Integer regionCode) { |
| | | QueryWrapper<SysArea> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("area_code",regionCode); |
| | | return sysAreaMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | //获取层级城市列表 |
| | | private List<Map<String, Object>> getAreasByRecursion(SysArea sysArea, List<SysArea> sysAreas) { |
| | | SysArea newSysArea = new SysArea(); |
| | | newSysArea.setParentCode(sysArea.getAreaCode()); |