From 239927b057f65a040594f7a4cb08c8881b303797 Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Fri, 18 Aug 2023 14:52:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cjl-230812' into cjl-230812
---
screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 41 insertions(+), 7 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
index 83e23db..d5b32bc 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/SysAreaServiceImpl.java
@@ -3,9 +3,11 @@
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.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;
@@ -39,23 +41,41 @@
@Autowired
private MonitorPointMapper monitorPointMapper;
+ @Autowired
+ private OrganizationService organizationService;
+
@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);
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);
//���������������
@@ -76,7 +96,21 @@
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());
--
Gitblit v1.8.0