Commit c417a858 authored by suhuiguang's avatar suhuiguang

1.区域修改

parent 8286988e
......@@ -65,6 +65,7 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IA
@Value("${systemctl.dict.area-type}")
private String areaType;
@Autowired
JCSRemoteService jcsRemoteService;
......@@ -106,8 +107,12 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IA
queryWrapper.eq(Area::getParentId, parentId);
queryWrapper.eq(Area::getIsDelete, false);
if (StringUtil.isNotEmpty(bizOrgCode)) {
queryWrapper.like(Area::getBizOrgCode, bizOrgCode);
queryWrapper.likeRight(Area::getBizOrgCode, bizOrgCode);
}
return getUnitAreaTreeVos(parentId, areaTreeVos, queryWrapper);
}
private List<UnitAreaTreeVo> getUnitAreaTreeVos(Long parentId, List<UnitAreaTreeVo> areaTreeVos, LambdaQueryWrapper<Area> queryWrapper) {
List<Area> areas = this.baseMapper.selectList(queryWrapper);
if (areas != null && areas.size() > 0) {
for (Area area : areas) {
......@@ -146,20 +151,7 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IA
LambdaQueryWrapper<Area> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Area::getIsDelete, false);
queryWrapper.eq(Area::getId, parentId);
List<Area> areas = this.baseMapper.selectList(queryWrapper);
if (areas != null && areas.size() > 0) {
for (Area area : areas) {
UnitAreaTreeVo areaTreeVo = new UnitAreaTreeVo();
areaTreeVo.setId(area.getId());
areaTreeVo.setName(area.getName());
areaTreeVo.setBizOrgCode(area.getOrgCode());
areaTreeVo.setParentId(parentId);
// 查询子节点赋值
areaTreeVo.setChildren(getChildren(area.getId()));
areaTreeVos.add(areaTreeVo);
}
}
return areaTreeVos;
return getUnitAreaTreeVos(parentId, areaTreeVos, queryWrapper);
}
/**
......@@ -173,20 +165,7 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IA
LambdaQueryWrapper<Area> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Area::getParentId, parentId);
queryWrapper.eq(Area::getIsDelete, false);
List<Area> areas = this.baseMapper.selectList(queryWrapper);
if (areas != null && areas.size() > 0) {
for (Area area : areas) {
UnitAreaTreeVo areaTreeVo = new UnitAreaTreeVo();
areaTreeVo.setId(area.getId());
areaTreeVo.setName(area.getName());
areaTreeVo.setBizOrgCode(area.getOrgCode());
areaTreeVo.setParentId(parentId);
// 查询子节点赋值
areaTreeVo.setChildren(getChildren(area.getId()));
areaTreeVos.add(areaTreeVo);
}
}
return areaTreeVos;
return getUnitAreaTreeVos(parentId, areaTreeVos, queryWrapper);
}
/**
......@@ -263,58 +242,44 @@ public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IA
public List<UnitAreaTreeVo> getAreaTreeListVo() {
// 获取公司部门list
List<OrgUsrDto> orgCompanyLists = jcsRemoteService.getCompanyDeptListWithAuth(authKey, "COMPANY");
AtomicReference<Boolean> flag = new AtomicReference<Boolean>();
List<UnitAreaTreeVo> areaTreeList = orgCompanyLists.stream()
.map(key -> {
Map<String,Long> orgMap = orgCompanyLists.stream().collect(Collectors.toMap(OrgUsrDto::getBizOrgCode,OrgUsrDto::getSequenceNbr));
List<UnitAreaTreeVo> orgTreeList = orgCompanyLists.stream()
.map(orgUsrDto -> {
UnitAreaTreeVo vo = new UnitAreaTreeVo();
vo.setId((key.getSequenceNbr()));
vo.setName(key.getBizOrgName());
vo.setType(key.getBizOrgType());
vo.setBizOrgCode(key.getBizOrgCode());
vo.setBizOrgName(key.getBizOrgName());
vo.setParentId(StringUtil.isNotEmpty(key.getParentId()) ? Long.valueOf(key.getParentId()) : null);
if ("".equals(vo.getParentId()) || "-1".equals(vo.getParentId()) || null == vo.getParentId()) {
flag.set(true);
}
vo.setId((orgUsrDto.getSequenceNbr()));
vo.setName(orgUsrDto.getBizOrgName());
vo.setType(orgUsrDto.getBizOrgType());
vo.setBizOrgCode(orgUsrDto.getBizOrgCode());
vo.setBizOrgName(orgUsrDto.getBizOrgName());
vo.setParentId(StringUtil.isNotEmpty(orgUsrDto.getParentId()) ? Long.parseLong(orgUsrDto.getParentId()) : 0);
return vo;
}).collect(Collectors.toList());
// 根据bizOrgCode获取区域list
List<String> bizOrgCodes = areaTreeList.stream().map(UnitAreaTreeVo::getBizOrgCode).collect(Collectors.toList());
List<String> bizOrgCodes = orgTreeList.stream().map(UnitAreaTreeVo::getBizOrgCode).collect(Collectors.toList());
LambdaQueryWrapper<Area> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Area::getIsDelete, false);
wrapper.in(Area::getBizOrgCode, bizOrgCodes);
List<Area> areaEntityList = this.baseMapper.selectList(wrapper);
List<UnitAreaTreeVo> treeList = areaEntityList.stream()
.map(key -> {
List<UnitAreaTreeVo> areaTreeVoList = areaEntityList.stream()
.map(area -> {
UnitAreaTreeVo vo = new UnitAreaTreeVo();
vo.setId(key.getId());
vo.setName(key.getName());
vo.setId(area.getId());
vo.setName(area.getName());
vo.setType("area");
vo.setBizOrgCode(key.getBizOrgCode());
vo.setBizOrgName(key.getBizOrgName());
vo.setParentId(key.getParentId());
vo.setBizOrgCode(area.getBizOrgCode());
vo.setBizOrgName(area.getBizOrgName());
vo.setParentId(area.getParentId().equals(0L) ? orgMap.get(area.getBizOrgCode()) : area.getParentId());
return vo;
}).collect(Collectors.toList());
areaTreeList.addAll(treeList);
return areaTreeList.stream()
.filter(d -> flag.get() ? !"area".equals(d.getType()) && d.getBizOrgCode() != null
&& ("".equals(d.getParentId()) || "-1".equals(d.getParentId()) || null == d.getParentId())
: "area".equals(d.getType()) && null != d.getBizOrgCode())
.peek((m) -> m.setChildren(getAreaChildren(m, areaTreeList)))
.collect(Collectors.toList());
orgTreeList.addAll(areaTreeVoList);
return orgTreeList.stream().filter(o-> orgTreeList.stream().noneMatch(a->a.getId().equals(o.getParentId()))).peek(a->{
a.setChildren(getChildrenFromData(a.getId(),orgTreeList));
}).collect(Collectors.toList());
}
private List<UnitAreaTreeVo> getAreaChildren(UnitAreaTreeVo root, List<UnitAreaTreeVo> all) {
return all.stream().filter(d -> StringUtil.isNotEmpty(d.getParentId()) && d.getParentId().equals(root.getId())
// || (StringUtil.isNotEmpty(d.getBizOrgCode())
// && d.getBizOrgCode().equals(root.getBizOrgCode())
// && !"area".equals(root.getType())
// && !d.getId().equals(root.getId()))
)
.peek(m -> m.setChildren(getAreaChildren(m, all)))
.collect(Collectors.toList());
private List<UnitAreaTreeVo> getChildrenFromData(Long parentId, List<UnitAreaTreeVo> areaTreeList) {
return areaTreeList.stream().filter(a->a.getParentId().equals(parentId)).peek(e-> e.setChildren(getChildrenFromData(e.getId(),areaTreeList))).collect(Collectors.toList());
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment