diff --git a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneMailViewController.java b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneMailViewController.java index 7918c6d..b997c0c 100644 --- a/src/main/java/com/biutag/supervision/controller/subdatav/SubOneMailViewController.java +++ b/src/main/java/com/biutag/supervision/controller/subdatav/SubOneMailViewController.java @@ -3,25 +3,17 @@ package com.biutag.supervision.controller.subdatav; import com.alibaba.fastjson.JSONObject; import com.biutag.supervision.mapper.DataPetition12337Mapper; import com.biutag.supervision.mapper.DataPetitionComplaintMapper; -import com.biutag.supervision.mapper.NegativeBlameMapper; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest; -import com.biutag.supervision.pojo.vo.BlameStats; import com.biutag.supervision.pojo.vo.EchartsVo; -import com.biutag.supervision.pojo.vo.MailMapIconVo; -import com.biutag.supervision.service.DataMailService; import com.biutag.supervision.service.subDatav.SubDatavService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*; -import java.util.Date; -import java.util.HashMap; import java.util.List; -import java.util.Map; /** * @Auther: sh @@ -36,22 +28,17 @@ import java.util.Map; public class SubOneMailViewController { - private final DataMailService dataMailService; private final DataPetitionComplaintMapper dataPetitionComplaintMapper; private final DataPetition12337Mapper dataPetition12337Mapper; - private final NegativeBlameMapper negativeBlameMapper; private final SubDatavService subDatavService; - // region 左边 @Operation(summary = "初访重访情况") @PostMapping("/getSubOneFirstAndRepeatMail") public Result getSubOneFirstAndRepeatMail(@RequestBody SubDataVRequest request) { return subDatavService.getSubOneFirstAndRepeatMail(request); } - // endregion - // region 中间 @Operation(summary = "信访数据大屏中央数据统计 && 信访投诉占比") @PostMapping("/getSubOneAllMailCount") @@ -67,17 +54,6 @@ public class SubOneMailViewController { return subDatavService.getSubOneMailMapIcon(request); } - @Operation(summary = "信访数据中央地图小图标数据") - @GetMapping("/getSubOneMailMapIcon") - public Result getSubOneMailMapIcon(@RequestParam Integer departId, - @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, - @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) { - // 信访数据总数概览 - List mailMapIconList = dataMailService.getSubOneMailMapIcon(beginTime, endTime, departId); - JSONObject data = new JSONObject().fluentPut("mailMapIconList", mailMapIconList); - return Result.success(data); - } - @Operation(summary = "信访数据大屏信访趋势统计") @@ -95,53 +71,20 @@ public class SubOneMailViewController { .fluentPut("numberList", numberList); return Result.success(data); } - // endregion - // region 右边 + @Operation(summary = "群众集访情况") @PostMapping("/getSubOneEntanglementAndMassMail") public Result getSubOneEntanglementAndMassMail(@RequestBody SubDataVRequest request) { return subDatavService.getSubOneEntanglementAndMassMail(request); } - // endregion - /** - * 追责问责情况 - * - * @param beginTime 开始时间 - * @param endTime 结束时间 - * @return Result - */ + @Operation(summary = "追责问责情况") - @GetMapping("/getSubOneResultCount") - public Result> getResultCount(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, - @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime,@RequestParam Integer departId){ - List list = negativeBlameMapper.selectSubOneBlameStatsCount(beginTime,endTime,departId); - Map blameMap = new HashMap<>(); - list.forEach(s->{ - if(s.getResultName().indexOf("、") > 0){ - for (String name:s.getResultName().split("、")){ - if(!name.contains("不") && !name.contains("追责")){ - if(blameMap.containsKey(name)){ - blameMap.put(name,blameMap.get(name) + s.getResultCount()); - }else{ - blameMap.put(name,s.getResultCount()); - } - } - } - }else{ - if(!s.getResultName().contains("不") && !s.getResultName().contains("追责")){ - if(blameMap.containsKey(s.getResultName())){ - blameMap.put(s.getResultName(),blameMap.get(s.getResultName()) + s.getResultCount()); - }else{ - blameMap.put(s.getResultName(),s.getResultCount()); - } - } - - } - }); - return Result.success(blameMap); + @PostMapping("/getSubOneResultCount") + public Result getSubOneResultCount(@RequestBody SubDataVRequest request){ + return subDatavService.getSubOneResultCount(request); } } diff --git a/src/main/java/com/biutag/supervision/service/subDatav/SubDatavService.java b/src/main/java/com/biutag/supervision/service/subDatav/SubDatavService.java index cd8edad..2646910 100644 --- a/src/main/java/com/biutag/supervision/service/subDatav/SubDatavService.java +++ b/src/main/java/com/biutag/supervision/service/subDatav/SubDatavService.java @@ -134,4 +134,7 @@ public interface SubDatavService { // 黄赌毒数据 Result getSubOneYellowBetDrug(SubDataVRequest request); + + Result getSubOneResultCount( SubDataVRequest request); + } diff --git a/src/main/java/com/biutag/supervision/service/subDatav/SubDatavServiceImpl.java b/src/main/java/com/biutag/supervision/service/subDatav/SubDatavServiceImpl.java index e6c2a3b..77a8d42 100644 --- a/src/main/java/com/biutag/supervision/service/subDatav/SubDatavServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/subDatav/SubDatavServiceImpl.java @@ -1027,7 +1027,7 @@ public class SubDatavServiceImpl implements SubDatavService { List fxsjLeaderReviewMailList = dataPetitionComplaintMapper.getSubOneMailLeaderRank(beginTime, endTime, 10, departId); // 局属单位 List bwzdMassMailList = dataPetitionComplaintMapper.getSubOneMassMailRank(beginTime, endTime, null, departId); - List bwzdLeaderReviewMailList = dataPetitionComplaintMapper.getMailLeaderRank(beginTime, endTime, 4); + List bwzdLeaderReviewMailList = dataPetitionComplaintMapper.getSubOneMailLeaderRank(beginTime, endTime, null, departId); // 汇总(分县市局) MailEntanglementMassOverviewVo fxsjOverview = new MailEntanglementMassOverviewVo(); fxsjOverview.setEntanglement(0); @@ -1048,6 +1048,31 @@ public class SubDatavServiceImpl implements SubDatavService { // return mockSubOneEntanglementAndMassMail(); return Result.success(data); } + + @Override + public Result getSubOneResultCount( SubDataVRequest request) { + List resultCountArray = new ArrayList<>(); + List negatives = negativeMapper.getNegativeListData(request.getDepartId(), request.getBeginTime(), request.getEndTime(), GROUP_21_22_23_24_25); + DatavServiceImpl.BlameResult blameResult = this.buildBlameResult(negatives); + List negativeBlames = blameResult.personalBlames(); + // 问责处理情况与统一统计口径保持一致:先拆分多处理结果,再按单项处理结果聚合。 + Map 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 entry : blames.entrySet()) { + EchartsVo echartsVo = new EchartsVo(); + echartsVo.setName(entry.getKey()); + echartsVo.setValue(entry.getValue().intValue()); + resultCountArray.add(echartsVo); + } + resultCountArray = this.filterZero(resultCountArray); + JSONObject data = new JSONObject().fluentPut("resultCountArray", resultCountArray); + return Result.success(data); + } + // endregion // region 维权抚慰二级