Compare commits

..

7 Commits

  1. 140
      src/main/java/com/biutag/supervision/controller/datav/DataVSupervisionNotifyController.java
  2. 28
      src/main/java/com/biutag/supervision/controller/datav/DataVVideoSuperviseController.java
  3. 41
      src/main/java/com/biutag/supervision/mapper/NegativeMapper.java
  4. 10
      src/main/java/com/biutag/supervision/pojo/param/SuperviseReportQueryParam.java
  5. 8
      src/main/java/com/biutag/supervision/pojo/vo/DayTimeSuperviseVo.java
  6. 27
      src/main/java/com/biutag/supervision/pojo/vo/SupervisionNotifyOverView.java
  7. 1
      src/main/java/com/biutag/supervision/service/BusinessDepartService.java
  8. 2
      src/main/java/com/biutag/supervision/service/DataMailService.java
  9. 2
      src/main/java/com/biutag/supervision/service/NegativeTaskService.java
  10. 3
      src/main/java/com/biutag/supervision/service/SuperviseReportService.java
  11. 55
      src/main/java/com/biutag/supervision/service/VideoSuperviseService.java
  12. 22
      src/main/java/com/biutag/supervision/service/datav/DatavService.java
  13. 330
      src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java

140
src/main/java/com/biutag/supervision/controller/datav/DataVSupervisionNotifyController.java

@ -1,46 +1,23 @@
package com.biutag.supervision.controller.datav; package com.biutag.supervision.controller.datav;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.constants.AppConstants;
import com.biutag.supervision.constants.enums.InspectCaseEnum;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.constants.enums.ProcessingStatusEnum;
import com.biutag.supervision.constants.enums.RoleCodeEnum;
import com.biutag.supervision.mapper.NegativeMapper; import com.biutag.supervision.mapper.NegativeMapper;
import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.NegativeBlame;
import com.biutag.supervision.pojo.entity.News; import com.biutag.supervision.pojo.entity.News;
import com.biutag.supervision.pojo.entity.SuperviseReport; import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.vo.*; import com.biutag.supervision.pojo.vo.*;
import com.biutag.supervision.service.NegativeBlameService;
import com.biutag.supervision.service.NewsService; import com.biutag.supervision.service.NewsService;
import com.biutag.supervision.service.SupDepartService; import com.biutag.supervision.service.datav.DatavService;
import com.biutag.supervision.service.SuperviseReportService;
import com.biutag.supervision.util.CompletableUtils.CompletableFutureUtil;
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.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.CompletableFuture;
import static com.biutag.supervision.constants.WorkDynamicConstants.DCGZDT; import static com.biutag.supervision.constants.WorkDynamicConstants.DCGZDT;
import static com.biutag.supervision.constants.enums.ProblemSourcesEnum.*; import static com.biutag.supervision.constants.enums.ProblemSourcesEnum.*;
@ -59,57 +36,17 @@ public class DataVSupervisionNotifyController {
private final NegativeMapper negativeMapper; private final NegativeMapper negativeMapper;
private final NewsService newsService; private final NewsService newsService;
private final NegativeBlameService negativeBlameService; private final DatavService datavService;
private final SuperviseReportService superviseReportService;
private final SupDepartService departService;
// region 左边 // region 左边
/** @Operation(summary = "现场督察卡片")
* 获取日常督察情况 @PostMapping("/getChangedRank")
* public Result<JSONObject> getChangedRank(@RequestBody DataVRequest request) {
* @param beginTime 开始时间 return datavService.getChangedRank(request);
* @param endTime 结束时间
* @return
*/
@Operation(summary = "日常督察情况")
@GetMapping("/getChangedRank")
public Result<JSONObject> getChangedRank(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
endTime= DateUtil.endOfDay(endTime);
DayTimeSuperviseVo fxsjRankOverview = negativeMapper.getSupervisionRank(beginTime, endTime, 3);
DayTimeSuperviseVo jsdwRankOverview = negativeMapper.getSupervisionRank(beginTime, endTime, 4);
DayTimeSuperviseVo overview = new DayTimeSuperviseVo().addVO(fxsjRankOverview,jsdwRankOverview);
DayTimeSuperviseVo total = negativeMapper.getProTotalFun(beginTime, endTime);
if(ObjectUtil.isNotEmpty(total.getProTotal())){
overview.setProTotal(total.getProTotal());
} }
List<RankVo> fxsjChangedRankList = negativeMapper.getChangedRateRank(beginTime, endTime, 3);
List<RankVo> jsdwChangedRankList = negativeMapper.getChangedRateRank(beginTime, endTime, 4);
JSONObject data = new JSONObject()
.fluentPut("fxsjRankOverview", fxsjRankOverview)
.fluentPut("jsdwRankOverview", jsdwRankOverview)
.fluentPut("fxsjChangedRankList", fxsjChangedRankList)
.fluentPut("jsdwChangedRankList", jsdwChangedRankList)
.fluentPut("overview",overview);
return Result.success(data);
}
/**
* 问题类型占比
*
* @param beginTime 开始时间
* @param endTime 结束时间
* @return
*/
@Operation(summary = "问题类型占比") @Operation(summary = "问题类型占比")
@GetMapping("/getProblemTypeRate") @GetMapping("/getProblemTypeRate")
public Result<JSONObject> getProblemTypeRate(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, public Result<JSONObject> getProblemTypeRate(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@ -120,67 +57,14 @@ public class DataVSupervisionNotifyController {
} }
/**
* 获取现场督察大屏中央总览
*
* @param beginTime 开始时间
* @param endTime 结束时间
* @return
*/
@Operation(summary = "中央总览数据")
@GetMapping("/getSupervisionNotifyCount")
public Result<SupervisionNotifyOverView> getSupervisionNotifyCount(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
endTime = DateUtil.endOfDay(endTime);
////, ProblemSourcesEnum.SPDC.getValue() 去除视频督察
List<Negative> negatives = negativeMapper.selectList(new LambdaQueryWrapper<Negative>().between(Negative::getCrtTime, beginTime, endTime)
.in(Negative::getProblemSourcesCode, List.of(ProblemSourcesEnum.XCDC.getValue(), ProblemSourcesEnum.LMGZ.getValue(), ProblemSourcesEnum.ZXDC.getValue())));
SupervisionNotifyOverView overView = new SupervisionNotifyOverView();
List<String> negativeIds = negatives.stream().filter(item -> InspectCaseEnum.isItTure(item.getCheckStatus())).map(Negative::getId).toList(); @Operation(summary = "中央总览数据")
overView.setProblemNumber(negatives.size()); @PostMapping("/getSupervisionNotifyCount")
overView.setCompletedNumber(negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).count()); public Result<SupervisionNotifyOverView> getSupervisionNotifyCount(@RequestBody DataVRequest request) {
//问题期数 return datavService.getSupervisionNotifyCount(request);
Long problemQuarter = superviseReportService.count(new LambdaQueryWrapper<SuperviseReport>().between(SuperviseReport::getCrtTime,beginTime,endTime));
overView.setProblemQuarter(problemQuarter);
overView.setProcessingNumber(negatives.size() - overView.getCompletedNumber());
// 办结率
overView.setCompletedRate(overView.getProblemNumber() == 0 ? 0: NumberUtil.roundHalfEven(NumberUtil.mul(NumberUtil.div(overView.getCompletedNumber(), overView.getProblemNumber()), 100), 0).doubleValue());
QueryWrapper<SuperviseReport> queryWrapper = new QueryWrapper<>();
UserAuth user = UserContextHolder.getCurrentUser();
// 权限
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && !user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode())) {
if (user.getAuthDepartIds().isEmpty() || user.getRoleCodes().isEmpty()) {
//特殊处理
overView.setReportNumber(0L);
}
List<String> orgIds = departService.getAllNodeIds(user.getAuthDepartIds());
queryWrapper.in("t.crt_depart_id", orgIds);
} }
overView.setReportNumber(superviseReportService.count(queryWrapper));
CompletableFuture.allOf(
CompletableFutureUtil.runSyncObject(() -> {
long personNumber = negativeIds.isEmpty() ? 0 : negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>().in(NegativeBlame::getNegativeId, negativeIds)
.eq(NegativeBlame::getType, "personal")
.ne(NegativeBlame::getHandleResultName, "不予追责")
.isNotNull(NegativeBlame::getHandleResultName)
.ne(NegativeBlame::getHandleResultName, ""));
overView.setPersonNumber(personNumber);
}),
CompletableFutureUtil.runSyncObject(() -> {
long departNumber = negativeIds.isEmpty() ? 0 : negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>().in(NegativeBlame::getNegativeId, negativeIds)
.eq(NegativeBlame::getType, "department")
.ne(NegativeBlame::getHandleResultName, "不予追责")
.isNotNull(NegativeBlame::getHandleResultName)
.ne(NegativeBlame::getHandleResultName, ""));
overView.setDepartNumber(departNumber);
})
).join();
return Result.success(overView);
}
/** /**
* 地图小卡片 * 地图小卡片

28
src/main/java/com/biutag/supervision/controller/datav/DataVVideoSuperviseController.java

@ -14,20 +14,19 @@ import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.NegativeBlame; import com.biutag.supervision.pojo.entity.NegativeBlame;
import com.biutag.supervision.pojo.entity.SupPolice; import com.biutag.supervision.pojo.entity.SupPolice;
import com.biutag.supervision.pojo.entity.WvpDeviceChannel; import com.biutag.supervision.pojo.entity.WvpDeviceChannel;
import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.vo.EchartsVo; import com.biutag.supervision.pojo.vo.EchartsVo;
import com.biutag.supervision.pojo.vo.OrganizeProblemRankVo; import com.biutag.supervision.pojo.vo.OrganizeProblemRankVo;
import com.biutag.supervision.pojo.vo.VideoSuperviseCountVo; import com.biutag.supervision.pojo.vo.VideoSuperviseCountVo;
import com.biutag.supervision.pojo.vo.VideoSuperviseMapIconVo; import com.biutag.supervision.pojo.vo.VideoSuperviseMapIconVo;
import com.biutag.supervision.service.NegativeBlameService; import com.biutag.supervision.service.NegativeBlameService;
import com.biutag.supervision.service.SupPoliceService; import com.biutag.supervision.service.SupPoliceService;
import com.biutag.supervision.service.datav.DatavService;
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 org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -50,6 +49,7 @@ public class DataVVideoSuperviseController {
private final WvpDeviceChannelMapper wvpDeviceChannelMapper; private final WvpDeviceChannelMapper wvpDeviceChannelMapper;
private final SupPoliceService policeService; private final SupPoliceService policeService;
private final DatavService datavService;
//region 左边 //region 左边
@ -81,24 +81,10 @@ public class DataVVideoSuperviseController {
return Result.success(data); return Result.success(data);
} }
/**
* 获取视频督察大屏问题数排名
*
* @param beginTime 开始时间
* @param endTime 结束时间
* @return
*/
@Operation(summary = "问题数排名") @Operation(summary = "问题数排名")
@GetMapping("/getVideoSuperviseProblemRank") @PostMapping("/getVideoSuperviseProblemRank")
public Result<JSONObject> getVideoSuperviseProblemRank(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, public Result<JSONObject> getVideoSuperviseProblemRank(@RequestBody DataVRequest request) {
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) { return datavService.getVideoSuperviseProblemRank(request);
endTime = DateUtil.endOfDay(endTime);
List<OrganizeProblemRankVo> fxsjVideoSuperviseProblemRankList = negativeMapper.getVideoSuperviseProblemRank(beginTime, endTime, 3);
List<OrganizeProblemRankVo> jsdwVideoSuperviseProblemRankList = negativeMapper.getVideoSuperviseProblemRank(beginTime, endTime, 4);
JSONObject data = new JSONObject();
data.fluentPut("fxsjVideoSuperviseProblemRankList", fxsjVideoSuperviseProblemRankList);
data.fluentPut("jsdwVideoSuperviseProblemRankList", jsdwVideoSuperviseProblemRankList);
return Result.success(data);
} }
//endregion //endregion

41
src/main/java/com/biutag/supervision/mapper/NegativeMapper.java

@ -361,19 +361,21 @@ public interface NegativeMapper extends BaseMapper<Negative> {
"GROUP BY npr.threeLevelContent ") "GROUP BY npr.threeLevelContent ")
List<EchartsVo> getVideoSuperviseProblemTypeRate(Date beginTime, Date endTime); List<EchartsVo> getVideoSuperviseProblemTypeRate(Date beginTime, Date endTime);
@Select("SELECT d.short_name AS label, " +
"count(ng.id) as `value`," +
" COUNT(DISTINCT IF(ng.crt_depart_level = 0, ng.id, null)) as cityNumber, "+
" COUNT(DISTINCT IF(ng.crt_depart_level = 2, ng.id, null)) as countyNumber "+ @Select("select * from negative ng " +
" FROM negative ng " + "LEFT JOIN sup_depart sd on ng.involveDepartId = sd.id " +
"INNER JOIN sup_depart d ON ng.second_involve_depart_id = d.id " + "LEFT JOIN sup_depart sdd on sd.pid = sdd.id " +
"WHERE ng.checkStatus in (1, 2) " + "LEFT JOIN sup_depart sddd on sdd.pid = sddd.id " +
"AND ng.problemSourcesCode = 16 " + "where " +
"AND ng.crtTime BETWEEN #{beginTime} AND #{endTime} " + "ng.check_status_code in (1, 2, 3) " +
"AND d.statistics_group_id = #{groupId} " + "and ng.problemSourcesCode =16 " +
"GROUP BY d.short_name " + "and ng.crtTime >= #{beginTime} " +
"ORDER BY `value` DESC") "and ng.crtTime <= #{endTime} " +
List<OrganizeProblemRankVo> getVideoSuperviseProblemRank(Date beginTime, Date endTime, Integer groupId); "AND (sd.id =#{id} OR sdd.id=#{id} or sddd.id=#{id});"
)
List<Negative> getVideoSuperviseProblemRank(String id, Date beginTime, Date endTime);
@Select("SELECT " + @Select("SELECT " +
" d.short_name name, " + " d.short_name name, " +
@ -1068,5 +1070,18 @@ public interface NegativeMapper extends BaseMapper<Negative> {
List<OrganizeProblemRankVo> getOrganizationRank(NegativeOrganizationRankQueryParam param); List<OrganizeProblemRankVo> getOrganizationRank(NegativeOrganizationRankQueryParam param);
@Select("select * from negative ng " +
"LEFT JOIN sup_depart sd on ng.involveDepartId = sd.id " +
"LEFT JOIN sup_depart sdd on sd.pid = sdd.id " +
"LEFT JOIN sup_depart sddd on sdd.pid = sddd.id " +
"where " +
"ng.problemSourcesCode =13 " +
"and ng.crtTime >= #{beginTime} " +
"and ng.crtTime <= #{endTime} " +
"AND (sd.id =#{id} OR sdd.id=#{id} or sddd.id=#{id});"
)
List<Negative> getChangedRank(String id, Date beginTime, Date endTime);
// endregion // endregion
} }

10
src/main/java/com/biutag/supervision/pojo/param/SuperviseReportQueryParam.java

@ -1,7 +1,13 @@
package com.biutag.supervision.pojo.param; package com.biutag.supervision.pojo.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Setter @Setter
@Getter @Getter
@ -16,4 +22,8 @@ public class SuperviseReportQueryParam extends BasePage{
private String deptId; private String deptId;
private Integer type; private Integer type;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private List<Date> crtTime = new ArrayList<>();
} }

8
src/main/java/com/biutag/supervision/pojo/vo/DayTimeSuperviseVo.java

@ -1,6 +1,7 @@
package com.biutag.supervision.pojo.vo; package com.biutag.supervision.pojo.vo;
import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.NumberUtil;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -17,10 +18,17 @@ import java.math.RoundingMode;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
public class DayTimeSuperviseVo { public class DayTimeSuperviseVo {
@Schema(description = "问题数")
private Integer proTotal; private Integer proTotal;
@Schema(description = "办理中")
private Long processingNumber; private Long processingNumber;
@Schema(description = "已办结")
private Long completedNumber; private Long completedNumber;
@Schema(description = "办结率")
private Double completedRate; private Double completedRate;
private Long changing; private Long changing;

27
src/main/java/com/biutag/supervision/pojo/vo/SupervisionNotifyOverView.java

@ -1,5 +1,6 @@
package com.biutag.supervision.pojo.vo; package com.biutag.supervision.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
/** /**
@ -9,21 +10,31 @@ import lombok.Data;
*/ */
@Data @Data
public class SupervisionNotifyOverView { public class SupervisionNotifyOverView {
// 问题数
@Schema(description = "通报问题数")
private Integer problemNumber; private Integer problemNumber;
@Schema(description = "通报期数")
private Long reportNumber;
//问题期数 //问题期数
private Long problemQuarter; private Long problemQuarter;
// 办理中
@Schema(description = "办理中")
private Long processingNumber; private Long processingNumber;
// 已办结
@Schema(description = "已办结")
private Long completedNumber; private Long completedNumber;
// 问责单位数
@Schema(description = "问责单位数")
private Long departNumber; private Long departNumber;
// 问责人数
@Schema(description = "问责人数")
private Long personNumber; private Long personNumber;
// 办结率
@Schema(description = "办结率")
private Double completedRate; private Double completedRate;
// 通报数
private Long reportNumber;
} }

1
src/main/java/com/biutag/supervision/service/BusinessDepartService.java

@ -329,6 +329,7 @@ public class BusinessDepartService extends ServiceImpl<BusinessDepartMapper, Bus
queryWrapper.between("cjsj", happenTime.get(0), happenTime.get(1)); queryWrapper.between("cjsj", happenTime.get(0), happenTime.get(1));
queryWrapper.notLikeRight("jqxzdm", "11"); // 其他业务 queryWrapper.notLikeRight("jqxzdm", "11"); // 其他业务
queryWrapper.notLikeRight("jqxzdm", "99"); // 无效、重复报警等 queryWrapper.notLikeRight("jqxzdm", "99"); // 无效、重复报警等
// queryWrapper.eq("jjlxdm", "01");
queryWrapper.groupBy("DATE(cjsj)", "gxdwdm", "gxdwmc"); queryWrapper.groupBy("DATE(cjsj)", "gxdwdm", "gxdwmc");
return gBaseJJDMapper.selectJJDList(queryWrapper); return gBaseJJDMapper.selectJJDList(queryWrapper);
} }

2
src/main/java/com/biutag/supervision/service/DataMailService.java

@ -70,7 +70,7 @@ public class DataMailService extends ServiceImpl<DataPetitionComplaintMapper, Da
// 局长信箱 // 局长信箱
QueryWrapper<Mail> mailQueryWrapper = new QueryWrapper<>(); QueryWrapper<Mail> mailQueryWrapper = new QueryWrapper<>();
mailQueryWrapper.ne("mail_state", VALID_SIGN); mailQueryWrapper.ne("mail_state", VALID_SIGN);
mailQueryWrapper.between("create_time", beginTime, endTime); mailQueryWrapper.between("mail_time", beginTime, endTime);
Long mailCount = mailMapper.selectCount(mailQueryWrapper); Long mailCount = mailMapper.selectCount(mailQueryWrapper);
temp.setCountryMail(countryMail); temp.setCountryMail(countryMail);

2
src/main/java/com/biutag/supervision/service/NegativeTaskService.java

@ -105,7 +105,7 @@ public class NegativeTaskService extends ServiceImpl<NegativeTaskMapper, Negativ
.toLocalDate() .toLocalDate()
.format(formatter); .format(formatter);
task.setTaskName(String.format("分析报告_%s_%s", start, end)); task.setTaskName(String.format("分析报告_%s_%s", start, end));
task.setImportRow(-1); task.setImportRow(1);
task.setCrtTime(LocalDateTime.now()); task.setCrtTime(LocalDateTime.now());
task.setStatus(NegativeTaskStatusEnum.PADDING.getValue()); task.setStatus(NegativeTaskStatusEnum.PADDING.getValue());
task.setCategory(NegativeTaskCategoryEnum.EXPORT.getValue()); task.setCategory(NegativeTaskCategoryEnum.EXPORT.getValue());

3
src/main/java/com/biutag/supervision/service/SuperviseReportService.java

@ -57,6 +57,9 @@ public class SuperviseReportService extends ServiceImpl<SuperviseReportMapper, S
List<String> orgIds = departService.getAllNodeIds(queryParam.getDeptId()); List<String> orgIds = departService.getAllNodeIds(queryParam.getDeptId());
queryWrapper.in("t.crt_depart_id", orgIds); queryWrapper.in("t.crt_depart_id", orgIds);
} }
if (CollectionUtil.isNotEmpty(queryParam.getCrtTime())){
queryWrapper.between("t.crt_time", queryParam.getCrtTime().get(0), queryParam.getCrtTime().get(1));
}
//查询条件 //查询条件
queryWrapper queryWrapper
.eq(Objects.nonNull(queryParam.getType()), "t.type", queryParam.getType()) .eq(Objects.nonNull(queryParam.getType()), "t.type", queryParam.getType())

55
src/main/java/com/biutag/supervision/service/VideoSuperviseService.java

@ -1,55 +0,0 @@
package com.biutag.supervision.service;
import com.biutag.supervision.mapper.NegativeMapper;
import com.biutag.supervision.pojo.vo.*;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 视频督察服务层
*/
@RequiredArgsConstructor
@Service
public class VideoSuperviseService {
private final NegativeMapper negativeMapper;
//region 左边
public List<OrganizeProblemRankVo> getVideoSuperviseProblemRank(Date beginTime, Date endTime, Integer groupId) {
List<OrganizeProblemRankVo> res = negativeMapper.getVideoSuperviseProblemRank(beginTime, endTime, groupId);
return res;
}
//endregion
//region 中间
public VideoSuperviseCountVo getAllVideoSuperviseCount(Date beginTime, Date endTime) {
VideoSuperviseCountVo res = negativeMapper.getAllVideoSuperviseCount(beginTime, endTime);
return res;
}
public List<VideoSuperviseMapIconVo> getVideoSuperviseMapIconInfo(Date beginTime, Date endTime) {
List<VideoSuperviseMapIconVo> res = negativeMapper.getVideoSuperviseMapIconInfo(beginTime, endTime);
return res;
}
// public List<EchartsVo> getVideoSuperviseTrend(String year, String... args) {
// List<EchartsVo> res = negativeMapper.getVideoSuperviseTrend(year, args);
// return res;
// }
//endregion
//region
public List<EchartsVo> getVideoSuperviseProblemTypeRate(Date beginTime, Date endTime) {
List<EchartsVo> res = negativeMapper.getVideoSuperviseProblemTypeRate(beginTime, endTime);
return res;
}
//endregion
}

22
src/main/java/com/biutag/supervision/service/datav/DatavService.java

@ -5,6 +5,7 @@ import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.request.datav.DataVRequest; import com.biutag.supervision.pojo.request.datav.DataVRequest;
import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest; import com.biutag.supervision.pojo.request.subdatav.SubDataVRequest;
import com.biutag.supervision.pojo.vo.AuditOverview; import com.biutag.supervision.pojo.vo.AuditOverview;
import com.biutag.supervision.pojo.vo.SupervisionNotifyOverView;
/** /**
* @ClassName DatavService * @ClassName DatavService
@ -206,4 +207,25 @@ public interface DatavService {
* @return * @return
*/ */
Result<JSONObject> getSubOneMailMapIcon(SubDataVRequest request); Result<JSONObject> getSubOneMailMapIcon(SubDataVRequest request);
/**
* 视频督察一级大屏问题排名
* @param request
* @return
*/
Result<JSONObject> getVideoSuperviseProblemRank(DataVRequest request);
/**
* 现场专项一级大屏 现场督察卡片
* @param request
* @return
*/
Result<JSONObject> getChangedRank(DataVRequest request);
/**
* 现场专项总览
* @param request
* @return
*/
Result<SupervisionNotifyOverView> getSupervisionNotifyCount(DataVRequest request);
} }

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

@ -6,6 +6,8 @@ import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.biutag.supervision.common.UserContextHolder;
import com.biutag.supervision.constants.AppConstants;
import com.biutag.supervision.constants.enums.*; import com.biutag.supervision.constants.enums.*;
import com.biutag.supervision.constants.enums.invest.DeleteStatusEnum; import com.biutag.supervision.constants.enums.invest.DeleteStatusEnum;
import com.biutag.supervision.constants.enums.invest.ReportProjectNodeEnum; import com.biutag.supervision.constants.enums.invest.ReportProjectNodeEnum;
@ -17,6 +19,7 @@ import com.biutag.supervision.pojo.dto.common.PieItem;
import com.biutag.supervision.pojo.entity.*; import com.biutag.supervision.pojo.entity.*;
import com.biutag.supervision.pojo.entity.mailbox.Mail; import com.biutag.supervision.pojo.entity.mailbox.Mail;
import com.biutag.supervision.pojo.entity.report.ReportProject; import com.biutag.supervision.pojo.entity.report.ReportProject;
import com.biutag.supervision.pojo.model.UserAuth;
import com.biutag.supervision.pojo.param.*; import com.biutag.supervision.pojo.param.*;
import com.biutag.supervision.pojo.param.dataAudit.DataAuditQueryParam; import com.biutag.supervision.pojo.param.dataAudit.DataAuditQueryParam;
import com.biutag.supervision.pojo.request.datav.DataVRequest; import com.biutag.supervision.pojo.request.datav.DataVRequest;
@ -31,18 +34,19 @@ import com.biutag.supervision.repository.reportproject.ReportProjectResourceServ
import com.biutag.supervision.repository.supExternalDepart.SupExternalDepartResourceService; import com.biutag.supervision.repository.supExternalDepart.SupExternalDepartResourceService;
import com.biutag.supervision.repository.supdepart.SupDepartResourceService; import com.biutag.supervision.repository.supdepart.SupDepartResourceService;
import com.biutag.supervision.service.*; import com.biutag.supervision.service.*;
import com.biutag.supervision.util.CompletableUtils.CompletableFutureUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.biutag.supervision.constants.enums.DepartGroupEnum.COUNTY_CITY_BUREAUS;
import static com.biutag.supervision.constants.enums.ProblemSourcesEnum.*; import static com.biutag.supervision.constants.enums.ProblemSourcesEnum.*;
/** /**
@ -125,6 +129,14 @@ public class DatavServiceImpl implements DatavService {
@Resource @Resource
private SupDepartMapper supDepartMapper; private SupDepartMapper supDepartMapper;
@Resource
private NegativeMapper negativeMapper;
@Resource
private SuperviseReportService superviseReportService;
private final String VALID_SIGN = "terminated"; private final String VALID_SIGN = "terminated";
private final String EX_SOURCE = "局长信箱"; private final String EX_SOURCE = "局长信箱";
@ -656,6 +668,7 @@ public class DatavServiceImpl implements DatavService {
/** /**
* 维权抚慰 二级大屏 维权案件情况 * 维权抚慰 二级大屏 维权案件情况
*
* @param request * @param request
* @return * @return
*/ */
@ -756,7 +769,6 @@ public class DatavServiceImpl implements DatavService {
} }
@Override @Override
public Result<JSONObject> getFirstAndRepeatMail(DataVRequest request) { public Result<JSONObject> getFirstAndRepeatMail(DataVRequest request) {
Date beginTime = request.getBeginTime(); Date beginTime = request.getBeginTime();
@ -1027,6 +1039,228 @@ public class DatavServiceImpl implements DatavService {
return Result.success(data); return Result.success(data);
} }
@Override
public Result<JSONObject> getVideoSuperviseProblemRank(DataVRequest request) {
List<OrganizeProblemRankVo> fxsjVideoSuperviseProblemRankList = new ArrayList<>();
List<OrganizeProblemRankVo> jsdwVideoSuperviseProblemRankList = new ArrayList<>();
SupDepartQueryParam supDepartQueryParam = new SupDepartQueryParam();
supDepartQueryParam.setStatisticsGroupId(DepartGroupEnum.COUNTY_CITY_BUREAUS.getId());
List<SupDepart> fxsjDw = supDepartResourceService.query(supDepartQueryParam);
SupDepartQueryParam jsdwQueryParam = new SupDepartQueryParam();
jsdwQueryParam.setStatisticsGroupId(DepartGroupEnum.BUREAU_AFFILIATED.getId());
List<SupDepart> jsdwDw = supDepartResourceService.query(jsdwQueryParam);
for (SupDepart fxsj : fxsjDw) {
List<Negative> fxsjList = negativeMapper.getVideoSuperviseProblemRank(fxsj.getId(), request.getBeginTime(), request.getEndTime());
// 总数
long total = fxsjList.size();
if (total==0){
continue;
}
// 市局下发
long sjxf = fxsjList.stream().filter(one -> Integer.valueOf(0).equals(one.getCrtDepartLevel())).count();
// 县局下发
long xjxf = fxsjList.stream().filter(one -> Integer.valueOf(2).equals(one.getCrtDepartLevel())).count();
OrganizeProblemRankVo organizeProblemRankVo = new OrganizeProblemRankVo();
organizeProblemRankVo.setLabel(fxsj.getShortName());
organizeProblemRankVo.setCityNumber(String.valueOf(sjxf));
organizeProblemRankVo.setCountyNumber(String.valueOf(xjxf));
organizeProblemRankVo.setValue(String.valueOf(total));
fxsjVideoSuperviseProblemRankList.add(organizeProblemRankVo);
}
for (SupDepart jsdw : jsdwDw) {
List<Negative> fxsjList = negativeMapper.getVideoSuperviseProblemRank(jsdw.getId(), request.getBeginTime(), request.getEndTime());
// 总数
long total = fxsjList.size();
if (total==0){
continue;
}
// 市局下发
long sjxf = fxsjList.stream().filter(one -> Integer.valueOf(0).equals(one.getCrtDepartLevel())).count();
// 县局下发
long xjxf = fxsjList.stream().filter(one -> Integer.valueOf(2).equals(one.getCrtDepartLevel())).count();
OrganizeProblemRankVo organizeProblemRankVo = new OrganizeProblemRankVo();
organizeProblemRankVo.setLabel(jsdw.getShortName());
organizeProblemRankVo.setCityNumber(String.valueOf(sjxf));
organizeProblemRankVo.setCountyNumber(String.valueOf(xjxf));
organizeProblemRankVo.setValue(String.valueOf(total));
jsdwVideoSuperviseProblemRankList.add(organizeProblemRankVo);
}
// 排序
fxsjVideoSuperviseProblemRankList.sort(
Comparator.comparingLong((OrganizeProblemRankVo vo) -> Long.parseLong(vo.getValue()))
.reversed()
);
jsdwVideoSuperviseProblemRankList.sort(
Comparator.comparingLong((OrganizeProblemRankVo vo) -> Long.parseLong(vo.getValue()))
.reversed()
);
JSONObject data = new JSONObject();
data.fluentPut("fxsjVideoSuperviseProblemRankList", fxsjVideoSuperviseProblemRankList);
data.fluentPut("jsdwVideoSuperviseProblemRankList", jsdwVideoSuperviseProblemRankList);
return Result.success(data);
}
@Override
public Result<JSONObject> getChangedRank(DataVRequest request) {
List<RankVo> fxsjChangedRankList = new ArrayList<>();
List<RankVo> jsdwChangedRankList = new ArrayList<>();
SupDepartQueryParam supDepartQueryParam = new SupDepartQueryParam();
supDepartQueryParam.setStatisticsGroupId(DepartGroupEnum.COUNTY_CITY_BUREAUS.getId());
List<SupDepart> fxsjDw = supDepartResourceService.query(supDepartQueryParam);
SupDepartQueryParam jsdwQueryParam = new SupDepartQueryParam();
jsdwQueryParam.setStatisticsGroupId(DepartGroupEnum.BUREAU_AFFILIATED.getId());
List<SupDepart> jsdwDw = supDepartResourceService.query(jsdwQueryParam);
for (SupDepart fxsj : fxsjDw) {
List<Negative> negativeList = negativeMapper.getChangedRank(fxsj.getId(), request.getBeginTime(), request.getEndTime());
// 问题数
int totalPro = negativeList.size();
if (totalPro==0){
continue;
}
// 办结数
long completed = negativeList.stream().filter(Objects::nonNull).filter(one -> ProcessingStatusEnum.completed.name().equals(one.getProcessingStatus())).count();
// 市局下发
long sjxf = negativeList.stream().filter(Objects::nonNull).filter(one -> Integer.valueOf(0).equals(one.getCrtDepartLevel())).count();
// 县局下发
long xjxf = negativeList.stream().filter(Objects::nonNull).filter(one -> Integer.valueOf(2).equals(one.getCrtDepartLevel())).count();
String rate = BigDecimal.valueOf(completed)
.multiply(BigDecimal.valueOf(100))
.divide(BigDecimal.valueOf(totalPro), 1, RoundingMode.HALF_UP)
.toString();
RankVo rankVo = new RankVo();
rankVo.setLabel(fxsj.getShortName());
rankVo.setDepartId(fxsj.getId());
rankVo.setCityNumber(String.valueOf(sjxf));
rankVo.setCountyNumber(String.valueOf(xjxf));
rankVo.setNumerator(String.valueOf(completed));
rankVo.setDenominator(String.valueOf(totalPro));
rankVo.setValue(rate);
rankVo.setRate(rate);
fxsjChangedRankList.add(rankVo);
}
for (SupDepart jsdw : jsdwDw) {
List<Negative> negativeList = negativeMapper.getChangedRank(jsdw.getId(), request.getBeginTime(), request.getEndTime());
// 问题数
int totalPro = negativeList.size();
if (totalPro==0){
continue;
}
// 办结数
long completed = negativeList.stream().filter(Objects::nonNull).filter(one -> ProcessingStatusEnum.completed.name().equals(one.getProcessingStatus())).count();
// 市局下发
long sjxf = negativeList.stream().filter(Objects::nonNull).filter(one -> Integer.valueOf(0).equals(one.getCrtDepartLevel())).count();
// 县局下发
long xjxf = negativeList.stream().filter(Objects::nonNull).filter(one -> Integer.valueOf(2).equals(one.getCrtDepartLevel())).count();
String rate = BigDecimal.valueOf(completed)
.multiply(BigDecimal.valueOf(100))
.divide(BigDecimal.valueOf(totalPro), 1, RoundingMode.HALF_UP)
.toString();
RankVo rankVo = new RankVo();
rankVo.setLabel(jsdw.getShortName());
rankVo.setDepartId(jsdw.getId());
rankVo.setCityNumber(String.valueOf(sjxf));
rankVo.setCountyNumber(String.valueOf(xjxf));
rankVo.setNumerator(String.valueOf(completed));
rankVo.setDenominator(String.valueOf(totalPro));
rankVo.setValue(rate);
rankVo.setRate(rate);
jsdwChangedRankList.add(rankVo);
}
fxsjChangedRankList.sort(
Comparator.comparingLong((RankVo vo) -> Long.parseLong(vo.getDenominator()))
.reversed()
);
jsdwChangedRankList.sort(
Comparator.comparingLong((RankVo vo) -> Long.parseLong(vo.getDenominator()))
.reversed()
);
long total = Stream.concat(fxsjChangedRankList.stream(), jsdwChangedRankList.stream())
.mapToLong(vo -> Long.parseLong(vo.getDenominator()))
.sum();
long completed = Stream.concat(fxsjChangedRankList.stream(), jsdwChangedRankList.stream())
.mapToLong(vo -> Long.parseLong(vo.getNumerator()))
.sum();
long processing = total - completed;
double rate = total == 0 ? 0.0 : BigDecimal.valueOf(completed)
.multiply(BigDecimal.valueOf(100))
.divide(BigDecimal.valueOf(total), 1, RoundingMode.HALF_UP)
.doubleValue();
DayTimeSuperviseVo overview = new DayTimeSuperviseVo();
overview.setProTotal((int) total);
overview.setProcessingNumber(processing);
overview.setCompletedNumber(completed);
overview.setCompletedRate(rate);
JSONObject data = new JSONObject()
.fluentPut("fxsjChangedRankList", fxsjChangedRankList)
.fluentPut("jsdwChangedRankList", jsdwChangedRankList)
.fluentPut("overview", overview);
return Result.success(data);
}
@Override
public Result<SupervisionNotifyOverView> getSupervisionNotifyCount(DataVRequest request) {
SupervisionNotifyOverView overView = new SupervisionNotifyOverView();
List<String> proCode = List.of(XCDC.getValue(), LMGZ.getValue(), ZXDC.getValue());
LambdaQueryWrapper<Negative> negativeLambdaQueryWrapper = new LambdaQueryWrapper<>();
negativeLambdaQueryWrapper.between(Negative::getCrtTime, request.getBeginTime(), request.getEndTime());
negativeLambdaQueryWrapper.in(Negative::getProblemSourcesCode, proCode);
List<Negative> negatives = negativeMapper.selectList(negativeLambdaQueryWrapper);
List<Negative> completedList = negatives.stream().filter(item -> ProcessingStatusEnum.completed.name().equals(item.getProcessingStatus())).toList();
List<Negative> processingList = negatives.stream().filter(item -> ProcessingStatusEnum.processing.name().equals(item.getProcessingStatus())).toList();
LambdaQueryWrapper<SuperviseReport> superviseReportLambdaQueryWrapper = new LambdaQueryWrapper<>();
UserAuth user = UserContextHolder.getCurrentUser();
// 权限
if (!AppConstants.USER_TYPE_SUPER.equals(user.getUserType()) && !user.getRoleCodes().contains(RoleCodeEnum.FIRST_ADMIN.getCode())) {
if (user.getAuthDepartIds().isEmpty() || user.getRoleCodes().isEmpty()) {
//特殊处理
overView.setReportNumber(0L);
}
List<String> orgIds = supDepartService.getAllNodeIds(user.getAuthDepartIds());
superviseReportLambdaQueryWrapper.in(SuperviseReport::getCrtDepartId, orgIds);
}
superviseReportLambdaQueryWrapper.between(SuperviseReport::getCrtTime, request.getBeginTime(), request.getEndTime());
superviseReportLambdaQueryWrapper.eq(SuperviseReport::getType, "1");
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();
CompletableFuture.allOf(
CompletableFutureUtil.runSyncObject(() -> {
long personNumber = negativeIds.isEmpty() ? 0 : negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>().in(NegativeBlame::getNegativeId, negativeIds)
.eq(NegativeBlame::getType, "personal")
.isNotNull(NegativeBlame::getBlameName)
.ne(NegativeBlame::getBlameName, "")
.ne(NegativeBlame::getHandleResultName, "不予追责")
.isNotNull(NegativeBlame::getHandleResultName)
.ne(NegativeBlame::getHandleResultName, ""));
overView.setPersonNumber(personNumber);
}),
CompletableFutureUtil.runSyncObject(() -> {
long departNumber = negativeIds.isEmpty() ? 0 : negativeBlameService.count(new LambdaQueryWrapper<NegativeBlame>().in(NegativeBlame::getNegativeId, negativeIds)
.eq(NegativeBlame::getType, "department")
.ne(NegativeBlame::getHandleResultName, "不予追责")
.isNotNull(NegativeBlame::getHandleResultName)
.ne(NegativeBlame::getHandleResultName, ""));
overView.setDepartNumber(departNumber);
})
).join();
// 通报问题数
overView.setProblemNumber(negatives.size());
// 通报期数
overView.setReportNumber((long) superviseReportList.size());
// 办理中
overView.setProcessingNumber((long) processingList.size());
// 已办结
overView.setCompletedNumber((long) completedList.size());
return Result.success(overView);
}
public Result<JSONObject> getSubOneMailMapIcon() { public Result<JSONObject> getSubOneMailMapIcon() {
@ -1197,33 +1431,87 @@ public class DatavServiceImpl implements DatavService {
// ===== 分县市局 - 群体集访 ===== // ===== 分县市局 - 群体集访 =====
List<OrganizeProblemRankVo> fxsjMassMailList = new ArrayList<>(); List<OrganizeProblemRankVo> fxsjMassMailList = new ArrayList<>();
OrganizeProblemRankVo v1 = new OrganizeProblemRankVo(); v1.setLabel("浏阳市局"); v1.setValue("126"); fxsjMassMailList.add(v1); OrganizeProblemRankVo v1 = new OrganizeProblemRankVo();
OrganizeProblemRankVo v2 = new OrganizeProblemRankVo(); v2.setLabel("宁乡市局"); v2.setValue("98"); fxsjMassMailList.add(v2); v1.setLabel("浏阳市局");
OrganizeProblemRankVo v3 = new OrganizeProblemRankVo(); v3.setLabel("长沙县局"); v3.setValue("86"); fxsjMassMailList.add(v3); v1.setValue("126");
OrganizeProblemRankVo v4 = new OrganizeProblemRankVo(); v4.setLabel("望城区局"); v4.setValue("74"); fxsjMassMailList.add(v4); fxsjMassMailList.add(v1);
OrganizeProblemRankVo v5 = new OrganizeProblemRankVo(); v5.setLabel("岳麓分局"); v5.setValue("63"); fxsjMassMailList.add(v5); 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<>(); List<OrganizeProblemRankVo> fxsjLeaderReviewMailList = new ArrayList<>();
OrganizeProblemRankVo v6 = new OrganizeProblemRankVo(); v6.setLabel("浏阳市局"); v6.setValue("34"); fxsjLeaderReviewMailList.add(v6); OrganizeProblemRankVo v6 = new OrganizeProblemRankVo();
OrganizeProblemRankVo v7 = new OrganizeProblemRankVo(); v7.setLabel("宁乡市局"); v7.setValue("28"); fxsjLeaderReviewMailList.add(v7); v6.setLabel("浏阳市局");
OrganizeProblemRankVo v8 = new OrganizeProblemRankVo(); v8.setLabel("长沙县局"); v8.setValue("25"); fxsjLeaderReviewMailList.add(v8); v6.setValue("34");
OrganizeProblemRankVo v9 = new OrganizeProblemRankVo(); v9.setLabel("望城区局"); v9.setValue("19"); fxsjLeaderReviewMailList.add(v9); fxsjLeaderReviewMailList.add(v6);
OrganizeProblemRankVo v10 = new OrganizeProblemRankVo(); v10.setLabel("岳麓分局"); v10.setValue("16"); fxsjLeaderReviewMailList.add(v10); 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<>(); List<OrganizeProblemRankVo> bwzdMassMailList = new ArrayList<>();
OrganizeProblemRankVo b1 = new OrganizeProblemRankVo(); b1.setLabel("治安支队"); b1.setValue("47"); bwzdMassMailList.add(b1); OrganizeProblemRankVo b1 = new OrganizeProblemRankVo();
OrganizeProblemRankVo b2 = new OrganizeProblemRankVo(); b2.setLabel("刑侦支队"); b2.setValue("39"); bwzdMassMailList.add(b2); b1.setLabel("治安支队");
OrganizeProblemRankVo b3 = new OrganizeProblemRankVo(); b3.setLabel("交警支队"); b3.setValue("33"); bwzdMassMailList.add(b3); b1.setValue("47");
OrganizeProblemRankVo b4 = new OrganizeProblemRankVo(); b4.setLabel("网安支队"); b4.setValue("28"); bwzdMassMailList.add(b4); 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<>(); List<OrganizeProblemRankVo> bwzdLeaderReviewMailList = new ArrayList<>();
OrganizeProblemRankVo b5 = new OrganizeProblemRankVo(); b5.setLabel("治安支队"); b5.setValue("14"); bwzdLeaderReviewMailList.add(b5); OrganizeProblemRankVo b5 = new OrganizeProblemRankVo();
OrganizeProblemRankVo b6 = new OrganizeProblemRankVo(); b6.setLabel("刑侦支队"); b6.setValue("11"); bwzdLeaderReviewMailList.add(b6); b5.setLabel("治安支队");
OrganizeProblemRankVo b7 = new OrganizeProblemRankVo(); b7.setLabel("交警支队"); b7.setValue("9"); bwzdLeaderReviewMailList.add(b7); b5.setValue("14");
OrganizeProblemRankVo b8 = new OrganizeProblemRankVo(); b8.setLabel("网安支队"); b8.setValue("6"); bwzdLeaderReviewMailList.add(b8); 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(); MailEntanglementMassOverviewVo fxsjOverview = new MailEntanglementMassOverviewVo();

Loading…
Cancel
Save