Commit 8fda5370 authored by 刘林's avatar 刘林

fix(大屏):获取本级及子级区域code报错问题处理

parent b3df66d8
......@@ -1325,9 +1325,11 @@ public class JGDPStatisticsServiceImpl {
List<String> yData = new ArrayList<>();
regionModels.forEach(r -> {
xData.add(r.getRegionName());
String selfAndChildRegion = stCommonService.getSelfAndChildRegion(r);
Set<String> selfAndChildRegion = stCommonService.getSelfAndChildRegion(r);
if (!ValidationUtil.isEmpty(selfAndChildRegion)) {
yData.add(this.avgAndSumDealDate(countDtos.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
yData.add(this.avgAndSumDealDate(countDtos.stream().filter(c ->
selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))))
.collect(Collectors.toList())));
} else {
yData.add("0");
}
......
......@@ -579,14 +579,13 @@ public class StCommonServiceImpl {
* @param region 区域
* @return 本级及子级区域code
*/
public String getSelfAndChildRegion(RegionModel region) {
return Stream.concat(Stream.of(region.getRegionCode()),
Optional.ofNullable(region.getChildren())
.orElse(Collections.emptyList())
.stream()
.map(RegionModel::getRegionCode)
).map(String::valueOf)
.collect(Collectors.joining(","));
public Set<String> getSelfAndChildRegion(RegionModel region) {
if (region == null || region.getRegionCode() == null) {
return Collections.emptySet();
}
return Stream.concat(Stream.of(region.getRegionCode()),region.getChildren() == null ?
Stream.empty(): region.getChildren().stream().map(RegionModel::getRegionCode)
).map(String::valueOf).collect(Collectors.toSet());
}
/**
......@@ -595,14 +594,15 @@ public class StCommonServiceImpl {
* @return 单位所在行政区划
*/
public CharSequence castCompanyCode2RegionCode(String companyCode) {
if ("610000".equals(companyCode)) {
return companyCode;
if (ObjectUtils.isEmpty(companyCode) || companyCode.length() < 6) {
return "";
}
String regionSeq = commonMapper.selectCompanyRegionSeq(companyCode);
RegionModel region = regionModels.stream()
.filter(r -> String.valueOf(r.getSequenceNbr()).equals(regionSeq))
return ObjectUtils.isEmpty(regionSeq) ? "" :
regionModels.stream()
.filter(r -> regionSeq.equals(String.valueOf(r.getSequenceNbr())))
.map(r -> String.valueOf(r.getRegionCode()))
.findFirst()
.orElseThrow(() -> new RuntimeException("未找到对应区域"));
return String.valueOf(region.getRegionCode());
.orElse("");
}
}
......@@ -16,10 +16,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Component
......@@ -82,13 +79,13 @@ public class YwblpjsxtjServiceImpl implements IZBGLService {
regionModels.forEach(r -> {
xdata.add(r.getRegionName());
String selfAndChildRegion = stCommonService.getSelfAndChildRegion(r);
Set<String> selfAndChildRegion = stCommonService.getSelfAndChildRegion(r);
if (!ValidationUtil.isEmpty(selfAndChildRegion)) {
notic.add(this.avgAndSumDealDate(noticeCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
use.add(this.avgAndSumDealDate(useCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
change.add(this.avgAndSumDealDate(changeCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
disable.add(this.avgAndSumDealDate(disableCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
cancel.add(this.avgAndSumDealDate(cancelCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
notic.add(this.avgAndSumDealDate(noticeCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
use.add(this.avgAndSumDealDate(useCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
change.add(this.avgAndSumDealDate(changeCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
disable.add(this.avgAndSumDealDate(disableCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
cancel.add(this.avgAndSumDealDate(cancelCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
} else {
notic.add("0");
use.add("0");
......@@ -125,12 +122,12 @@ public class YwblpjsxtjServiceImpl implements IZBGLService {
regionModels.forEach(r -> {
Map<String,Object> map = new HashMap<>();
map.put("regionName",r.getRegionName());
String selfAndChildRegion = stCommonService.getSelfAndChildRegion(r);
map.put("notic",this.avgAndSumDealDate(noticeCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
map.put("use",this.avgAndSumDealDate(useCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
map.put("change",this.avgAndSumDealDate(changeCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
map.put("disable",this.avgAndSumDealDate(disableCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
map.put("cancel",this.avgAndSumDealDate(cancelCount.stream().filter(c -> selfAndChildRegion.contains(stCommonService.castCompanyCode2RegionCode(c.getKeyStr()))).collect(Collectors.toList())));
Set<String> selfAndChildRegion = stCommonService.getSelfAndChildRegion(r);
map.put("notic",this.avgAndSumDealDate(noticeCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
map.put("use",this.avgAndSumDealDate(useCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
map.put("change",this.avgAndSumDealDate(changeCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
map.put("disable",this.avgAndSumDealDate(disableCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
map.put("cancel",this.avgAndSumDealDate(cancelCount.stream().filter(c -> selfAndChildRegion.contains(String.valueOf(stCommonService.castCompanyCode2RegionCode(c.getKeyStr())))).collect(Collectors.toList())));
list.add(map);
});
page.setRecords(list);
......
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