Browse Source

地图样式 信访大屏重构

main
不爱学习的石同学 12 months ago
parent
commit
5c6cad0799
  1. 6
      pom.xml
  2. 3
      src/main/java/com/biutag/supervision/constants/enums/RepeatEnum.java
  3. 104
      src/main/java/com/biutag/supervision/controller/datav/DataMailViewController.java
  4. 32
      src/main/java/com/biutag/supervision/controller/datav/DatavRightsComfortController.java
  5. 58
      src/main/java/com/biutag/supervision/controller/datav/SubOneController.java
  6. 12
      src/main/java/com/biutag/supervision/mapper/CountyStreetDeptMapper.java
  7. 64
      src/main/java/com/biutag/supervision/mapper/DataPetitionComplaintMapper.java
  8. 12
      src/main/java/com/biutag/supervision/mapper/NegativeMapper.java
  9. 2
      src/main/java/com/biutag/supervision/mapper/RpcApplyMapper.java
  10. 19
      src/main/java/com/biutag/supervision/pojo/vo/MailEntanglementMassOverviewVo.java
  11. 16
      src/main/java/com/biutag/supervision/pojo/vo/MailFirstAndRepeatOverviewVo.java
  12. 18
      src/main/java/com/biutag/supervision/pojo/vo/MailOverviewVo.java
  13. 49
      src/main/java/com/biutag/supervision/service/DataMailService.java
  14. 34
      src/main/resources/mapper/NegativeMapper.xml

6
pom.xml

@ -31,6 +31,12 @@
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>

3
src/main/java/com/biutag/supervision/constants/enums/RepeatEnum.java

@ -11,6 +11,9 @@ public enum RepeatEnum {
FIRST_MAIL(1, "初访信件"),
REPEAT_MAIL(2, "重访信件");
private Integer id;
private String label;

104
src/main/java/com/biutag/supervision/controller/datav/DataMailViewController.java

@ -7,8 +7,7 @@ import com.biutag.supervision.constants.enums.RepeatEnum;
import com.biutag.supervision.mapper.DataPetitionComplaintMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.CaseVerifDepart;
import com.biutag.supervision.pojo.vo.RecentMailTrendByDayVo;
import com.biutag.supervision.pojo.vo.RecentMailTrendByMonthVo;
import com.biutag.supervision.pojo.vo.*;
import com.biutag.supervision.service.DataMailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -43,15 +42,99 @@ public class DataMailViewController {
private final DataMailService dataMailService;
private final DataPetitionComplaintMapper dataPetitionComplaintMapper;
/**
* 信访数据大屏统计
* @param beginTime
* @param endTime
* @return
*/
// region 左边
// 初访重访情况
@Operation(summary = "初访重访情况")
@GetMapping("/getFirstAndRepeatMail")
public Result<JSONObject> getFirstAndRepeatMail(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
// 初访重访情况总览
MailFirstAndRepeatOverviewVo firstAndRepeatOverview = dataMailService.getFirstAndRepeatOverview(beginTime, endTime);
// 初访重访分类数据排行
List<OrganizeProblemRankVo> fxsjFirstRankList = dataMailService.getMailRank(beginTime, endTime, 3, RepeatEnum.FIRST_MAIL.getId());
List<OrganizeProblemRankVo> fxsjRepeatRankList = dataMailService.getMailRank(beginTime, endTime, 3, RepeatEnum.REPEAT_MAIL.getId());
List<OrganizeProblemRankVo> fxsjLeaderViewRankList = dataMailService.getMailLeaderRank(beginTime, endTime, 3);
List<OrganizeProblemRankVo> bwzdFirstRankList = dataMailService.getMailRank(beginTime, endTime, 4, RepeatEnum.FIRST_MAIL.getId());
List<OrganizeProblemRankVo> bwzdRepeatRankList = dataMailService.getMailRank(beginTime, endTime, 4, RepeatEnum.REPEAT_MAIL.getId());
List<OrganizeProblemRankVo> bwzdLeaderViewRankList = dataMailService.getMailLeaderRank(beginTime, endTime, 4);
JSONObject data = new JSONObject()
.fluentPut("firstAndRepeatOverview", firstAndRepeatOverview)
.fluentPut("fxsjFirstRankList", fxsjFirstRankList)
.fluentPut("fxsjRepeatRankList", fxsjRepeatRankList)
.fluentPut("fxsjLeaderViewRankList", fxsjLeaderViewRankList)
.fluentPut("bwzdFirstRankList", bwzdFirstRankList)
.fluentPut("bwzdRepeatRankList", bwzdRepeatRankList)
.fluentPut("bwzdLeaderViewRankList", bwzdLeaderViewRankList);
return Result.success(data);
}
// endregion
// region 中间
// 信访数据中央总览统计
@Operation(summary = "信访数据大屏中央数据统计")
@GetMapping("/getAllMailCount")
public Result<JSONObject> getAllMailCount(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
// 信访数据总数概览
MailOverviewVo overview = dataMailService.getAllMailCount(beginTime, endTime);
JSONObject data = new JSONObject().fluentPut("overview", overview);
return Result.success(data);
}
@Operation(summary = "信访数据大屏信访趋势统计")
@GetMapping("/getMailTrend")
public Result<JSONObject> getMailTrend(@RequestParam Integer year) {
List<EchartsVo> countryList = dataMailService.getMailTrend(year, 21); // 国家
List<EchartsVo> policeList = dataMailService.getMailTrend(year, 22); // 公安部信访
List<EchartsVo> manageList = dataMailService.getMailTrend(year, 23); // 局长信箱
List<EchartsVo> numberList = dataMailService.getMailTrend(year, 24); // 12337信访
JSONObject data = new JSONObject().fluentPut("countryList", countryList)
.fluentPut("policeList", policeList)
.fluentPut("manageList", manageList)
.fluentPut("numberList", numberList);
return Result.success(data);
}
// endregion
// region 右边
// 缠访集访情况
@Operation(summary = "缠访集访情况")
@GetMapping("/getEntanglementAndMassMail")
public Result<JSONObject> getEntanglementAndMassMail(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
// 缠访集访情况
MailEntanglementMassOverviewVo mailEntanglementMassOverview = dataMailService.getEntanglementAndMassOverview(beginTime, endTime);
List<OrganizeProblemRankVo> fxsjLeaderReviewList = dataMailService.getMailLeaderRank(beginTime, endTime, 3);
List<OrganizeProblemRankVo> fxsjEntanglementList = dataMailService.getEntanglementMailRank(beginTime, endTime, 3);
List<OrganizeProblemRankVo> fxsjMassList = dataMailService.getMassMailRank(beginTime, endTime, 3);
List<OrganizeProblemRankVo> bwzdLeaderReviewList = dataMailService.getMailLeaderRank(beginTime, endTime, 4);
List<OrganizeProblemRankVo> bwzdEntanglementList = dataMailService.getEntanglementMailRank(beginTime, endTime, 4);
List<OrganizeProblemRankVo> bwzdMassList = dataMailService.getMassMailRank(beginTime, endTime, 4);
JSONObject data = new JSONObject()
.fluentPut("mailEntanglementMassOverview", mailEntanglementMassOverview)
.fluentPut("fxsjLeaderReviewList", fxsjLeaderReviewList)
.fluentPut("fxsjEntanglementList", fxsjEntanglementList)
.fluentPut("fxsjMassList", fxsjMassList)
.fluentPut("bwzdLeaderReviewList", bwzdLeaderReviewList)
.fluentPut("bwzdEntanglementList", bwzdEntanglementList)
.fluentPut("bwzdMassList", bwzdMassList);
return Result.success(data);
}
// endregion 右边
// region 旧接口
// 信访数据大屏统计
@Operation(summary = "信访数据大屏中央数据统计")
@GetMapping
public Result<JSONObject> mailVisits(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
public Result<JSONObject> mailVisits(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime,
@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
// 信访数据总数概览
JSONObject overview = dataMailService.allMailCount(beginTime, endTime);
// 分县市局信初重访领导访排名
@ -82,6 +165,7 @@ public class DataMailViewController {
return Result.success(data);
}
/**
* 信访数据大屏信访趋势统计按日
*/
@ -186,6 +270,6 @@ public class DataMailViewController {
jsonObject.fluentPut("totalList", totalList);
return Result.success(jsonObject);
}
// endregion
}

32
src/main/java/com/biutag/supervision/controller/datav/DatavRightsComfortController.java

@ -36,7 +36,7 @@ public class DatavRightsComfortController {
private final DataRightsComfortService dataRightsComfortService;
private final RpcInfringerResultService rpcInfringerResultService;
private final CountyStreetDeptService countyStreetDeptService;
@GetMapping
public Result<DataRightsComfortModel> rightsComfort(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date beginTime, @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime) {
@ -103,6 +103,8 @@ public class DatavRightsComfortController {
comfortOverview.setComfortTotal(comfortTotal);
comfortOverview.setHitTotal(hitTotal);
comfortOverview.setComfortMoney(comfortMoney);
comfortOverview.setComfortCaseTotal(0);
comfortOverview.setHurtTotal(0);
JSONObject data = new JSONObject().fluentPut("comfortOverview", comfortOverview);
return Result.success(data);
}
@ -156,34 +158,6 @@ public class DatavRightsComfortController {
}
@GetMapping("/test")
public Result<JSONObject> test() {
Integer departId = 3490;
List<CountyStreetDept> depts = countyStreetDeptService.getTest(departId);
Map<String, Object> geoJson = new HashMap<>();
geoJson.put("type", "FeatureCollection");
List<Map<String, Object>> features = new ArrayList<>();
for (CountyStreetDept dept : depts) {
Map<String, Object> feature = new HashMap<>();
feature.put("type", "Feature");
Map<String, Object> properties = new HashMap<>();
properties.put("name", dept.getName());
feature.put("properties", properties);
Map<String, Object> geometry = new HashMap<>();
geometry.put("type", "MultiPolygon");
// geometry.put("coordinates", new Gson().fromJson(dept.getGeometry(), Object.class));
feature.put("geometry", geometry);
features.add(feature);
}
geoJson.put("features", features);
JSONObject jsonObject = new JSONObject();
jsonObject.put("geoJson", geoJson);
return Result.success(jsonObject);
}
// endregion

58
src/main/java/com/biutag/supervision/controller/datav/SubOneController.java

@ -0,0 +1,58 @@
package com.biutag.supervision.controller.datav;
import com.alibaba.fastjson.JSONObject;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.CountyStreetDept;
import com.biutag.supervision.service.CountyStreetDeptService;
import com.google.gson.Gson;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
/**
* @Auther: sh
* @Date: 2024/12/4 16:30
* @Description: 一级子屏
*/
@Tag(name = "一级子屏")
@RequestMapping("datav/sub1/")
@RequiredArgsConstructor
@RestController
public class SubOneController {
private final CountyStreetDeptService countyStreetDeptService;
@GetMapping("/test")
public Result<JSONObject> test(@RequestParam Integer departId) {
List<CountyStreetDept> depts = countyStreetDeptService.getTest(4062);
Map<String, Object> geoJson = new HashMap<>();
geoJson.put("type", "FeatureCollection");
List<Map<String, Object>> features = new ArrayList<>();
for (CountyStreetDept dept : depts) {
Map<String, Object> feature = new HashMap<>();
feature.put("type", "Feature");
Map<String, Object> properties = new HashMap<>();
properties.put("name", dept.getName());
feature.put("properties", properties);
Map<String, Object> geometry = new HashMap<>();
geometry.put("type", "MultiPolygon");
geometry.put("coordinates", new Gson().fromJson(dept.getGeometry(), Object.class));
feature.put("geometry", geometry);
features.add(feature);
}
geoJson.put("features", features);
JSONObject jsonObject = new JSONObject();
jsonObject.put("geoJson", geoJson);
return Result.success(jsonObject);
}
}

12
src/main/java/com/biutag/supervision/mapper/CountyStreetDeptMapper.java

@ -15,12 +15,12 @@ import java.util.List;
*/
public interface CountyStreetDeptMapper extends BaseMapper<CountyStreetDept> {
@Select("SELECT id, dept_pid_name, dept_pid, pid, \n" +
"CONVERT(coordinates, CHAR) AS coordinates, \n" +
"level, name, sort, \n" +
"CONVERT(geometry, CHAR) AS geometry, \n" +
"area_name, dept_id, dept_name\n" +
"FROM\tcounty_street_dept \twhere pid = 3490;")
@Select("SELECT id, dept_pid_name, dept_pid, pid, " +
"CONVERT(coordinates, CHAR) AS coordinates, " +
"level, name, sort, " +
"CONVERT(geometry, CHAR) AS geometry, " +
"area_name, dept_id, dept_name " +
"FROM county_street_dept where id = 3319;")
List<CountyStreetDept> props(Integer id);
}

64
src/main/java/com/biutag/supervision/mapper/DataPetitionComplaintMapper.java

@ -3,8 +3,7 @@ package com.biutag.supervision.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.biutag.supervision.pojo.dto.CaseVerifDepart;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.vo.RecentMailTrendByDayVo;
import com.biutag.supervision.pojo.vo.RecentMailTrendByMonthVo;
import com.biutag.supervision.pojo.vo.*;
import org.apache.ibatis.annotations.Select;
import java.util.Date;
@ -94,6 +93,63 @@ public interface DataPetitionComplaintMapper extends BaseMapper<DataPetitionComp
List<RecentMailTrendByMonthVo> selectRecentlyMailTrendByMonth(Integer sourcesCode, String year);
@Select("SELECT COUNT( IF(initial_petition=1, 1, NULL) ) AS firstMail, " +
"count( IF( initial_petition=2, 2, NULL) ) AS repeatMail, " +
"count( IF(receiving_leader_name is NOT NULL, 1, NULL) ) AS leaderMail " +
"FROM data_petition_complaint dpc " +
"WHERE discovery_time BETWEEN #{beginTime} AND #{endTime}; ")
MailFirstAndRepeatOverviewVo getFirstAndRepeatOverview(Date beginTime, Date endTime);
@Select("SELECT sd.short_name AS label, count(*) AS `value` FROM data_petition_complaint dpc " +
"INNER JOIN sup_depart sd ON dpc.second_depart_id=sd.id " +
"AND sd.statistics_group_id=#{groupId} " +
"AND dpc.second_depart_name is not NULL " +
"WHERE dpc.initial_petition=#{isRepeat} " +
"AND discovery_time BETWEEN #{beginTime} AND #{endTime} " +
"GROUP BY sd.short_name " +
"HAVING label is not NULL " +
"ORDER BY `value` DESC ")
List<OrganizeProblemRankVo> getMailRank(Date beginTime, Date endTime, int groupId, Integer isRepeat);
@Select("SELECT sd.short_name AS label, count(*) AS `value` FROM data_petition_complaint dpc " +
"INNER JOIN sup_depart sd ON dpc.second_depart_id=sd.id " +
"AND sd.statistics_group_id=#{groupId} " +
"AND dpc.second_depart_name is not NULL " +
"WHERE dpc.receiving_leader_name is NOT NULL " +
"AND discovery_time BETWEEN #{beginTime} AND #{endTime} " +
"GROUP BY sd.short_name " +
"HAVING label is not NULL " +
"ORDER BY `value` DESC")
List<OrganizeProblemRankVo> getMailLeaderRank(Date beginTime, Date endTime, int groupId);
@Select("SELECT COUNT( IF(mass_visits=1, 1, NULL) ) AS entanglement, " +
"count( IF( entanglement_visits=1, 1, NULL) ) AS mass, " +
"count( IF(receiving_leader_name is NOT NULL, 1, NULL) ) AS leaderReview " +
"FROM data_petition_complaint dpc " +
"WHERE discovery_time BETWEEN #{beginTime} AND #{endTime} ")
MailEntanglementMassOverviewVo getEntanglementAndMassOverview(Date beginTime, Date endTime);
@Select("SELECT sd.short_name AS label, " +
"count(*) AS `value` FROM data_petition_complaint dpc " +
"INNER JOIN sup_depart sd ON dpc.second_depart_id=sd.id " +
"AND sd.statistics_group_id=#{groupId} " +
"AND dpc.second_depart_name is not NULL " +
"WHERE dpc.entanglement_visits=1 " +
"AND discovery_time BETWEEN #{beginTime} AND #{endTime} " +
"GROUP BY sd.short_name " +
"HAVING label is not NULL " +
"ORDER BY `value` DESC")
List<OrganizeProblemRankVo> getEntanglementMailRank(Date beginTime, Date endTime, int groupId);
@Select("SELECT sd.short_name AS label, " +
"count(*) AS `value` FROM data_petition_complaint dpc " +
"INNER JOIN sup_depart sd ON dpc.second_depart_id=sd.id " +
"AND sd.statistics_group_id=#{groupId} " +
"AND dpc.second_depart_name is not NULL " +
"WHERE dpc.entanglement_visits=1 " +
"AND discovery_time BETWEEN #{beginTime} AND #{endTime} " +
"GROUP BY sd.short_name " +
"HAVING label is not NULL " +
"ORDER BY `value` DESC ")
List<OrganizeProblemRankVo> getMassMailRank(Date beginTime, Date endTime, int groupId);
}

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

@ -321,6 +321,18 @@ public interface NegativeMapper extends BaseMapper<Negative> {
"GROUP BY npr.threeLevelContent")
List<EchartsVo> getConfinementAndPause(Date beginTime, Date endTime, Integer type);
@Select("SELECT count(DISTINCT ng.id) AS totalMail, " +
"COUNT(DISTINCT ng.problemSourcesCode=21 ) AS countryMail, " +
"COUNT(DISTINCT ng.problemSourcesCode=22 ) AS policeMail, " +
"COUNT(DISTINCT ng.problemSourcesCode=24 ) AS numberMail, " +
"COUNT(DISTINCT ng.problemSourcesCode=23 ) AS manageMail " +
"FROM negative ng WHERE ng.checkStatus <> 3 " +
"AND ng.discoveryTime BETWEEN #{beginTime} AND #{endTime} " +
"AND ng.problemSourcesCode in(21, 22, 23, 24)")
MailOverviewVo getAllMailCount(Date beginTime, Date endTime);
List<EchartsVo> getMailTrend(Integer year, Integer type);
// endregion
}

2
src/main/java/com/biutag/supervision/mapper/RpcApplyMapper.java

@ -31,7 +31,7 @@ public interface RpcApplyMapper extends BaseMapper<RpcApply> {
@Select("SELECT c.job name, COUNT(c.job) value FROM sup_police c JOIN " +
"(SELECT a.emp_no FROM rpc_apply_person a LEFT JOIN rpc_apply b ON a.rpc_id = b.rpc_id " +
"WHERE c.del = 0 and b.apply_date BETWEEN #{beginTime} AND #{endTime} AND b.type = 2) d on c.emp_no = d.emp_no " +
"WHERE b.apply_date BETWEEN #{beginTime} AND #{endTime} AND b.type = 2) d on c.emp_no = d.emp_no " +
"GROUP BY c.job")
List<PieItem> selectComfortSituation(Date beginTime, Date endTime);

19
src/main/java/com/biutag/supervision/pojo/vo/MailEntanglementMassOverviewVo.java

@ -0,0 +1,19 @@
package com.biutag.supervision.pojo.vo;
import lombok.Data;
/**
* @Auther: sh
* @Date: 2024/12/4 14:37
* @Description: 信访投诉缠访集访情况总览VO 也可以初访重访情况VO
*/
@Data
public class MailEntanglementMassOverviewVo {
private Integer entanglement; // 缠访闹访
private Integer mass; // 群体集访
private Integer leaderReview; // 领导督办
}

16
src/main/java/com/biutag/supervision/pojo/vo/MailFirstAndRepeatOverviewVo.java

@ -0,0 +1,16 @@
package com.biutag.supervision.pojo.vo;
import lombok.Data;
/**
* @Auther: sh
* @Date: 2024/12/4 11:48
* @Description: 信访投诉初访重访情况总览VO 也可以缠访集访情况VO
*/
@Data
public class MailFirstAndRepeatOverviewVo {
private Integer firstMail;
private Integer repeatMail;
private Integer leaderMail;
}

18
src/main/java/com/biutag/supervision/pojo/vo/MailOverviewVo.java

@ -0,0 +1,18 @@
package com.biutag.supervision.pojo.vo;
import lombok.Data;
/**
* @Auther: sh
* @Date: 2024/12/4 09:30
* @Description: 信访投诉大屏中央数据总览
*/
@Data
public class MailOverviewVo {
private Integer totalMail;
private Integer countryMail;
private Integer policeMail;
private Integer numberMail;
private Integer manageMail;
}

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

@ -11,12 +11,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.biutag.supervision.constants.enums.*;
import com.biutag.supervision.mapper.DataPetition12337Mapper;
import com.biutag.supervision.mapper.DataPetitionComplaintMapper;
import com.biutag.supervision.mapper.NegativeMapper;
import com.biutag.supervision.pojo.dto.*;
import com.biutag.supervision.pojo.entity.DataPetition12337;
import com.biutag.supervision.pojo.entity.DataPetitionComplaint;
import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam;
import com.biutag.supervision.pojo.vo.RecentMailTrendByDayVo;
import com.biutag.supervision.pojo.vo.RecentMailTrendByMonthVo;
import com.biutag.supervision.pojo.vo.*;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -37,6 +37,7 @@ public class DataMailService extends ServiceImpl<DataPetitionComplaintMapper, Da
private final DataPetition12337Mapper dataPetition12337Mapper;
private final NegativeMapper negativeMapper;
public Page<DataPetitionComplaint> page(DataPetitionComplaintQueryParam queryParam) {
LambdaQueryWrapper<DataPetitionComplaint> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DataPetitionComplaint::getProblemSourcesCode, queryParam.getProblemSourcesCode())
@ -237,4 +238,48 @@ public class DataMailService extends ServiceImpl<DataPetitionComplaintMapper, Da
dataPetition12337Mapper.selectRecentlyMailTrendByMonth12337(year);
return recentMailTrendVos;
}
public MailOverviewVo getAllMailCount(Date beginTime, Date endTime) {
MailOverviewVo res = negativeMapper.getAllMailCount(beginTime, endTime);
return res;
}
public List<EchartsVo> getMailTrend(Integer year, Integer type) {
List<EchartsVo> res = negativeMapper.getMailTrend(year, type);
return res;
}
public MailFirstAndRepeatOverviewVo getFirstAndRepeatOverview(Date beginTime, Date endTime) {
MailFirstAndRepeatOverviewVo res = dataPetitionComplaintMapper.getFirstAndRepeatOverview(beginTime, endTime);
return res;
}
public List<OrganizeProblemRankVo> getMailRank(Date beginTime, Date endTime, int groupId, Integer isRepeat) {
List<OrganizeProblemRankVo> res = dataPetitionComplaintMapper.getMailRank(beginTime, endTime, groupId, isRepeat);
return res;
}
public List<OrganizeProblemRankVo> getMailLeaderRank(Date beginTime, Date endTime, int groupId) {
List<OrganizeProblemRankVo> res = dataPetitionComplaintMapper.getMailLeaderRank(beginTime, endTime, groupId);
return res;
}
public MailEntanglementMassOverviewVo getEntanglementAndMassOverview(Date beginTime, Date endTime) {
MailEntanglementMassOverviewVo res = dataPetitionComplaintMapper.getEntanglementAndMassOverview(beginTime, endTime);
return res;
}
public List<OrganizeProblemRankVo> getEntanglementMailRank(Date beginTime, Date endTime, int groupId) {
List<OrganizeProblemRankVo> res = dataPetitionComplaintMapper.getEntanglementMailRank(beginTime, endTime, groupId);
return res;
}
public List<OrganizeProblemRankVo> getMassMailRank(Date beginTime, Date endTime, int groupId) {
List<OrganizeProblemRankVo> res = dataPetitionComplaintMapper.getMassMailRank(beginTime, endTime, groupId);
return res;
}
}

34
src/main/resources/mapper/NegativeMapper.xml

@ -108,6 +108,40 @@
ORDER BY
m.month ASC;
</select>
<select id="getMailTrend" resultType="com.biutag.supervision.pojo.vo.EchartsVo">
SELECT m.monthName AS `name`,
IFNULL(COUNT(ng.discoveryTime), 0) AS `value`
FROM (SELECT '01' AS month, '1月' AS monthName
UNION ALL
SELECT '02', '2月'
UNION ALL
SELECT '03', '3月'
UNION ALL
SELECT '04', '4月'
UNION ALL
SELECT '05', '5月'
UNION ALL
SELECT '06', '6月'
UNION ALL
SELECT '07', '7月'
UNION ALL
SELECT '08', '8月'
UNION ALL
SELECT '09', '9月'
UNION ALL
SELECT '10', '10月'
UNION ALL
SELECT '11', '11月'
UNION ALL
SELECT '12', '12月') m
LEFT JOIN
negative ng on DATE_FORMAT(ng.discoveryTime, '%m') = m.month
AND YEAR(ng.discoveryTime) = #{year}
AND checkStatus != 3
AND ng.problemSourcesCode = #{type}
GROUP BY m.monthName
ORDER BY m.month ASC;
</select>
</mapper>

Loading…
Cancel
Save