Browse Source

fix--规范信访追责问责数据

master
buaixuexideshitongxue 1 month ago
parent
commit
fdaaf708ad
  1. 50
      src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java

50
src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java

@ -983,9 +983,36 @@ public class DatavServiceImpl implements DatavService {
// 一级信访投诉占比 & 中央数据统计
@Override
public Result<JSONObject> getAllMailCount(DataVRequest request) {
MailOverviewVo overview = dataMailService.mailCount(request.getBeginTime(), request.getEndTime());
long totalMail = overview.getCountryMail() + overview.getPoliceMail() + overview.getNumberMail();
overview.setTotalMail(totalMail);
// 国家信访
QueryWrapper<DataPetitionComplaint> countryQueryWrapper = new QueryWrapper<>();
countryQueryWrapper.eq("problem_sources_code", 21);
countryQueryWrapper.between("create_time", request.getBeginTime(), request.getEndTime());
Long countryMail = dataPetitionComplaintMapper.selectCount(countryQueryWrapper);
// 公安部信访
QueryWrapper<DataPetitionComplaint> policeQueryWrapper = new QueryWrapper<>();
policeQueryWrapper.eq("problem_sources_code", 22);
policeQueryWrapper.between("create_time", request.getBeginTime(), request.getEndTime());
Long policeMail = dataPetitionComplaintMapper.selectCount(policeQueryWrapper);
// 12337
QueryWrapper<DataPetition12337> queryWrapper12337 = new QueryWrapper<>();
queryWrapper12337.between("discover_time", request.getBeginTime(), request.getEndTime());
Long mail12337 = dataPetition12337Mapper.selectCount(queryWrapper12337);
// 局长信箱
QueryWrapper<Mail> mailQueryWrapper = new QueryWrapper<>();
mailQueryWrapper.ne("mail_state", VALID_SIGN);
mailQueryWrapper.between("mail_time", request.getBeginTime(), request.getEndTime());
Long mailCount = mailMapper.selectCount(mailQueryWrapper);
MailOverviewVo overview = new MailOverviewVo();
overview.setCountryMail(countryMail);
overview.setPoliceMail(policeMail);
overview.setNumberMail(mail12337);
overview.setManageMail(mailCount);
overview.setTotalMail(overview.getCountryMail() + overview.getPoliceMail() + overview.getNumberMail());
JSONObject data = new JSONObject().fluentPut("overview", overview);
return Result.success(data);
}
@ -1078,17 +1105,20 @@ public class DatavServiceImpl implements DatavService {
List<Negative> negatives = negativeResourceService.query(negativeQueryParam);
BlameResult blameResult = this.buildBlameResult(negatives);
List<NegativeBlame> negativeBlames = blameResult.personalBlames();
Map<String, List<NegativeBlame>> blames = negativeBlames.stream()
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName()))
.filter(one -> !NO_BLAME.equals(one.getHandleResultName()))
.collect(Collectors.groupingBy(NegativeBlame::getHandleResultName));
for (Map.Entry<String, List<NegativeBlame>> entry : blames.entrySet()) {
// 问责处理情况与统一统计口径保持一致:先拆分多处理结果,再按单项处理结果聚合。
Map<String, Long> blames = negativeBlames.stream()
.filter(one -> StrUtil.isNotBlank(one.getBlameName()))
.flatMap(one -> splitValidAccountabilityResults(one.getHandleResultName()).stream()
.map(resultName -> one.getNegativeId() + "_" + one.getBlameName() + "_" + resultName))
.map(item -> item.substring(item.lastIndexOf('_') + 1))
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
for (Map.Entry<String, Long> entry : blames.entrySet()) {
EchartsVo echartsVo = new EchartsVo();
echartsVo.setName(entry.getKey());
echartsVo.setValue(entry.getValue().size());
echartsVo.setValue(entry.getValue().intValue());
resultCountArray.add(echartsVo);
}
this.filterZero(resultCountArray);
resultCountArray = this.filterZero(resultCountArray);
JSONObject data = new JSONObject().fluentPut("resultCountArray", resultCountArray);
return Result.success(data);
}

Loading…
Cancel
Save