|
|
|
@ -983,9 +983,36 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
// 一级信访投诉占比 & 中央数据统计
|
|
|
|
// 一级信访投诉占比 & 中央数据统计
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public Result<JSONObject> getAllMailCount(DataVRequest request) { |
|
|
|
public Result<JSONObject> getAllMailCount(DataVRequest request) { |
|
|
|
MailOverviewVo overview = dataMailService.mailCount(request.getBeginTime(), request.getEndTime()); |
|
|
|
// 国家信访
|
|
|
|
long totalMail = overview.getCountryMail() + overview.getPoliceMail() + overview.getNumberMail(); |
|
|
|
QueryWrapper<DataPetitionComplaint> countryQueryWrapper = new QueryWrapper<>(); |
|
|
|
overview.setTotalMail(totalMail); |
|
|
|
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); |
|
|
|
JSONObject data = new JSONObject().fluentPut("overview", overview); |
|
|
|
return Result.success(data); |
|
|
|
return Result.success(data); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1078,17 +1105,20 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
List<Negative> negatives = negativeResourceService.query(negativeQueryParam); |
|
|
|
List<Negative> negatives = negativeResourceService.query(negativeQueryParam); |
|
|
|
BlameResult blameResult = this.buildBlameResult(negatives); |
|
|
|
BlameResult blameResult = this.buildBlameResult(negatives); |
|
|
|
List<NegativeBlame> negativeBlames = blameResult.personalBlames(); |
|
|
|
List<NegativeBlame> negativeBlames = blameResult.personalBlames(); |
|
|
|
Map<String, List<NegativeBlame>> blames = negativeBlames.stream() |
|
|
|
// 问责处理情况与统一统计口径保持一致:先拆分多处理结果,再按单项处理结果聚合。
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
Map<String, Long> blames = negativeBlames.stream() |
|
|
|
.filter(one -> !NO_BLAME.equals(one.getHandleResultName())) |
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getBlameName())) |
|
|
|
.collect(Collectors.groupingBy(NegativeBlame::getHandleResultName)); |
|
|
|
.flatMap(one -> splitValidAccountabilityResults(one.getHandleResultName()).stream() |
|
|
|
for (Map.Entry<String, List<NegativeBlame>> entry : blames.entrySet()) { |
|
|
|
.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 echartsVo = new EchartsVo(); |
|
|
|
echartsVo.setName(entry.getKey()); |
|
|
|
echartsVo.setName(entry.getKey()); |
|
|
|
echartsVo.setValue(entry.getValue().size()); |
|
|
|
echartsVo.setValue(entry.getValue().intValue()); |
|
|
|
resultCountArray.add(echartsVo); |
|
|
|
resultCountArray.add(echartsVo); |
|
|
|
} |
|
|
|
} |
|
|
|
this.filterZero(resultCountArray); |
|
|
|
resultCountArray = this.filterZero(resultCountArray); |
|
|
|
JSONObject data = new JSONObject().fluentPut("resultCountArray", resultCountArray); |
|
|
|
JSONObject data = new JSONObject().fluentPut("resultCountArray", resultCountArray); |
|
|
|
return Result.success(data); |
|
|
|
return Result.success(data); |
|
|
|
} |
|
|
|
} |
|
|
|
|