Commit 99229acb authored by chenhao's avatar chenhao

修改获取子节点的方法

parent ddcb43d2
......@@ -293,7 +293,7 @@ public class FireStationServiceImpl extends BaseService<FireStationDto, FireStat
for (Map<String, Object> map : list) {
if(map.get("id").toString().equals(id) && map.get("parentId")!=null ) {
tegartString=tegartString+","+map.get("parentId").toString();
return getNodeAllParentIds(list,map.get("parentId").toString(),tegartString);
getNodeAllParentIds(list,map.get("parentId").toString(),tegartString);
}
}
return tegartString;
......@@ -313,7 +313,7 @@ public class FireStationServiceImpl extends BaseService<FireStationDto, FireStat
for (Map<String, Object> map : list) {
if(map.get("parentId").toString().equals(id) && map.get("parentId")!=null ) {
resultList.add(map.get("id").toString());
return getNodeAllnodeIds(resultList,list,map.get("id").toString());
getNodeAllnodeIds(resultList,list,map.get("id").toString());
}
}
return resultList;
......
......@@ -87,12 +87,11 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
*/
public IPage<KeySiteDto> getPageList(Page<KeySiteDto> page, String name, Long buildingId, String fireEnduranceRate,
String useNature, String fireFacilitiesInfo, String bizOrgCode) {
List<Long> ids =null;
if(buildingId!=null && buildingId.intValue()!= 0) {
ids =getNodeAllnodeIds(buildingId);
List<Long> ids = null;
if (buildingId != null && buildingId.intValue() != 0) {
ids = getNodeAllnodeIds(buildingId);
}
return keySiteMapper.getPageList(page, name, ids, fireEnduranceRate, useNature, fireFacilitiesInfo,
bizOrgCode);
return keySiteMapper.getPageList(page, name, ids, fireEnduranceRate, useNature, fireFacilitiesInfo, bizOrgCode);
}
@Override
......@@ -304,7 +303,7 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
String[] fireEnduranceRateArray = keySiteExcleDto.getBuildingName().split("@");
keySiteDto.setBuildingId(Long.parseLong(fireEnduranceRateArray[1]));
keySiteDto.setBuildingName(fireEnduranceRateArray[0]);
if(maps.containsKey(fireEnduranceRateArray[1])) {
if (maps.containsKey(fireEnduranceRateArray[1])) {
keySiteDto.setParentBuildingId(maps.get(fireEnduranceRateArray[1]));
}
......@@ -335,6 +334,7 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
}
return this.saveBatch(excelList);
}
public Map<String, String> getAllBuildingIdForParentBuilingIds(List<KeySiteExcleDto> excelDtoList) {
List<String> list = new ArrayList<String>();
for (KeySiteExcleDto keySiteExcleDto : excelDtoList) {
......@@ -409,17 +409,18 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
@SuppressWarnings("unchecked")
@Override
public List<Map<String, Object>> keySiteCountAndBuildingTree(String bizOrgCode) {
int allCount=0;
int allCount = 0;
Map<String, Integer> keySiteCountMap = parseKeySiteCount(bizOrgCode);
ResponseModel<Object> response = equipFeignClient.getBuildingTree();
List<Map<String, Object>> buildingMapList = (List<Map<String, Object>>) response.getResult();
if(buildingMapList==null || buildingMapList.size()<1) {
if (buildingMapList == null || buildingMapList.size() < 1) {
return null;
}
Map<String, Object> reMap = parseTree((List<Map<String, Object>>)buildingMapList.get(0).get("children"),keySiteCountMap,allCount);
Map<String, Object> fristMap= buildingMapList.get(0);
Map<String, Object> reMap = parseTree((List<Map<String, Object>>) buildingMapList.get(0).get("children"),
keySiteCountMap, allCount);
Map<String, Object> fristMap = buildingMapList.get(0);
fristMap.put("id", 0);
fristMap.put("name", fristMap.get("instanceName")+" ("+reMap.get("allCount")+")");
fristMap.put("name", fristMap.get("instanceName") + " (" + reMap.get("allCount") + ")");
fristMap.put("children", fristMap.get("children"));
buildingMapList.clear();
buildingMapList.add(fristMap);
......@@ -427,23 +428,24 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
}
@SuppressWarnings("unchecked")
private Map<String, Object> parseTree(List<Map<String, Object>> children,
Map<String, Integer> keySiteCountMap,int allCount) {
Map<String, Object> resultMap= new HashMap<String, Object>();
private Map<String, Object> parseTree(List<Map<String, Object>> children, Map<String, Integer> keySiteCountMap,
int allCount) {
Map<String, Object> resultMap = new HashMap<String, Object>();
if (!ValidationUtil.isEmpty(children)) {
for (Map<String, Object> child : children) {
if (child.get("id") != null) {
if (keySiteCountMap.containsKey(child.get("id").toString())) {
allCount = allCount + keySiteCountMap.get(child.get("id").toString()).intValue();
child.put("name",child.get("name") +" ("+keySiteCountMap.get(child.get("id").toString())+")");
}else {
child.put("name",child.get("name") +" ("+0+")");
child.put("name",
child.get("name") + " (" + keySiteCountMap.get(child.get("id").toString()) + ")");
} else {
child.put("name", child.get("name") + " (" + 0 + ")");
}
}else {
child.put("name",child.get("name") +" ("+0+")");
} else {
child.put("name", child.get("name") + " (" + 0 + ")");
}
if (!ValidationUtil.isEmpty(child.get("children"))) {
parseTree((List<Map<String, Object>>) child.get("children"), keySiteCountMap,allCount);
parseTree((List<Map<String, Object>>) child.get("children"), keySiteCountMap, allCount);
}
}
}
......@@ -477,25 +479,25 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
}
public Map<String, String> getNodeAllParentIds(List<String> ids) {
Map<String, String> map =new HashMap<String, String>();
ResponseModel<List<Map<String, Object>>> response= equipFeignClient.getBuildingTreeList();
List<Map<String, Object>> responseList =response.getResult();
if(response.getResult()==null && response.getResult().size()<1) {
Map<String, String> map = new HashMap<String, String>();
ResponseModel<List<Map<String, Object>>> response = equipFeignClient.getBuildingTreeList();
List<Map<String, Object>> responseList = response.getResult();
if (response.getResult() == null && response.getResult().size() < 1) {
return null;
}
ids.stream().forEach(i->{
ids.stream().forEach(i -> {
String tegartString = getNodeAllParentIds( responseList,i,i);
String tegartString = getNodeAllParentIds(responseList, i, i);
map.put(i, tegartString);
});
return map;
}
private String getNodeAllParentIds(List<Map<String, Object>> list , String id,String tegartString){
private String getNodeAllParentIds(List<Map<String, Object>> list, String id, String tegartString) {
for (Map<String, Object> map : list) {
if(map.get("id").toString().equals(id) && map.get("parentId")!=null ) {
tegartString=tegartString+","+map.get("parentId").toString();
return getNodeAllParentIds(list,map.get("parentId").toString(),tegartString);
if (map.get("id").toString().equals(id) && map.get("parentId") != null) {
tegartString = tegartString + "," + map.get("parentId").toString();
getNodeAllParentIds(list, map.get("parentId").toString(), tegartString);
}
}
return tegartString;
......@@ -504,19 +506,19 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
public List<Long> getNodeAllnodeIds(Long id) {
List<Long> resultList = new ArrayList<Long>();
resultList.add(id);
ResponseModel<List<Map<String, Object>>> response= equipFeignClient.getBuildingTreeList();
List<Map<String, Object>> responseList =response.getResult();
if(response.getResult()==null && response.getResult().size()<1) {
ResponseModel<List<Map<String, Object>>> response = equipFeignClient.getBuildingTreeList();
List<Map<String, Object>> responseList = response.getResult();
if (response.getResult() == null && response.getResult().size() < 1) {
return null;
}
return getNodeAllnodeIds(resultList, responseList,id.toString());
return getNodeAllnodeIds(resultList, responseList, id.toString());
}
private List<Long> getNodeAllnodeIds(List<Long> resultList,List<Map<String, Object>> list,String id){
private List<Long> getNodeAllnodeIds(List<Long> resultList, List<Map<String, Object>> list, String id) {
for (Map<String, Object> map : list) {
if(map.get("parentId").toString().equals(id) && map.get("parentId")!=null ) {
if (map.get("parentId").toString().equals(id) && map.get("parentId") != null) {
resultList.add(Long.parseLong(map.get("id").toString()));
return getNodeAllnodeIds(resultList,list,map.get("id").toString());
getNodeAllnodeIds(resultList, list, map.get("id").toString());
}
}
return resultList;
......
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