|
|
|
@ -435,39 +435,15 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
List<Negative> negatives = negativeResourceService.query(negativeQueryParam); |
|
|
|
List<Negative> negatives = negativeResourceService.query(negativeQueryParam); |
|
|
|
List<Negative> ssList = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
List<Negative> ssList = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
NegativeBlameQueryParam negativeBlameQueryParam = new NegativeBlameQueryParam(); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
negativeBlameQueryParam.setNegativeIds(ssList.stream().map(Negative::getId).toList()); |
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negatives); |
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(negativeBlameQueryParam); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 个人问责
|
|
|
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 4. 领导问责(按 negativeId + 领导姓名 + 领导处理结果 去重)
|
|
|
|
|
|
|
|
Set<String> seenLead = new HashSet<>(); |
|
|
|
|
|
|
|
List<NegativeBlame> leadBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> seenLead.add( |
|
|
|
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
|
|
|
)) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 5. 单位问责
|
|
|
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VideoSuperviseCountVo overview = new VideoSuperviseCountVo(); |
|
|
|
VideoSuperviseCountVo overview = new VideoSuperviseCountVo(); |
|
|
|
overview.setTotal(negatives.size()); |
|
|
|
overview.setTotal(negatives.size()); |
|
|
|
overview.setCompletionProblem((long) completedList.size()); |
|
|
|
overview.setCompletionProblem((long) completedList.size()); |
|
|
|
overview.setDiscoverProblem((long) ssList.size()); |
|
|
|
overview.setDiscoverProblem((long) ssList.size()); |
|
|
|
overview.setRelativeOrg((long) unitBlames.size()); |
|
|
|
overview.setRelativeOrg(accountabilityCountResult.unitCount()); |
|
|
|
overview.setRelativePer((long) (personalBlames.size() + leadBlames.size())); |
|
|
|
overview.setRelativePer(accountabilityCountResult.personTotalCount()); |
|
|
|
JSONObject data = new JSONObject().fluentPut("overview", overview); |
|
|
|
JSONObject data = new JSONObject().fluentPut("overview", overview); |
|
|
|
return Result.success(data); |
|
|
|
return Result.success(data); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -487,41 +463,15 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
|
|
|
|
|
|
|
|
List<Negative> ssList = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
List<Negative> ssList = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList(); |
|
|
|
NegativeBlameQueryParam negativeBlameQueryParam = new NegativeBlameQueryParam(); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
negativeBlameQueryParam.setNegativeIds(ssList.stream().map(Negative::getId).toList()); |
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negatives); |
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(negativeBlameQueryParam); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 个人问责
|
|
|
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 4. 领导问责(按 negativeId + 领导姓名 + 领导处理结果 去重)
|
|
|
|
|
|
|
|
Set<String> seenLead = new HashSet<>(); |
|
|
|
|
|
|
|
List<NegativeBlame> leadBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> seenLead.add( |
|
|
|
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
|
|
|
)) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 5. 单位问责
|
|
|
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VideoSuperviseMapIconVo videoSuperviseMapIconVo = new VideoSuperviseMapIconVo(); |
|
|
|
VideoSuperviseMapIconVo videoSuperviseMapIconVo = new VideoSuperviseMapIconVo(); |
|
|
|
videoSuperviseMapIconVo.setName(fxsj.getShortName()); |
|
|
|
videoSuperviseMapIconVo.setName(fxsj.getShortName()); |
|
|
|
videoSuperviseMapIconVo.setDepartId(fxsj.getId()); |
|
|
|
videoSuperviseMapIconVo.setDepartId(fxsj.getId()); |
|
|
|
videoSuperviseMapIconVo.setDiscoverProblem(ssList.size()); |
|
|
|
videoSuperviseMapIconVo.setDiscoverProblem(ssList.size()); |
|
|
|
videoSuperviseMapIconVo.setCompletionProblem(completedList.size()); |
|
|
|
videoSuperviseMapIconVo.setCompletionProblem(completedList.size()); |
|
|
|
videoSuperviseMapIconVo.setRelativeOrg(unitBlames.size()); |
|
|
|
videoSuperviseMapIconVo.setRelativeOrg(Math.toIntExact(accountabilityCountResult.unitCount())); |
|
|
|
videoSuperviseMapIconVo.setRelativePer(personalBlames.size() + leadBlames.size()); |
|
|
|
videoSuperviseMapIconVo.setRelativePer(Math.toIntExact(accountabilityCountResult.personTotalCount())); |
|
|
|
videoSuperviseMapIconVoList.add(videoSuperviseMapIconVo); |
|
|
|
videoSuperviseMapIconVoList.add(videoSuperviseMapIconVo); |
|
|
|
} |
|
|
|
} |
|
|
|
videoSuperviseMapIconVoList.forEach(VideoSuperviseMapIconVo::initDefaultIfNull); |
|
|
|
videoSuperviseMapIconVoList.forEach(VideoSuperviseMapIconVo::initDefaultIfNull); |
|
|
|
@ -662,34 +612,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
superviseReportLambdaQueryWrapper.between(SuperviseReport::getCrtTime, request.getBeginTime(), request.getEndTime()); |
|
|
|
superviseReportLambdaQueryWrapper.between(SuperviseReport::getCrtTime, request.getBeginTime(), request.getEndTime()); |
|
|
|
superviseReportLambdaQueryWrapper.eq(SuperviseReport::getType, "1"); |
|
|
|
superviseReportLambdaQueryWrapper.eq(SuperviseReport::getType, "1"); |
|
|
|
List<SuperviseReport> superviseReportList = superviseReportService.list(superviseReportLambdaQueryWrapper); |
|
|
|
List<SuperviseReport> superviseReportList = superviseReportService.list(superviseReportLambdaQueryWrapper); |
|
|
|
List<String> negativeIds = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).map(Negative::getId).toList(); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
|
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negatives); |
|
|
|
NegativeBlameQueryParam negativeBlameQueryParam = new NegativeBlameQueryParam(); |
|
|
|
|
|
|
|
negativeBlameQueryParam.setNegativeIds(negativeIds); |
|
|
|
|
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(negativeBlameQueryParam); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 个人问责
|
|
|
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 4. 领导问责(按 negativeId + 领导姓名 + 领导处理结果 去重)
|
|
|
|
|
|
|
|
Set<String> seenLead = new HashSet<>(); |
|
|
|
|
|
|
|
List<NegativeBlame> leadBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> seenLead.add( |
|
|
|
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
|
|
|
)) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 5. 单位问责
|
|
|
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 通报问题数
|
|
|
|
// 通报问题数
|
|
|
|
overView.setProblemNumber(negatives.size()); |
|
|
|
overView.setProblemNumber(negatives.size()); |
|
|
|
@ -700,8 +624,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
// 已办结
|
|
|
|
// 已办结
|
|
|
|
overView.setCompletedNumber((long) completedList.size()); |
|
|
|
overView.setCompletedNumber((long) completedList.size()); |
|
|
|
// 问责单位数
|
|
|
|
// 问责单位数
|
|
|
|
overView.setDepartNumber((long) unitBlames.size()); |
|
|
|
overView.setDepartNumber(accountabilityCountResult.unitCount()); |
|
|
|
overView.setPersonNumber((long) (personalBlames.size() + leadBlames.size())); |
|
|
|
overView.setPersonNumber(accountabilityCountResult.personTotalCount()); |
|
|
|
return Result.success(overView); |
|
|
|
return Result.success(overView); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -735,14 +659,15 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
.orElse(Collections.emptySet()); |
|
|
|
.orElse(Collections.emptySet()); |
|
|
|
superviseReportLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(allDepartIds), SuperviseReport::getCrtDepartId, allDepartIds); |
|
|
|
superviseReportLambdaQueryWrapper.in(CollectionUtil.isNotEmpty(allDepartIds), SuperviseReport::getCrtDepartId, allDepartIds); |
|
|
|
List<SuperviseReport> superviseReportList = superviseReportService.list(superviseReportLambdaQueryWrapper); |
|
|
|
List<SuperviseReport> superviseReportList = superviseReportService.list(superviseReportLambdaQueryWrapper); |
|
|
|
BlameResult blameResult = this.buildBlameResult(negatives); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
|
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negatives); |
|
|
|
superviseMapIconVo.setDepartId(fxsj.getId()); |
|
|
|
superviseMapIconVo.setDepartId(fxsj.getId()); |
|
|
|
superviseMapIconVo.setName(fxsj.getShortName()); |
|
|
|
superviseMapIconVo.setName(fxsj.getShortName()); |
|
|
|
superviseMapIconVo.setTotalPro(negatives.size()); |
|
|
|
superviseMapIconVo.setTotalPro(negatives.size()); |
|
|
|
superviseMapIconVo.setProcessingNumber(processingList.size()); |
|
|
|
superviseMapIconVo.setProcessingNumber(processingList.size()); |
|
|
|
superviseMapIconVo.setCompletedNumber(completedList.size()); |
|
|
|
superviseMapIconVo.setCompletedNumber(completedList.size()); |
|
|
|
superviseMapIconVo.setRelationOrg(String.valueOf(blameResult.unitBlames().size())); |
|
|
|
superviseMapIconVo.setRelationOrg(String.valueOf(accountabilityCountResult.unitCount())); |
|
|
|
superviseMapIconVo.setPersonNum(String.valueOf(blameResult.personalBlames().size() + blameResult.leadBlames().size())); |
|
|
|
superviseMapIconVo.setPersonNum(String.valueOf(accountabilityCountResult.personTotalCount())); |
|
|
|
superviseMapIconVo.setReportNumber(String.valueOf(superviseReportList.size())); |
|
|
|
superviseMapIconVo.setReportNumber(String.valueOf(superviseReportList.size())); |
|
|
|
superviseTempMapVoList.add(superviseMapIconVo); |
|
|
|
superviseTempMapVoList.add(superviseMapIconVo); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -900,30 +825,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
List<Negative> ssNegative = negatives.stream() |
|
|
|
List<Negative> ssNegative = negatives.stream() |
|
|
|
.filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
.filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
|
|
|
|
|
|
|
|
NegativeBlameQueryParam negativeBlameQueryParam = new NegativeBlameQueryParam(); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
negativeBlameQueryParam.setNegativeIds(ssNegative.stream().map(Negative::getId).toList()); |
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negatives); |
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(negativeBlameQueryParam); |
|
|
|
|
|
|
|
// 3. 个人问责
|
|
|
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 4. 领导问责(按 negativeId + 领导姓名 + 领导处理结果 去重)
|
|
|
|
|
|
|
|
Set<String> seenLead = new HashSet<>(); |
|
|
|
|
|
|
|
List<NegativeBlame> leadBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> seenLead.add( |
|
|
|
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
|
|
|
)) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 5. 单位问责
|
|
|
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
//计算查实率(向上取整)
|
|
|
|
//计算查实率(向上取整)
|
|
|
|
Double verificationRate = 0.0; |
|
|
|
Double verificationRate = 0.0; |
|
|
|
if (!dataCaseVerifs.isEmpty() || !jbNegatvieList.isEmpty()) { |
|
|
|
if (!dataCaseVerifs.isEmpty() || !jbNegatvieList.isEmpty()) { |
|
|
|
@ -933,8 +836,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
overview.setTotal(dataCaseVerifs.size() + jbNegatvieList.size()); |
|
|
|
overview.setTotal(dataCaseVerifs.size() + jbNegatvieList.size()); |
|
|
|
overview.setConfirmed(ssNegative.size()); |
|
|
|
overview.setConfirmed(ssNegative.size()); |
|
|
|
overview.setDealCasePro((long) negatives.size()); |
|
|
|
overview.setDealCasePro((long) negatives.size()); |
|
|
|
overview.setPunishPre((long) (personalBlames.size() + leadBlames.size())); |
|
|
|
overview.setPunishPre(accountabilityCountResult.personTotalCount()); |
|
|
|
overview.setPunishOrg((long) unitBlames.size()); |
|
|
|
overview.setPunishOrg(accountabilityCountResult.unitCount()); |
|
|
|
overview.setRate(verificationRate); |
|
|
|
overview.setRate(verificationRate); |
|
|
|
JSONObject res = new JSONObject().fluentPut("overview", overview); |
|
|
|
JSONObject res = new JSONObject().fluentPut("overview", overview); |
|
|
|
return Result.success(res); |
|
|
|
return Result.success(res); |
|
|
|
@ -962,31 +865,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
List<Negative> ssNegative = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
List<Negative> ssNegative = negatives.stream().filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) || CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())).toList(); |
|
|
|
// 交办案件数
|
|
|
|
// 交办案件数
|
|
|
|
List<Negative> jbNegatvieList = negatives.stream().filter(one -> ldjbCode.contains(one.getProblemSourcesCode())).toList(); |
|
|
|
List<Negative> jbNegatvieList = negatives.stream().filter(one -> ldjbCode.contains(one.getProblemSourcesCode())).toList(); |
|
|
|
NegativeBlameQueryParam negativeBlameQueryParam = new NegativeBlameQueryParam(); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
negativeBlameQueryParam.setNegativeIds(ssNegative.stream().map(Negative::getId).toList()); |
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negatives); |
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(negativeBlameQueryParam); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 3. 个人问责
|
|
|
|
|
|
|
|
List<NegativeBlame> personalBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 4. 领导问责(按 negativeId + 领导姓名 + 领导处理结果 去重)
|
|
|
|
|
|
|
|
Set<String> seenLead = new HashSet<>(); |
|
|
|
|
|
|
|
List<NegativeBlame> leadBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getLeadHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> seenLead.add( |
|
|
|
|
|
|
|
one.getNegativeId() + "_" + one.getLeadHandleResultName() + "_" + one.getLeadName() |
|
|
|
|
|
|
|
)) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
// 5. 单位问责
|
|
|
|
|
|
|
|
List<NegativeBlame> unitBlames = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getHandleResultName())) |
|
|
|
|
|
|
|
.filter(one -> !"不予追责".equals(one.getHandleResultName())) |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Double verificationRate = 0.0; |
|
|
|
Double verificationRate = 0.0; |
|
|
|
if (!dataCaseVerifs.isEmpty() || !jbNegatvieList.isEmpty()) { |
|
|
|
if (!dataCaseVerifs.isEmpty() || !jbNegatvieList.isEmpty()) { |
|
|
|
@ -999,8 +879,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
caseVerificationMapVo.setTotal(dataCaseVerifs.size() + jbNegatvieList.size()); |
|
|
|
caseVerificationMapVo.setTotal(dataCaseVerifs.size() + jbNegatvieList.size()); |
|
|
|
caseVerificationMapVo.setConfirmed(ssNegative.size()); |
|
|
|
caseVerificationMapVo.setConfirmed(ssNegative.size()); |
|
|
|
caseVerificationMapVo.setDealCasePro(negatives.size()); |
|
|
|
caseVerificationMapVo.setDealCasePro(negatives.size()); |
|
|
|
caseVerificationMapVo.setPunishPre(personalBlames.size() + leadBlames.size()); |
|
|
|
caseVerificationMapVo.setPunishPre(Math.toIntExact(accountabilityCountResult.personTotalCount())); |
|
|
|
caseVerificationMapVo.setPunishOrg(unitBlames.size()); |
|
|
|
caseVerificationMapVo.setPunishOrg(Math.toIntExact(accountabilityCountResult.unitCount())); |
|
|
|
caseVerificationMapVo.setRate(verificationRate); |
|
|
|
caseVerificationMapVo.setRate(verificationRate); |
|
|
|
caseVerificationMapList.add(caseVerificationMapVo); |
|
|
|
caseVerificationMapList.add(caseVerificationMapVo); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -1238,7 +1118,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime())); |
|
|
|
negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime())); |
|
|
|
negativeQueryParam.setProblemSourcesCode(List.of(ZFTZSJ.getValue())); |
|
|
|
negativeQueryParam.setProblemSourcesCode(List.of(ZFTZSJ.getValue())); |
|
|
|
List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam); |
|
|
|
List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam); |
|
|
|
BlameResult blameResult = this.buildBlameResult(negativeListData); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
|
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negativeListData); |
|
|
|
BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney); |
|
|
|
BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney); |
|
|
|
BigDecimal zftzsjje = this.sumAmountInWan(reportProjects, ReportProject::getArchivingReduceMoney); |
|
|
|
BigDecimal zftzsjje = this.sumAmountInWan(reportProjects, ReportProject::getArchivingReduceMoney); |
|
|
|
|
|
|
|
|
|
|
|
@ -1246,12 +1127,7 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
auditOverview.setAuditAmount(zftzje); |
|
|
|
auditOverview.setAuditAmount(zftzje); |
|
|
|
auditOverview.setAuditSjAmount(zftzsjje); |
|
|
|
auditOverview.setAuditSjAmount(zftzsjje); |
|
|
|
auditOverview.setNegativeNumber(negativeListData.size()); |
|
|
|
auditOverview.setNegativeNumber(negativeListData.size()); |
|
|
|
long accountableNumber = 0L; |
|
|
|
auditOverview.setAccountableNumber(accountabilityCountResult.personTotalCount()); |
|
|
|
if (blameResult != null) { |
|
|
|
|
|
|
|
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size(); |
|
|
|
|
|
|
|
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
auditOverview.setAccountableNumber(accountableNumber); |
|
|
|
|
|
|
|
} else { |
|
|
|
} else { |
|
|
|
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam(); |
|
|
|
DataAuditQueryParam dataAuditQueryParam = new DataAuditQueryParam(); |
|
|
|
dataAuditQueryParam.setAuditTimeStart(toLocalDateTime(request.getBeginTime())); |
|
|
|
dataAuditQueryParam.setAuditTimeStart(toLocalDateTime(request.getBeginTime())); |
|
|
|
@ -1262,19 +1138,15 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime())); |
|
|
|
negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime())); |
|
|
|
negativeQueryParam.setProblemSourcesCode(List.of(request.getAuditType())); |
|
|
|
negativeQueryParam.setProblemSourcesCode(List.of(request.getAuditType())); |
|
|
|
List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam); |
|
|
|
List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam); |
|
|
|
BlameResult blameResult = this.buildBlameResult(negativeListData); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
|
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negativeListData); |
|
|
|
BigDecimal je = this.sumAmount(dataAuditList, DataAudit::getAuditAmount, new BigDecimal(1)); |
|
|
|
BigDecimal je = this.sumAmount(dataAuditList, DataAudit::getAuditAmount, new BigDecimal(1)); |
|
|
|
BigDecimal zsjje = this.sumAmount(dataAuditList, DataAudit::getIssueAmount, new BigDecimal(1)); |
|
|
|
BigDecimal zsjje = this.sumAmount(dataAuditList, DataAudit::getIssueAmount, new BigDecimal(1)); |
|
|
|
auditOverview.setProjectNumber(BigDecimal.valueOf(dataAuditList.size())); |
|
|
|
auditOverview.setProjectNumber(BigDecimal.valueOf(dataAuditList.size())); |
|
|
|
auditOverview.setAuditAmount(je); |
|
|
|
auditOverview.setAuditAmount(je); |
|
|
|
auditOverview.setAuditSjAmount(zsjje); |
|
|
|
auditOverview.setAuditSjAmount(zsjje); |
|
|
|
auditOverview.setNegativeNumber(negativeListData.size()); |
|
|
|
auditOverview.setNegativeNumber(negativeListData.size()); |
|
|
|
long accountableNumber = 0L; |
|
|
|
auditOverview.setAccountableNumber(accountabilityCountResult.personTotalCount()); |
|
|
|
if (blameResult != null) { |
|
|
|
|
|
|
|
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size(); |
|
|
|
|
|
|
|
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
auditOverview.setAccountableNumber(accountableNumber); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
JSONObject object = new JSONObject(); |
|
|
|
JSONObject object = new JSONObject(); |
|
|
|
object.fluentPut("fxData", fxData); |
|
|
|
object.fluentPut("fxData", fxData); |
|
|
|
@ -1329,7 +1201,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime())); |
|
|
|
negativeQueryParam.setCrtTime(List.of(request.getBeginTime(), request.getEndTime())); |
|
|
|
negativeQueryParam.setProblemSourcesCode(GROUP_27_28_29_30); |
|
|
|
negativeQueryParam.setProblemSourcesCode(GROUP_27_28_29_30); |
|
|
|
List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam); |
|
|
|
List<Negative> negativeListData = negativeResourceService.query(negativeQueryParam); |
|
|
|
BlameResult blameResult = this.buildBlameResult(negativeListData); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
|
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negativeListData); |
|
|
|
// 政府投资总金额
|
|
|
|
// 政府投资总金额
|
|
|
|
BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney); |
|
|
|
BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney); |
|
|
|
// 政府投资审减金额
|
|
|
|
// 政府投资审减金额
|
|
|
|
@ -1342,12 +1215,7 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
overview.setAuditAmount(zftzje.add(qtsjje)); |
|
|
|
overview.setAuditAmount(zftzje.add(qtsjje)); |
|
|
|
overview.setAuditSjAmount(zftzsjje.add(qtsjwtje)); |
|
|
|
overview.setAuditSjAmount(zftzsjje.add(qtsjwtje)); |
|
|
|
overview.setNegativeNumber(negativeListData.size()); |
|
|
|
overview.setNegativeNumber(negativeListData.size()); |
|
|
|
long accountableNumber = 0L; |
|
|
|
overview.setAccountableNumber(accountabilityCountResult.personTotalCount()); |
|
|
|
if (blameResult != null) { |
|
|
|
|
|
|
|
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size(); |
|
|
|
|
|
|
|
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
overview.setAccountableNumber(accountableNumber); |
|
|
|
|
|
|
|
return Result.success(overview); |
|
|
|
return Result.success(overview); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -1384,7 +1252,8 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
|
|
|
|
|
|
|
|
List<Negative> negativeListData = negativeMapper.getNegativeListData(key, request.getBeginTime(), request.getEndTime(), GROUP_27_28_29_30); |
|
|
|
List<Negative> negativeListData = negativeMapper.getNegativeListData(key, request.getBeginTime(), request.getEndTime(), GROUP_27_28_29_30); |
|
|
|
|
|
|
|
|
|
|
|
BlameResult blameResult = this.buildBlameResult(negativeListData); |
|
|
|
// 使用统一的问责次数统计口径,便于核对大屏与导出逻辑差异
|
|
|
|
|
|
|
|
AccountabilityCountResult accountabilityCountResult = buildAccountabilityCountResult(negativeListData); |
|
|
|
// 政府投资总金额
|
|
|
|
// 政府投资总金额
|
|
|
|
BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney); |
|
|
|
BigDecimal zftzje = this.sumAmountInWan(reportProjects, ReportProject::getReportMoney); |
|
|
|
// 政府投资审减金额
|
|
|
|
// 政府投资审减金额
|
|
|
|
@ -1398,12 +1267,7 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
auditSuperviseMapIconVo.setAuditAmount(zftzje.add(qtsjje)); |
|
|
|
auditSuperviseMapIconVo.setAuditAmount(zftzje.add(qtsjje)); |
|
|
|
auditSuperviseMapIconVo.setAuditSjAmount(zftzsjje.add(qtsjwtje)); |
|
|
|
auditSuperviseMapIconVo.setAuditSjAmount(zftzsjje.add(qtsjwtje)); |
|
|
|
auditSuperviseMapIconVo.setNegativeNumber(negativeListData.size()); |
|
|
|
auditSuperviseMapIconVo.setNegativeNumber(negativeListData.size()); |
|
|
|
int accountableNumber = 0; |
|
|
|
auditSuperviseMapIconVo.setAccountableNumber(Math.toIntExact(accountabilityCountResult.personTotalCount())); |
|
|
|
if (blameResult != null) { |
|
|
|
|
|
|
|
accountableNumber += blameResult.personalBlames() == null ? 0 : blameResult.personalBlames().size(); |
|
|
|
|
|
|
|
accountableNumber += blameResult.leadBlames() == null ? 0 : blameResult.leadBlames().size(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
auditSuperviseMapIconVo.setAccountableNumber(accountableNumber); |
|
|
|
|
|
|
|
auditSuperviseMapIconVoList.add(auditSuperviseMapIconVo); |
|
|
|
auditSuperviseMapIconVoList.add(auditSuperviseMapIconVo); |
|
|
|
} |
|
|
|
} |
|
|
|
JSONObject data = new JSONObject().fluentPut("auditSuperviseMapIconVoList", auditSuperviseMapIconVoList); |
|
|
|
JSONObject data = new JSONObject().fluentPut("auditSuperviseMapIconVoList", auditSuperviseMapIconVoList); |
|
|
|
@ -1531,6 +1395,88 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static final Set<String> NO_ACCOUNTABILITY_SET = Set.of("不予问责", "不予追责"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private record AccountabilityCountResult( |
|
|
|
|
|
|
|
long personalCount, |
|
|
|
|
|
|
|
long leaderCount, |
|
|
|
|
|
|
|
long personTotalCount, |
|
|
|
|
|
|
|
long unitCount |
|
|
|
|
|
|
|
) {} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private AccountabilityCountResult buildAccountabilityCountResult(List<Negative> negatives) { |
|
|
|
|
|
|
|
if (CollectionUtil.isEmpty(negatives)) { |
|
|
|
|
|
|
|
return new AccountabilityCountResult(0L, 0L, 0L, 0L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> effectiveNegativeIds = negatives.stream() |
|
|
|
|
|
|
|
.filter(one -> CheckStatusEnum.TRUE_SET.contains(one.getCheckStatusCode()) |
|
|
|
|
|
|
|
|| CheckStatusEnum.PART_TRUE_SET.contains(one.getCheckStatusCode())) |
|
|
|
|
|
|
|
.map(Negative::getId) |
|
|
|
|
|
|
|
.filter(StrUtil::isNotBlank) |
|
|
|
|
|
|
|
.distinct() |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CollectionUtil.isEmpty(effectiveNegativeIds)) { |
|
|
|
|
|
|
|
return new AccountabilityCountResult(0L, 0L, 0L, 0L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NegativeBlameQueryParam param = new NegativeBlameQueryParam(); |
|
|
|
|
|
|
|
param.setNegativeIds(effectiveNegativeIds); |
|
|
|
|
|
|
|
List<NegativeBlame> negativeBlames = negativeBlameResourceService.query(param); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CollectionUtil.isEmpty(negativeBlames)) { |
|
|
|
|
|
|
|
return new AccountabilityCountResult(0L, 0L, 0L, 0L); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long personalCount = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getBlameName())) |
|
|
|
|
|
|
|
.flatMap(one -> splitValidAccountabilityResults(one.getHandleResultName()).stream() |
|
|
|
|
|
|
|
.map(resultName -> one.getNegativeId() + "_" + one.getBlameName() + "_" + resultName)) |
|
|
|
|
|
|
|
.distinct() |
|
|
|
|
|
|
|
.count(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long leaderCount = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.personal.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getLeadName())) |
|
|
|
|
|
|
|
.flatMap(one -> splitValidAccountabilityResults(one.getLeadHandleResultName()).stream() |
|
|
|
|
|
|
|
.map(resultName -> one.getNegativeId() + "_" + one.getLeadName() + "_" + resultName)) |
|
|
|
|
|
|
|
.distinct() |
|
|
|
|
|
|
|
.count(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long unitCount = negativeBlames.stream() |
|
|
|
|
|
|
|
.filter(one -> BlameType.department.name().equals(one.getType())) |
|
|
|
|
|
|
|
.filter(one -> StrUtil.isNotBlank(one.getBlameName())) |
|
|
|
|
|
|
|
.flatMap(one -> splitValidAccountabilityResults(one.getHandleResultName()).stream() |
|
|
|
|
|
|
|
.map(resultName -> one.getNegativeId() + "_" + one.getBlameName() + "_" + resultName)) |
|
|
|
|
|
|
|
.distinct() |
|
|
|
|
|
|
|
.count(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return new AccountabilityCountResult( |
|
|
|
|
|
|
|
personalCount, |
|
|
|
|
|
|
|
leaderCount, |
|
|
|
|
|
|
|
personalCount + leaderCount, |
|
|
|
|
|
|
|
unitCount |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<String> splitValidAccountabilityResults(String raw) { |
|
|
|
|
|
|
|
if (StrUtil.isBlank(raw)) { |
|
|
|
|
|
|
|
return List.of(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Arrays.stream(raw.split("[、,,]")) |
|
|
|
|
|
|
|
.map(String::trim) |
|
|
|
|
|
|
|
.filter(StrUtil::isNotBlank) |
|
|
|
|
|
|
|
.filter(item -> !NO_ACCOUNTABILITY_SET.contains(item)) |
|
|
|
|
|
|
|
.distinct() |
|
|
|
|
|
|
|
.toList(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public record BlameResult( |
|
|
|
public record BlameResult( |
|
|
|
List<NegativeBlame> personalBlames, |
|
|
|
List<NegativeBlame> personalBlames, |
|
|
|
List<NegativeBlame> leadBlames, |
|
|
|
List<NegativeBlame> leadBlames, |
|
|
|
@ -1667,337 +1613,4 @@ public class DatavServiceImpl implements DatavService { |
|
|
|
// endregion
|
|
|
|
// endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Result<JSONObject> getSubOneMailMapIcon() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ✅ 注意:这里的 name 必须和地图 geojson 区域名一致(一般是“xx街道/园区”)
|
|
|
|
|
|
|
|
// departId 仍然放派出所 dept_id,用于你点击打开弹窗时传参
|
|
|
|
|
|
|
|
List<MailMapIconVo> list = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 东屯渡街道 -> 东屯渡派出所(2990)
|
|
|
|
|
|
|
|
MailMapIconVo a = new MailMapIconVo(); |
|
|
|
|
|
|
|
a.setName("东屯渡街道"); |
|
|
|
|
|
|
|
a.setDepartId("2990"); |
|
|
|
|
|
|
|
a.setCountryTotal("32"); |
|
|
|
|
|
|
|
a.setPoliceTotal("18"); |
|
|
|
|
|
|
|
a.setCommissionerTotal("6"); |
|
|
|
|
|
|
|
a.setNumTotal("9"); |
|
|
|
|
|
|
|
a.setTotal(String.valueOf(32 + 18 + 9)); // total 不含 commissionerTotal
|
|
|
|
|
|
|
|
list.add(a); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 定王台街道 -> 定王台派出所(1245)
|
|
|
|
|
|
|
|
MailMapIconVo b = new MailMapIconVo(); |
|
|
|
|
|
|
|
b.setName("定王台街道"); |
|
|
|
|
|
|
|
b.setDepartId("1245"); |
|
|
|
|
|
|
|
b.setCountryTotal("21"); |
|
|
|
|
|
|
|
b.setPoliceTotal("10"); |
|
|
|
|
|
|
|
b.setCommissionerTotal("4"); |
|
|
|
|
|
|
|
b.setNumTotal("7"); |
|
|
|
|
|
|
|
b.setTotal(String.valueOf(21 + 10 + 7)); |
|
|
|
|
|
|
|
list.add(b); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 火星街道 -> 火星派出所(2985)
|
|
|
|
|
|
|
|
MailMapIconVo c = new MailMapIconVo(); |
|
|
|
|
|
|
|
c.setName("火星街道"); |
|
|
|
|
|
|
|
c.setDepartId("2985"); |
|
|
|
|
|
|
|
c.setCountryTotal("45"); |
|
|
|
|
|
|
|
c.setPoliceTotal("24"); |
|
|
|
|
|
|
|
c.setCommissionerTotal("9"); |
|
|
|
|
|
|
|
c.setNumTotal("14"); |
|
|
|
|
|
|
|
c.setTotal(String.valueOf(45 + 24 + 14)); |
|
|
|
|
|
|
|
list.add(c); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 五里牌街道 -> 五里牌派出所(2971)
|
|
|
|
|
|
|
|
MailMapIconVo d = new MailMapIconVo(); |
|
|
|
|
|
|
|
d.setName("五里牌街道"); |
|
|
|
|
|
|
|
d.setDepartId("2971"); |
|
|
|
|
|
|
|
d.setCountryTotal("16"); |
|
|
|
|
|
|
|
d.setPoliceTotal("9"); |
|
|
|
|
|
|
|
d.setCommissionerTotal("3"); |
|
|
|
|
|
|
|
d.setNumTotal("5"); |
|
|
|
|
|
|
|
d.setTotal(String.valueOf(16 + 9 + 5)); |
|
|
|
|
|
|
|
list.add(d); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 荷花园街道 -> 荷花园派出所(1247)
|
|
|
|
|
|
|
|
MailMapIconVo e = new MailMapIconVo(); |
|
|
|
|
|
|
|
e.setName("荷花园街道"); |
|
|
|
|
|
|
|
e.setDepartId("1247"); |
|
|
|
|
|
|
|
e.setCountryTotal("38"); |
|
|
|
|
|
|
|
e.setPoliceTotal("20"); |
|
|
|
|
|
|
|
e.setCommissionerTotal("7"); |
|
|
|
|
|
|
|
e.setNumTotal("11"); |
|
|
|
|
|
|
|
e.setTotal(String.valueOf(38 + 20 + 11)); |
|
|
|
|
|
|
|
list.add(e); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 文艺路街道 -> 文艺路派出所(2946)
|
|
|
|
|
|
|
|
MailMapIconVo f = new MailMapIconVo(); |
|
|
|
|
|
|
|
f.setName("文艺路街道"); |
|
|
|
|
|
|
|
f.setDepartId("2946"); |
|
|
|
|
|
|
|
f.setCountryTotal("12"); |
|
|
|
|
|
|
|
f.setPoliceTotal("6"); |
|
|
|
|
|
|
|
f.setCommissionerTotal("2"); |
|
|
|
|
|
|
|
f.setNumTotal("3"); |
|
|
|
|
|
|
|
f.setTotal(String.valueOf(12 + 6 + 3)); |
|
|
|
|
|
|
|
list.add(f); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 朝阳街街道 -> 朝阳街派出所(2960) (你表里就是“朝阳街街道”)
|
|
|
|
|
|
|
|
MailMapIconVo g = new MailMapIconVo(); |
|
|
|
|
|
|
|
g.setName("朝阳街街道"); |
|
|
|
|
|
|
|
g.setDepartId("2960"); |
|
|
|
|
|
|
|
g.setCountryTotal("27"); |
|
|
|
|
|
|
|
g.setPoliceTotal("13"); |
|
|
|
|
|
|
|
g.setCommissionerTotal("5"); |
|
|
|
|
|
|
|
g.setNumTotal("8"); |
|
|
|
|
|
|
|
g.setTotal(String.valueOf(27 + 13 + 8)); |
|
|
|
|
|
|
|
list.add(g); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 韭菜园街道 -> 韭菜园派出所(2940)
|
|
|
|
|
|
|
|
MailMapIconVo h = new MailMapIconVo(); |
|
|
|
|
|
|
|
h.setName("韭菜园街道"); |
|
|
|
|
|
|
|
h.setDepartId("2940"); |
|
|
|
|
|
|
|
h.setCountryTotal("19"); |
|
|
|
|
|
|
|
h.setPoliceTotal("7"); |
|
|
|
|
|
|
|
h.setCommissionerTotal("3"); |
|
|
|
|
|
|
|
h.setNumTotal("6"); |
|
|
|
|
|
|
|
h.setTotal(String.valueOf(19 + 7 + 6)); |
|
|
|
|
|
|
|
list.add(h); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 隆平高科技园 -> (dept_id=2898)
|
|
|
|
|
|
|
|
MailMapIconVo i = new MailMapIconVo(); |
|
|
|
|
|
|
|
i.setName("隆平高科技园"); |
|
|
|
|
|
|
|
i.setDepartId("2898"); |
|
|
|
|
|
|
|
i.setCountryTotal("8"); |
|
|
|
|
|
|
|
i.setPoliceTotal("4"); |
|
|
|
|
|
|
|
i.setCommissionerTotal("1"); |
|
|
|
|
|
|
|
i.setNumTotal("2"); |
|
|
|
|
|
|
|
i.setTotal(String.valueOf(8 + 4 + 2)); |
|
|
|
|
|
|
|
list.add(i); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 马王堆街道 -> 马王堆派出所(3003)
|
|
|
|
|
|
|
|
MailMapIconVo j = new MailMapIconVo(); |
|
|
|
|
|
|
|
j.setName("马王堆街道"); |
|
|
|
|
|
|
|
j.setDepartId("3003"); |
|
|
|
|
|
|
|
j.setCountryTotal("33"); |
|
|
|
|
|
|
|
j.setPoliceTotal("15"); |
|
|
|
|
|
|
|
j.setCommissionerTotal("6"); |
|
|
|
|
|
|
|
j.setNumTotal("10"); |
|
|
|
|
|
|
|
j.setTotal(String.valueOf(33 + 15 + 10)); |
|
|
|
|
|
|
|
list.add(j); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 马坡岭街道 -> 马坡岭派出所(3019)
|
|
|
|
|
|
|
|
MailMapIconVo k = new MailMapIconVo(); |
|
|
|
|
|
|
|
k.setName("马坡岭街道"); |
|
|
|
|
|
|
|
k.setDepartId("3019"); |
|
|
|
|
|
|
|
k.setCountryTotal("14"); |
|
|
|
|
|
|
|
k.setPoliceTotal("5"); |
|
|
|
|
|
|
|
k.setCommissionerTotal("2"); |
|
|
|
|
|
|
|
k.setNumTotal("4"); |
|
|
|
|
|
|
|
k.setTotal(String.valueOf(14 + 5 + 4)); |
|
|
|
|
|
|
|
list.add(k); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 湘湖街道 -> 湘湖派出所(1246)
|
|
|
|
|
|
|
|
MailMapIconVo l = new MailMapIconVo(); |
|
|
|
|
|
|
|
l.setName("湘湖街道"); |
|
|
|
|
|
|
|
l.setDepartId("1246"); |
|
|
|
|
|
|
|
l.setCountryTotal("26"); |
|
|
|
|
|
|
|
l.setPoliceTotal("12"); |
|
|
|
|
|
|
|
l.setCommissionerTotal("4"); |
|
|
|
|
|
|
|
l.setNumTotal("7"); |
|
|
|
|
|
|
|
l.setTotal(String.valueOf(26 + 12 + 7)); |
|
|
|
|
|
|
|
list.add(l); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 东岸街道 -> 东岸派出所(1248)
|
|
|
|
|
|
|
|
MailMapIconVo m = new MailMapIconVo(); |
|
|
|
|
|
|
|
m.setName("东岸街道"); |
|
|
|
|
|
|
|
m.setDepartId("1248"); |
|
|
|
|
|
|
|
m.setCountryTotal("11"); |
|
|
|
|
|
|
|
m.setPoliceTotal("4"); |
|
|
|
|
|
|
|
m.setCommissionerTotal("1"); |
|
|
|
|
|
|
|
m.setNumTotal("3"); |
|
|
|
|
|
|
|
m.setTotal(String.valueOf(11 + 4 + 3)); |
|
|
|
|
|
|
|
list.add(m); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 东湖街道 -> 东湖派出所(3038)
|
|
|
|
|
|
|
|
MailMapIconVo n = new MailMapIconVo(); |
|
|
|
|
|
|
|
n.setName("东湖街道"); |
|
|
|
|
|
|
|
n.setDepartId("3038"); |
|
|
|
|
|
|
|
n.setCountryTotal("29"); |
|
|
|
|
|
|
|
n.setPoliceTotal("16"); |
|
|
|
|
|
|
|
n.setCommissionerTotal("5"); |
|
|
|
|
|
|
|
n.setNumTotal("9"); |
|
|
|
|
|
|
|
n.setTotal(String.valueOf(29 + 16 + 9)); |
|
|
|
|
|
|
|
list.add(n); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject data = new JSONObject().fluentPut("mailMapIconList", list); |
|
|
|
|
|
|
|
return Result.success(data); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Result<JSONObject> mockSubOneEntanglementAndMassMail() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ===== 分县市局 - 群体集访 =====
|
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> fxsjMassMailList = new ArrayList<>(); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v1 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v1.setLabel("浏阳市局"); |
|
|
|
|
|
|
|
v1.setValue("126"); |
|
|
|
|
|
|
|
fxsjMassMailList.add(v1); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v2 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v2.setLabel("宁乡市局"); |
|
|
|
|
|
|
|
v2.setValue("98"); |
|
|
|
|
|
|
|
fxsjMassMailList.add(v2); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v3 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v3.setLabel("长沙县局"); |
|
|
|
|
|
|
|
v3.setValue("86"); |
|
|
|
|
|
|
|
fxsjMassMailList.add(v3); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v4 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v4.setLabel("望城区局"); |
|
|
|
|
|
|
|
v4.setValue("74"); |
|
|
|
|
|
|
|
fxsjMassMailList.add(v4); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v5 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v5.setLabel("岳麓分局"); |
|
|
|
|
|
|
|
v5.setValue("63"); |
|
|
|
|
|
|
|
fxsjMassMailList.add(v5); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ===== 分县市局 - 领导接访 =====
|
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> fxsjLeaderReviewMailList = new ArrayList<>(); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v6 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v6.setLabel("浏阳市局"); |
|
|
|
|
|
|
|
v6.setValue("34"); |
|
|
|
|
|
|
|
fxsjLeaderReviewMailList.add(v6); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v7 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v7.setLabel("宁乡市局"); |
|
|
|
|
|
|
|
v7.setValue("28"); |
|
|
|
|
|
|
|
fxsjLeaderReviewMailList.add(v7); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v8 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v8.setLabel("长沙县局"); |
|
|
|
|
|
|
|
v8.setValue("25"); |
|
|
|
|
|
|
|
fxsjLeaderReviewMailList.add(v8); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v9 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v9.setLabel("望城区局"); |
|
|
|
|
|
|
|
v9.setValue("19"); |
|
|
|
|
|
|
|
fxsjLeaderReviewMailList.add(v9); |
|
|
|
|
|
|
|
OrganizeProblemRankVo v10 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
v10.setLabel("岳麓分局"); |
|
|
|
|
|
|
|
v10.setValue("16"); |
|
|
|
|
|
|
|
fxsjLeaderReviewMailList.add(v10); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ===== 局属单位 - 群体集访 =====
|
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> bwzdMassMailList = new ArrayList<>(); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b1 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b1.setLabel("治安支队"); |
|
|
|
|
|
|
|
b1.setValue("47"); |
|
|
|
|
|
|
|
bwzdMassMailList.add(b1); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b2 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b2.setLabel("刑侦支队"); |
|
|
|
|
|
|
|
b2.setValue("39"); |
|
|
|
|
|
|
|
bwzdMassMailList.add(b2); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b3 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b3.setLabel("交警支队"); |
|
|
|
|
|
|
|
b3.setValue("33"); |
|
|
|
|
|
|
|
bwzdMassMailList.add(b3); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b4 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b4.setLabel("网安支队"); |
|
|
|
|
|
|
|
b4.setValue("28"); |
|
|
|
|
|
|
|
bwzdMassMailList.add(b4); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ===== 局属单位 - 领导接访 =====
|
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> bwzdLeaderReviewMailList = new ArrayList<>(); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b5 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b5.setLabel("治安支队"); |
|
|
|
|
|
|
|
b5.setValue("14"); |
|
|
|
|
|
|
|
bwzdLeaderReviewMailList.add(b5); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b6 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b6.setLabel("刑侦支队"); |
|
|
|
|
|
|
|
b6.setValue("11"); |
|
|
|
|
|
|
|
bwzdLeaderReviewMailList.add(b6); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b7 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b7.setLabel("交警支队"); |
|
|
|
|
|
|
|
b7.setValue("9"); |
|
|
|
|
|
|
|
bwzdLeaderReviewMailList.add(b7); |
|
|
|
|
|
|
|
OrganizeProblemRankVo b8 = new OrganizeProblemRankVo(); |
|
|
|
|
|
|
|
b8.setLabel("网安支队"); |
|
|
|
|
|
|
|
b8.setValue("6"); |
|
|
|
|
|
|
|
bwzdLeaderReviewMailList.add(b8); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ===== 汇总(分县市局)=====
|
|
|
|
|
|
|
|
MailEntanglementMassOverviewVo fxsjOverview = new MailEntanglementMassOverviewVo(); |
|
|
|
|
|
|
|
fxsjOverview.setEntanglement(0); |
|
|
|
|
|
|
|
fxsjOverview.setMass(fxsjMassMailList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum()); |
|
|
|
|
|
|
|
fxsjOverview.setLeaderReview(fxsjLeaderReviewMailList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ===== 汇总(局属单位)=====
|
|
|
|
|
|
|
|
MailEntanglementMassOverviewVo bwzdOverview = new MailEntanglementMassOverviewVo(); |
|
|
|
|
|
|
|
bwzdOverview.setEntanglement(0); |
|
|
|
|
|
|
|
bwzdOverview.setMass(bwzdMassMailList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum()); |
|
|
|
|
|
|
|
bwzdOverview.setLeaderReview(bwzdLeaderReviewMailList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject data = new JSONObject() |
|
|
|
|
|
|
|
.fluentPut("fxsjOverview", fxsjOverview) |
|
|
|
|
|
|
|
.fluentPut("bwzdOverview", bwzdOverview) |
|
|
|
|
|
|
|
.fluentPut("fxsjMassMailList", fxsjMassMailList) |
|
|
|
|
|
|
|
.fluentPut("bwzdMassMailList", bwzdMassMailList) |
|
|
|
|
|
|
|
.fluentPut("fxsjLeaderReviewMailList", fxsjLeaderReviewMailList) |
|
|
|
|
|
|
|
.fluentPut("bwzdLeaderReviewMailList", bwzdLeaderReviewMailList); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Result.success(data); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Result<JSONObject> getSubOneFirstAndRepeatMail() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 派出所 mock
|
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> fxsjFirstRankList = new ArrayList<>(); |
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> fxsjRepeatRankList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fxsjFirstRankList.add(new OrganizeProblemRankVo("芙蓉派出所", "15")); |
|
|
|
|
|
|
|
fxsjFirstRankList.add(new OrganizeProblemRankVo("天心派出所", "12")); |
|
|
|
|
|
|
|
fxsjFirstRankList.add(new OrganizeProblemRankVo("雨花派出所", "9")); |
|
|
|
|
|
|
|
fxsjFirstRankList.add(new OrganizeProblemRankVo("开福派出所", "7")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fxsjRepeatRankList.add(new OrganizeProblemRankVo("芙蓉派出所", "6")); |
|
|
|
|
|
|
|
fxsjRepeatRankList.add(new OrganizeProblemRankVo("天心派出所", "5")); |
|
|
|
|
|
|
|
fxsjRepeatRankList.add(new OrganizeProblemRankVo("雨花派出所", "3")); |
|
|
|
|
|
|
|
fxsjRepeatRankList.add(new OrganizeProblemRankVo("开福派出所", "2")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 大队 mock
|
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> bwzdFirstRankList = new ArrayList<>(); |
|
|
|
|
|
|
|
List<OrganizeProblemRankVo> bwzdRepeatRankList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bwzdFirstRankList.add(new OrganizeProblemRankVo("刑侦大队", "22")); |
|
|
|
|
|
|
|
bwzdFirstRankList.add(new OrganizeProblemRankVo("治安大队", "18")); |
|
|
|
|
|
|
|
bwzdFirstRankList.add(new OrganizeProblemRankVo("交警大队", "13")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bwzdRepeatRankList.add(new OrganizeProblemRankVo("刑侦大队", "8")); |
|
|
|
|
|
|
|
bwzdRepeatRankList.add(new OrganizeProblemRankVo("治安大队", "6")); |
|
|
|
|
|
|
|
bwzdRepeatRankList.add(new OrganizeProblemRankVo("交警大队", "4")); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 汇总(派出所)
|
|
|
|
|
|
|
|
MailFirstAndRepeatOverviewVo fxsjOverview = new MailFirstAndRepeatOverviewVo(); |
|
|
|
|
|
|
|
fxsjOverview.setFirstMail( |
|
|
|
|
|
|
|
fxsjFirstRankList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum() |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
fxsjOverview.setRepeatMail( |
|
|
|
|
|
|
|
fxsjRepeatRankList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum() |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
fxsjOverview.setLeaderMail(0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 汇总(大队)
|
|
|
|
|
|
|
|
MailFirstAndRepeatOverviewVo bwzdOverview = new MailFirstAndRepeatOverviewVo(); |
|
|
|
|
|
|
|
bwzdOverview.setFirstMail( |
|
|
|
|
|
|
|
bwzdFirstRankList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum() |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
bwzdOverview.setRepeatMail( |
|
|
|
|
|
|
|
bwzdRepeatRankList.stream().mapToInt(OrganizeProblemRankVo::getValueAsInt).sum() |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
bwzdOverview.setLeaderMail(0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject data = new JSONObject() |
|
|
|
|
|
|
|
.fluentPut("fxsjOverview", fxsjOverview) |
|
|
|
|
|
|
|
.fluentPut("bwzdOverview", bwzdOverview) |
|
|
|
|
|
|
|
.fluentPut("fxsjFirstRankList", fxsjFirstRankList) |
|
|
|
|
|
|
|
.fluentPut("fxsjRepeatRankList", fxsjRepeatRankList) |
|
|
|
|
|
|
|
.fluentPut("bwzdFirstRankList", bwzdFirstRankList) |
|
|
|
|
|
|
|
.fluentPut("bwzdRepeatRankList", bwzdRepeatRankList); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Result.success(data); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|