提交 64c236d1 authored 作者: zjm's avatar zjm

fix(单位模块): 添加根据展示区域id查询下级所有单位service

添加根据展示区域id查询下级所有单位service
上级 e17ef38b
...@@ -42,6 +42,10 @@ public class UnitsCache { ...@@ -42,6 +42,10 @@ public class UnitsCache {
return new ArrayList<>(idMap.values()).stream().filter(units -> units.getExhibitionId().equals(areaExhibitionId)).collect(Collectors.toList()); return new ArrayList<>(idMap.values()).stream().filter(units -> units.getExhibitionId().equals(areaExhibitionId)).collect(Collectors.toList());
} }
public List<Units> findAllByAreaExhibitionIdList(List<Integer> areaExhibitionIds){
return new ArrayList<>(idMap.values()).stream().filter(units -> areaExhibitionIds.contains(units.getExhibitionId())).collect(Collectors.toList());
}
/** /**
* 根据当前单位id查询下级以及本级 * 根据当前单位id查询下级以及本级
*/ */
......
...@@ -66,4 +66,11 @@ public interface UserPublicService { ...@@ -66,4 +66,11 @@ public interface UserPublicService {
*/ */
List<Units> findByUnitIdSubordinateAll(Integer unitId); List<Units> findByUnitIdSubordinateAll(Integer unitId);
/**
* 根据展示区域id查询下级所有单位
* @param areaExhibitionId 展示区域id
* @return 单位id集合
*/
List<Units> findByAreaExhibitionIdSubordinateAll(Integer areaExhibitionId);
} }
package com.tykj.dev.device.user.subject.service.impl; package com.tykj.dev.device.user.subject.service.impl;
import com.tykj.dev.device.user.cache.AreaExhibitionCache;
import com.tykj.dev.device.user.cache.UnitsCache; import com.tykj.dev.device.user.cache.UnitsCache;
import com.tykj.dev.device.user.cache.UserCache; import com.tykj.dev.device.user.cache.UserCache;
import com.tykj.dev.device.user.subject.dao.AreaDao; import com.tykj.dev.device.user.subject.dao.AreaDao;
import com.tykj.dev.device.user.subject.dao.UnitsDao; import com.tykj.dev.device.user.subject.dao.UnitsDao;
import com.tykj.dev.device.user.subject.dao.UserDao; import com.tykj.dev.device.user.subject.dao.UserDao;
import com.tykj.dev.device.user.subject.entity.Area; import com.tykj.dev.device.user.subject.entity.Area;
import com.tykj.dev.device.user.subject.entity.AreaExhibition;
import com.tykj.dev.device.user.subject.entity.Units; import com.tykj.dev.device.user.subject.entity.Units;
import com.tykj.dev.device.user.subject.entity.User; import com.tykj.dev.device.user.subject.entity.User;
import com.tykj.dev.device.user.subject.service.AreaService; import com.tykj.dev.device.user.subject.service.AreaService;
...@@ -46,6 +48,9 @@ public class UserPublicServiceImpl implements UserPublicService { ...@@ -46,6 +48,9 @@ public class UserPublicServiceImpl implements UserPublicService {
@Autowired @Autowired
UnitsCache unitsCache; UnitsCache unitsCache;
@Autowired
AreaExhibitionCache areaExhibitionCache;
// @Autowired // @Autowired
// AreaExhibitionServiceImpl // AreaExhibitionServiceImpl
...@@ -148,6 +153,14 @@ public class UserPublicServiceImpl implements UserPublicService { ...@@ -148,6 +153,14 @@ public class UserPublicServiceImpl implements UserPublicService {
return unitsCache.findByAllAreaIds(areaIds); return unitsCache.findByAllAreaIds(areaIds);
} }
@Override
public List<Units> findByAreaExhibitionIdSubordinateAll(Integer areaExhibitionId) {
List<Integer> areaExhibitionIds = areaExhibitionCache.findByFatherId(areaExhibitionId).stream().map(AreaExhibition::getId).collect(Collectors.toList());
areaExhibitionIds.add(areaExhibitionId);
List<Units> unitsList = unitsCache.findAllByAreaExhibitionIdList(areaExhibitionIds);
return unitsList;
}
@Override @Override
public String findUnitsNameByUserId(Integer userId) { public String findUnitsNameByUserId(Integer userId) {
......
...@@ -7,6 +7,7 @@ import com.tykj.dev.device.user.base.req.DropDownUserLocation; ...@@ -7,6 +7,7 @@ import com.tykj.dev.device.user.base.req.DropDownUserLocation;
import com.tykj.dev.device.user.base.req.NotIsUser; import com.tykj.dev.device.user.base.req.NotIsUser;
import com.tykj.dev.device.user.base.req.UnitNameVo; import com.tykj.dev.device.user.base.req.UnitNameVo;
import com.tykj.dev.device.user.base.ret.*; import com.tykj.dev.device.user.base.ret.*;
import com.tykj.dev.device.user.cache.AreaExhibitionCache;
import com.tykj.dev.device.user.cache.UnitsCache; import com.tykj.dev.device.user.cache.UnitsCache;
import com.tykj.dev.device.user.cache.UserCache; import com.tykj.dev.device.user.cache.UserCache;
import com.tykj.dev.device.user.read.service.MessageService; import com.tykj.dev.device.user.read.service.MessageService;
...@@ -73,6 +74,9 @@ public class UserServiceImpl implements UserService { ...@@ -73,6 +74,9 @@ public class UserServiceImpl implements UserService {
@Autowired @Autowired
UserCache userCache; UserCache userCache;
@Autowired
AreaExhibitionCache areaExhibitionCache;
@Autowired @Autowired
ConfigCache configCache; ConfigCache configCache;
...@@ -346,11 +350,16 @@ public class UserServiceImpl implements UserService { ...@@ -346,11 +350,16 @@ public class UserServiceImpl implements UserService {
if (userConditionsVo.getType()==1){ if (userConditionsVo.getType()==1){
List<Integer> unitIds; List<Integer> unitIds;
if (userConditionsVo.getUnitsId()!=0) { if (userConditionsVo.getUnitsId()!=0) {
List<Integer> ids = areaService.findIdQuerySubordinateIds(userConditionsVo.getUnitsId()); List<Integer> areaExhibitionIds = areaExhibitionCache.findByFatherId(userConditionsVo.getUnitsId()).stream().map(AreaExhibition::getId).collect(Collectors.toList());
unitIds = unitsDao.findAllByAreaIdIn(ids).stream().map(Units::getUnitId).collect(Collectors.toList()); areaExhibitionIds.add(userConditionsVo.getUnitsId());
}else { unitIds = unitsCache.findAllByAreaExhibitionIdList(areaExhibitionIds).stream().map(Units::getUnitId).collect(Collectors.toList());
} else {
unitIds = unitsDao.findAllByType(2).stream().map(Units::getUnitId).collect(Collectors.toList()); unitIds = unitsDao.findAllByType(2).stream().map(Units::getUnitId).collect(Collectors.toList());
} }
if (unitIds.size()==0){
//单位ID集合为空 默认给0 使数据查询出为空
unitIds.add(0);
}
predicateBuilder.in("unitsId",unitIds.toArray()); predicateBuilder.in("unitsId",unitIds.toArray());
}else if (userConditionsVo.getType()==2){ }else if (userConditionsVo.getType()==2){
predicateBuilder.eq("unitsId",userConditionsVo.getUnitsId()); predicateBuilder.eq("unitsId",userConditionsVo.getUnitsId());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论