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

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

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