Browse Source

大屏后端地图数据更新

main
parent
commit
adfedb1cb6
  1. 45
      src/main/java/com/biutag/supervision/controller/datav/DataGobalController.java
  2. 1
      src/main/java/com/biutag/supervision/controller/datav/SupervisionNotifyController.java
  3. 65
      src/main/java/com/biutag/supervision/mapper/NegativeMapper.java
  4. 5
      src/main/java/com/biutag/supervision/mapper/SupDepartMapper.java
  5. 3
      src/main/java/com/biutag/supervision/pojo/vo/GobalMapIconVo.java
  6. 66
      src/main/java/com/biutag/supervision/service/DataGobalService.java
  7. 13
      src/main/java/com/biutag/supervision/service/DataSupervisionNotifyServiceImpl.java

45
src/main/java/com/biutag/supervision/controller/datav/DataGobalController.java

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.vo.*;
import com.biutag.supervision.service.DataGobalService;
import com.biutag.supervision.service.DataSupervisionNotifyServiceImpl;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.activation.DataHandler;
@ -35,6 +36,7 @@ public class DataGobalController {
private final DataGobalService dataGobalService;
/**
* 获取数据大屏概览
* @param beginTime
@ -61,48 +63,22 @@ public class DataGobalController {
// 突出问题排名
List<StrongProblemRank> tcwtlist = dataGobalService.getStrongProblemRank(beginTime, endTime);
// 地图显示结果
List<GobalMapIconVo> gobalMapVoList = new ArrayList<>();
fxsjlist.forEach(item -> {
// 添加总数
GobalMapIconVo gobalMapVo = new GobalMapIconVo();
gobalMapVo.setName(item.getLabel());
gobalMapVo.setTotalPro(Integer.parseInt(item.getValue()));
gobalMapVoList.add(gobalMapVo);
});
// 市县分局的督察问题
List<CommonVo> superviseProList = dataGobalService.getSuperviseProTotal(beginTime, endTime);
List<CommonVo> caseVerifyProList = dataGobalService.getCaseVerifyProTotal(beginTime, endTime);
List<CommonVo> mailProList = dataGobalService.getMailProTotal(beginTime, endTime);
List<CommonVo> policeProList = dataGobalService.getPoliceProTotal(beginTime, endTime);
List<CommonVo> reviewProList = dataGobalService.getReviewProTotal(beginTime, endTime);
List<GobalMapIconVo> gobalTempMapVoList = new ArrayList<>();
if (!gobalMapVoList.isEmpty()) {
updateProList(superviseProList, gobalMapVoList, GobalMapIconVo::setSupervisePro);
updateProList(caseVerifyProList, gobalMapVoList, GobalMapIconVo::setCaseVerifyPro);
updateProList(mailProList, gobalMapVoList, GobalMapIconVo::setMailPro);
updateProList(policeProList, gobalMapVoList, GobalMapIconVo::setPolicePro);
updateProList(reviewProList, gobalMapVoList, GobalMapIconVo::setReviewPro);
}else {
// gobalTempMapVoList.add(new GobalMapIconVo("芙蓉分局", 1,11,11,11,11,11));
// gobalTempMapVoList.add(new GobalMapIconVo("天心分局", 2,22,22,22,22,22));
// gobalTempMapVoList.add(new GobalMapIconVo("岳麓分局", 3,33,33,33,33,33));
// gobalTempMapVoList.add(new GobalMapIconVo("开福分局", 4,44,44,44,44,44));
// gobalTempMapVoList.add(new GobalMapIconVo("雨花分局", 5,55,55,55,55,55));
// gobalTempMapVoList.add(new GobalMapIconVo("长沙县局", 6,66,66,66,66,66));
// gobalTempMapVoList.add(new GobalMapIconVo("望城分局", 7,77,77,77,77,77));
// gobalTempMapVoList.add(new GobalMapIconVo("宁乡市局", 8,88,88,88,88,88));
// gobalTempMapVoList.add(new GobalMapIconVo("浏阳市局", 9,99,99,99,99,99));
// 查所有的市局
List<GobalMapIconVo> gobalTempMapVoList = dataGobalService.getMapIconInfo(beginTime, endTime);
if ( gobalTempMapVoList==null || gobalTempMapVoList.size() == 0) {
gobalTempMapVoList = new ArrayList<>();
}
JSONObject data = new JSONObject().fluentPut("overview", overview)
.fluentPut("fxsjlist", fxsjlist)
.fluentPut("jsdwlist", jsdwlist)
.fluentPut("ywzblist", ywzblist)
.fluentPut("wtlxlist", wtlxlist)
.fluentPut("tcwtlist", tcwtlist)
.fluentPut("gobalMapVoList", gobalMapVoList)
.fluentPut("gobalTempMapVoList", gobalTempMapVoList);
return Result.success(data);
}
@ -165,4 +141,7 @@ public class DataGobalController {
return Result.success(jsonObject);
}
}

1
src/main/java/com/biutag/supervision/controller/datav/SupervisionNotifyController.java

@ -49,7 +49,6 @@ public class SupervisionNotifyController {
/**
* 获取日常督察排行
*
* @param groupType 分组类型 1: 分县市局 2: 局属单位
* @return
*/

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

@ -92,6 +92,9 @@ public interface NegativeMapper extends BaseMapper<Negative> {
Long selectRelationOrgCount(Date beginTime, Date endTime, String checkStatus);
/**
* 获取现场督察按二级机构分组划分的问题数
*/
@Select("SELECT COUNT(*) FROM negative n " +
"INNER JOIN ( " +
" SELECT DISTINCT sd.id " +
@ -100,10 +103,15 @@ public interface NegativeMapper extends BaseMapper<Negative> {
" WHERE sd1.statistics_group_id = #{groupType}" +
") AS filtered_sd ON n.involveDepartId = filtered_sd.id " +
"WHERE n.checkStatus = 1 " +
"AND n.problemSourcesCode = 15;")
"AND n.problemSourcesCode = 15 " +
"AND n.discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Long getCountByGroupType(Integer groupType, Date beginTime, Date endTime);
/**
* 获取现场督察按二级机构分组和整改状态划分的的问题数
*/
@Select("SELECT COUNT(*) FROM negative n " +
"INNER JOIN ( " +
" SELECT DISTINCT sd.id " +
@ -117,7 +125,60 @@ public interface NegativeMapper extends BaseMapper<Negative> {
"AND n.discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Long getChangCountByGroupType(Integer groupType, Date beginTime, Date endTime, Integer isRectify);
@Select("SELECT count(*) FROM negative ng INNER JOIN " +
" (" +
" SELECT sd.id, sd.pid, sd.name, sd1.short_name FROM sup_depart sd " +
" INNER join sup_depart sd1 on sd.pid=sd1.id " +
" and sd1.LEVEL=2 AND sd1.statistics_group_id=3" +
" ) " +
"as temp on ng.involveDepartId=temp.id " +
"AND ng.checkStatus<>3 AND problemSourcesCode in (13, 15, 16) " +
"AND temp.pid=#{departId} AND discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Integer seleGobalMapIconInfoDc(Date beginTime, Date endTime, Integer departId);
@Select("SELECT count(*) FROM negative ng INNER JOIN " +
" (" +
" SELECT sd.id, sd.pid, sd.name, sd1.short_name FROM sup_depart sd " +
" INNER join sup_depart sd1 on sd.pid=sd1.id " +
" and sd1.LEVEL=2 AND sd1.statistics_group_id=3" +
" ) " +
"as temp on ng.involveDepartId=temp.id " +
"AND ng.checkStatus<>3 AND problemSourcesCode=11 " +
"AND temp.pid=#{departId} AND discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Integer seleGobalMapIconInfoAjhc(Date beginTime, Date endTime, Integer departId);
@Select("SELECT count(*) FROM negative ng INNER JOIN " +
" (" +
" SELECT sd.id, sd.pid, sd.name, sd1.short_name FROM sup_depart sd " +
" INNER join sup_depart sd1 on sd.pid=sd1.id " +
" and sd1.LEVEL=2 AND sd1.statistics_group_id =3 " +
" ) " +
"as temp on ng.involveDepartId=temp.id " +
"AND ng.checkStatus<>3 AND problemSourcesCode in (21, 22, 23, 24, 25) " +
"AND temp.pid=#{departId} AND discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Integer seleGobalMapIconInfoXf(Date beginTime, Date endTime, Integer departId);
@Select("SELECT count(*) FROM negative ng INNER JOIN " +
" (" +
" SELECT sd.id, sd.pid, sd.name, sd1.short_name FROM sup_depart sd " +
" INNER join sup_depart sd1 on sd.pid=sd1.id " +
" and sd1.LEVEL=2 AND sd1.statistics_group_id =3 " +
" ) " +
"as temp on ng.involveDepartId=temp.id " +
"AND ng.checkStatus<>3 AND problemSourcesCode=2 " +
"AND temp.pid=#{departId} AND discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Integer seleGobalMapIconInfoJwpy(Date beginTime, Date endTime, Integer departId);
@Select("SELECT count(*) FROM negative ng INNER JOIN " +
" (" +
" SELECT sd.id, sd.pid, sd.name, sd1.short_name FROM sup_depart sd " +
" INNER join sup_depart sd1 on sd.pid=sd1.id " +
" and sd1.LEVEL=2 AND sd1.statistics_group_id =3 " +
" ) " +
"as temp on ng.involveDepartId=temp.id " +
"AND ng.checkStatus<>3 AND problemSourcesCode=26 " +
"AND temp.pid=#{departId} AND discoveryTime BETWEEN #{beginTime} AND #{endTime}")
Integer seleGobalMapIconInfoSjdc(Date beginTime, Date endTime, Integer departId);
// endregion
}

5
src/main/java/com/biutag/supervision/mapper/SupDepartMapper.java

@ -32,6 +32,11 @@ public interface SupDepartMapper extends BaseMapper<SupDepart> {
List<Map<String, Object>> getIdsByCode(List<String> departIds);
/**
* 按分组查询单位
* @param groupType
* @return
*/
@Select("select * from sup_depart where statistics_group_id = #{groupType} ")
List<SupDepart> selectDepartsByGroupType(Integer groupType);
}

3
src/main/java/com/biutag/supervision/pojo/vo/GobalMapIconVo.java

@ -1,6 +1,7 @@
package com.biutag.supervision.pojo.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -12,6 +13,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GobalMapIconVo {
private String name; // 分县市局名称
@ -21,6 +23,7 @@ public class GobalMapIconVo {
private Integer mailPro; // 信访投诉问题
private Integer policePro; // 警务评议问题
private Integer reviewPro; // 审计监督问题
private Integer departId; // 分县市局ID
}

66
src/main/java/com/biutag/supervision/service/DataGobalService.java

@ -3,18 +3,17 @@ package com.biutag.supervision.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.biutag.supervision.constants.enums.InspectCaseEnum;
import com.biutag.supervision.mapper.DataCaseVerifMapper;
import com.biutag.supervision.mapper.DataSupervisionNotifyMapper;
import com.biutag.supervision.mapper.NegativeMapper;
import com.biutag.supervision.mapper.NegativeProblemRelationMapper;
import com.biutag.supervision.mapper.*;
import com.biutag.supervision.pojo.dto.CaseVerifDepart;
import com.biutag.supervision.pojo.entity.DataCaseVerif;
import com.biutag.supervision.pojo.entity.DataSupervisionNotify;
import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.entity.SupDepart;
import com.biutag.supervision.pojo.vo.*;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -31,6 +30,7 @@ public class DataGobalService {
private final NegativeMapper negativeMapper;
private final NegativeProblemRelationMapper negativeProblemRelationMapper;
private final SupDepartMapper supDepartMapper;
/**
* 获取所有大屏统计数据
@ -43,27 +43,27 @@ public class DataGobalService {
// 督察问题数量(查实版本)
Long supervisionPro = getCountByConditions(
Integer.parseInt(InspectCaseEnum.TRUE.getValue()),
Integer.parseInt(InspectCaseEnum.FALSE.getValue()),
beginTime, endTime,
13, 15, 16);
// 获取案件核查问题数量(查实版本)
Long caseVerificationPro = getCountByConditions(
Integer.parseInt(InspectCaseEnum.TRUE.getValue()),
Integer.parseInt(InspectCaseEnum.FALSE.getValue()),
beginTime, endTime,
17, 18, 19, 20);
// 信访投诉问题数量(查实版本)
Long complaintPro = getCountByConditions(
Integer.parseInt(InspectCaseEnum.TRUE.getValue()),
Integer.parseInt(InspectCaseEnum.FALSE.getValue()),
beginTime, endTime,
21, 22, 23, 24, 25);
// 警务评议问题数量(查实版本)
Long reviewPro = getCountByConditions(
Integer.parseInt(InspectCaseEnum.TRUE.getValue()),
Integer.parseInt(InspectCaseEnum.FALSE.getValue()),
beginTime, endTime,
2);
// 审计监督问题数量(查实版本)
Long auditPro = getCountByConditions(
Integer.parseInt(InspectCaseEnum.TRUE.getValue()),
Integer.parseInt(InspectCaseEnum.FALSE.getValue()),
beginTime, endTime,
26);
Long totalPro = caseVerificationPro + supervisionPro + complaintPro + reviewPro + auditPro;
@ -80,6 +80,7 @@ public class DataGobalService {
/**
* 查询核查属实的公共方法
*
* @param checkStatus 检查状态
* @param startTime 开始时间
* @param endTime 结束时间
@ -88,7 +89,7 @@ public class DataGobalService {
*/
public Long getCountByConditions(Integer checkStatus, Date startTime, Date endTime, Integer... problemSourcesCodes) {
QueryWrapper<Negative> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("checkStatus", checkStatus)
queryWrapper.ne("checkStatus", checkStatus)
.between("discoveryTime", startTime, endTime)
.and(wrapper -> {
for (int i = 0; i < problemSourcesCodes.length; i++) {
@ -107,8 +108,8 @@ public class DataGobalService {
return res;
}
public List<EchartsVo> getBusinessRate(Date beginTime,Date endTime) {
List<EchartsVo> res= negativeMapper.selectBusinessRate(beginTime, endTime);
public List<EchartsVo> getBusinessRate(Date beginTime, Date endTime) {
List<EchartsVo> res = negativeMapper.selectBusinessRate(beginTime, endTime);
return res;
}
@ -119,6 +120,7 @@ public class DataGobalService {
/**
* 获取问题类型占比
*
* @param beginTime
* @param endTime
* @return
@ -130,11 +132,12 @@ public class DataGobalService {
/**
* 获取突出问题排名
*
* @return
*/
public List<StrongProblemRank> getStrongProblemRank(Date beginTime, Date endTime) {
// 1.获取这段时间的negative id
List<StrongProblemRank> res= negativeProblemRelationMapper.selectStrongProblemRank(beginTime, endTime);
List<StrongProblemRank> res = negativeProblemRelationMapper.selectStrongProblemRank(beginTime, endTime);
for (int i = 1; i <= res.size(); i++) {
res.get(i - 1).setSort(i);
}
@ -142,28 +145,55 @@ public class DataGobalService {
}
public List<CommonVo> getSuperviseProTotal(Date beginTime, Date endTime) {
List<CommonVo> res= negativeProblemRelationMapper.selectSuperviseProTotal(beginTime, endTime);
List<CommonVo> res = negativeProblemRelationMapper.selectSuperviseProTotal(beginTime, endTime);
return res;
}
public List<CommonVo> getCaseVerifyProTotal(Date beginTime, Date endTime) {
List<CommonVo> res= negativeProblemRelationMapper.selectCaseVerifyProTotal(beginTime, endTime);
List<CommonVo> res = negativeProblemRelationMapper.selectCaseVerifyProTotal(beginTime, endTime);
return res;
}
public List<CommonVo> getMailProTotal(Date beginTime, Date endTime) {
List<CommonVo> res= negativeProblemRelationMapper.selectMailProTotal(beginTime, endTime);
List<CommonVo> res = negativeProblemRelationMapper.selectMailProTotal(beginTime, endTime);
return res;
}
public List<CommonVo> getPoliceProTotal(Date beginTime, Date endTime) {
List<CommonVo> res= negativeProblemRelationMapper.selectPoliceProTotal(beginTime, endTime);
List<CommonVo> res = negativeProblemRelationMapper.selectPoliceProTotal(beginTime, endTime);
return res;
}
public List<CommonVo> getReviewProTotal(Date beginTime, Date endTime) {
List<CommonVo> res= negativeProblemRelationMapper.selectReviewProTotal(beginTime, endTime);
List<CommonVo> res = negativeProblemRelationMapper.selectReviewProTotal(beginTime, endTime);
return res;
}
public List<GobalMapIconVo> getMapIconInfo(Date beginTime, Date endTime) {
List<GobalMapIconVo> res = new ArrayList<>();
List<SupDepart> supDeparts = supDepartMapper.selectDepartsByGroupType(3);
for (SupDepart supDepart : supDeparts) {
GobalMapIconVo mapIconVo = new GobalMapIconVo();
mapIconVo.setName(supDepart.getShortName());
mapIconVo.setDepartId(Integer.parseInt(supDepart.getId()));
res.add(mapIconVo);
}
for (GobalMapIconVo re : res) {
Integer departId = re.getDepartId();
Integer supervisePro = negativeMapper.seleGobalMapIconInfoDc(beginTime, endTime, departId);
Integer caseVerifyPro = negativeMapper.seleGobalMapIconInfoAjhc(beginTime, endTime, departId);
Integer mailPro = negativeMapper.seleGobalMapIconInfoXf(beginTime, endTime, departId);
Integer policePro = negativeMapper.seleGobalMapIconInfoJwpy(beginTime, endTime, departId);
Integer reviewPro = negativeMapper.seleGobalMapIconInfoSjdc(beginTime, endTime, departId);
Integer totalPro = supervisePro + caseVerifyPro + mailPro + policePro + reviewPro;
re.setTotalPro(totalPro != null ? totalPro : 0);
re.setSupervisePro(supervisePro != null ? supervisePro : 0);
re.setCaseVerifyPro(caseVerifyPro != null ? caseVerifyPro : 0);
re.setMailPro(mailPro != null ? mailPro : 0);
re.setPolicePro(policePro != null ? policePro : 0);
re.setReviewPro(reviewPro != null ? reviewPro : 0);
}
return res;
}
}

13
src/main/java/com/biutag/supervision/service/DataSupervisionNotifyServiceImpl.java

@ -69,7 +69,7 @@ public class DataSupervisionNotifyServiceImpl extends ServiceImpl<DataSupervisio
* 2查出集合在blame中的涉及人数
*/
QueryWrapper<Negative> preQueryWrapper = new QueryWrapper<>();
preQueryWrapper.eq("problemSourcesCode", ProblemSourcesEnum.XCDC.getValue());
preQueryWrapper.in("problemSourcesCode", ProblemSourcesEnum.XCDC.getValue(), ProblemSourcesEnum.ZXDC.getValue());
List<Negative> negatives = negativeMapper.selectList(preQueryWrapper);
Long supervisionNotifyPreTotal = 0L;
@ -81,8 +81,6 @@ public class DataSupervisionNotifyServiceImpl extends ServiceImpl<DataSupervisio
}
// 整改率
double correctionRate = supervisionNotifyTotal != 0 ? (supervisionNotifyChangedTotal * 1.0 / supervisionNotifyTotal) * 100 : 0;
JSONObject jsonObject = new JSONObject();
jsonObject.fluentPut("supervisionNotifyTotal", supervisionNotifyTotal)
.fluentPut("supervisionNotifyOrgTotal", supervisionNotifyOrgTotal)
@ -119,7 +117,6 @@ public class DataSupervisionNotifyServiceImpl extends ServiceImpl<DataSupervisio
/**
* 获取日常督察整改率排名
*
* @param groupType
* @param beginTime
* @param endTime
@ -127,8 +124,14 @@ public class DataSupervisionNotifyServiceImpl extends ServiceImpl<DataSupervisio
*/
public List<RankVo> getChangedRateRank(Integer groupType, Date beginTime, Date endTime) {
List<RankVo> rankVos = new ArrayList<>();
// 所有部门
List<SupDepart> departs = supDepartMapper.selectDepartsByGroupType(groupType);
// negativeMapper.select
for (SupDepart depart : departs) {
RankVo rankVo = new RankVo();
rankVo.setLabel(depart.getShortName());
rankVo.setDepartId(depart.getId());
}
return null;

Loading…
Cancel
Save