Browse Source

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

master
buaixuexideshitongxue 1 month ago
parent
commit
a8ce1b8176
  1. 67
      src/main/java/com/biutag/supervision/controller/subdatav/SubOneMailViewController.java
  2. 3
      src/main/java/com/biutag/supervision/service/subDatav/SubDatavService.java
  3. 27
      src/main/java/com/biutag/supervision/service/subDatav/SubDatavServiceImpl.java

67
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.alibaba.fastjson.JSONObject;
import com.biutag.supervision.mapper.DataPetition12337Mapper; import com.biutag.supervision.mapper.DataPetition12337Mapper;
import com.biutag.supervision.mapper.DataPetitionComplaintMapper; import com.biutag.supervision.mapper.DataPetitionComplaintMapper;
import com.biutag.supervision.mapper.NegativeBlameMapper;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest; 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.EchartsVo;
import com.biutag.supervision.pojo.vo.MailMapIconVo;
import com.biutag.supervision.service.DataMailService;
import com.biutag.supervision.service.subDatav.SubDatavService; import com.biutag.supervision.service.subDatav.SubDatavService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Auther: sh * @Auther: sh
@ -36,22 +28,17 @@ import java.util.Map;
public class SubOneMailViewController { public class SubOneMailViewController {
private final DataMailService dataMailService;
private final DataPetitionComplaintMapper dataPetitionComplaintMapper; private final DataPetitionComplaintMapper dataPetitionComplaintMapper;
private final DataPetition12337Mapper dataPetition12337Mapper; private final DataPetition12337Mapper dataPetition12337Mapper;
private final NegativeBlameMapper negativeBlameMapper;
private final SubDatavService subDatavService; private final SubDatavService subDatavService;
// region 左边
@Operation(summary = "初访重访情况") @Operation(summary = "初访重访情况")
@PostMapping("/getSubOneFirstAndRepeatMail") @PostMapping("/getSubOneFirstAndRepeatMail")
public Result<JSONObject> getSubOneFirstAndRepeatMail(@RequestBody SubDataVRequest request) { public Result<JSONObject> getSubOneFirstAndRepeatMail(@RequestBody SubDataVRequest request) {
return subDatavService.getSubOneFirstAndRepeatMail(request); return subDatavService.getSubOneFirstAndRepeatMail(request);
} }
// endregion
// region 中间
@Operation(summary = "信访数据大屏中央数据统计 && 信访投诉占比") @Operation(summary = "信访数据大屏中央数据统计 && 信访投诉占比")
@PostMapping("/getSubOneAllMailCount") @PostMapping("/getSubOneAllMailCount")
@ -67,17 +54,6 @@ public class SubOneMailViewController {
return subDatavService.getSubOneMailMapIcon(request); return subDatavService.getSubOneMailMapIcon(request);
} }
@Operation(summary = "信访数据中央地图小图标数据")
@GetMapping("/getSubOneMailMapIcon")
public Result<JSONObject> getSubOneMailMapIcon(@RequestParam Integer departId,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
// 信访数据总数概览
List<MailMapIconVo> mailMapIconList = dataMailService.getSubOneMailMapIcon(beginTime, endTime, departId);
JSONObject data = new JSONObject().fluentPut("mailMapIconList", mailMapIconList);
return Result.success(data);
}
@Operation(summary = "信访数据大屏信访趋势统计") @Operation(summary = "信访数据大屏信访趋势统计")
@ -95,53 +71,20 @@ public class SubOneMailViewController {
.fluentPut("numberList", numberList); .fluentPut("numberList", numberList);
return Result.success(data); return Result.success(data);
} }
// endregion
// region 右边
@Operation(summary = "群众集访情况") @Operation(summary = "群众集访情况")
@PostMapping("/getSubOneEntanglementAndMassMail") @PostMapping("/getSubOneEntanglementAndMassMail")
public Result<JSONObject> getSubOneEntanglementAndMassMail(@RequestBody SubDataVRequest request) { public Result<JSONObject> getSubOneEntanglementAndMassMail(@RequestBody SubDataVRequest request) {
return subDatavService.getSubOneEntanglementAndMassMail(request); return subDatavService.getSubOneEntanglementAndMassMail(request);
} }
// endregion
/**
* 追责问责情况
*
* @param beginTime 开始时间
* @param endTime 结束时间
* @return Result<JSONObject>
*/
@Operation(summary = "追责问责情况")
@GetMapping("/getSubOneResultCount")
public Result<Map<String,Integer>> getResultCount(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime,@RequestParam Integer departId){
List<BlameStats> list = negativeBlameMapper.selectSubOneBlameStatsCount(beginTime,endTime,departId);
Map<String,Integer> 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());
}
}
} @Operation(summary = "追责问责情况")
}); @PostMapping("/getSubOneResultCount")
return Result.success(blameMap); public Result<JSONObject> getSubOneResultCount(@RequestBody SubDataVRequest request){
return subDatavService.getSubOneResultCount(request);
} }
} }

3
src/main/java/com/biutag/supervision/service/subDatav/SubDatavService.java

@ -134,4 +134,7 @@ public interface SubDatavService {
// 黄赌毒数据 // 黄赌毒数据
Result<JSONObject> getSubOneYellowBetDrug(SubDataVRequest request); Result<JSONObject> getSubOneYellowBetDrug(SubDataVRequest request);
Result<JSONObject> getSubOneResultCount( SubDataVRequest request);
} }

27
src/main/java/com/biutag/supervision/service/subDatav/SubDatavServiceImpl.java

@ -1027,7 +1027,7 @@ public class SubDatavServiceImpl implements SubDatavService {
List<OrganizeProblemRankVo> fxsjLeaderReviewMailList = dataPetitionComplaintMapper.getSubOneMailLeaderRank(beginTime, endTime, 10, departId); List<OrganizeProblemRankVo> fxsjLeaderReviewMailList = dataPetitionComplaintMapper.getSubOneMailLeaderRank(beginTime, endTime, 10, departId);
// 局属单位 // 局属单位
List<OrganizeProblemRankVo> bwzdMassMailList = dataPetitionComplaintMapper.getSubOneMassMailRank(beginTime, endTime, null, departId); List<OrganizeProblemRankVo> bwzdMassMailList = dataPetitionComplaintMapper.getSubOneMassMailRank(beginTime, endTime, null, departId);
List<OrganizeProblemRankVo> bwzdLeaderReviewMailList = dataPetitionComplaintMapper.getMailLeaderRank(beginTime, endTime, 4); List<OrganizeProblemRankVo> bwzdLeaderReviewMailList = dataPetitionComplaintMapper.getSubOneMailLeaderRank(beginTime, endTime, null, departId);
// 汇总(分县市局) // 汇总(分县市局)
MailEntanglementMassOverviewVo fxsjOverview = new MailEntanglementMassOverviewVo(); MailEntanglementMassOverviewVo fxsjOverview = new MailEntanglementMassOverviewVo();
fxsjOverview.setEntanglement(0); fxsjOverview.setEntanglement(0);
@ -1048,6 +1048,31 @@ public class SubDatavServiceImpl implements SubDatavService {
// return mockSubOneEntanglementAndMassMail(); // return mockSubOneEntanglementAndMassMail();
return Result.success(data); return Result.success(data);
} }
@Override
public Result<JSONObject> getSubOneResultCount( SubDataVRequest request) {
List<EchartsVo> resultCountArray = new ArrayList<>();
List<Negative> negatives = negativeMapper.getNegativeListData(request.getDepartId(), request.getBeginTime(), request.getEndTime(), GROUP_21_22_23_24_25);
DatavServiceImpl.BlameResult blameResult = this.buildBlameResult(negatives);
List<NegativeBlame> negativeBlames = blameResult.personalBlames();
// 问责处理情况与统一统计口径保持一致:先拆分多处理结果,再按单项处理结果聚合。
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().intValue());
resultCountArray.add(echartsVo);
}
resultCountArray = this.filterZero(resultCountArray);
JSONObject data = new JSONObject().fluentPut("resultCountArray", resultCountArray);
return Result.success(data);
}
// endregion // endregion
// region 维权抚慰二级 // region 维权抚慰二级

Loading…
Cancel
Save