From adfedb1cb6a66c227cbf13d7838620375592b148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E7=88=B1=E5=AD=A6=E4=B9=A0=E7=9A=84=E7=9F=B3?= =?UTF-8?q?=E5=90=8C=E5=AD=A6?= <2936013465@qq.com> Date: Sat, 16 Nov 2024 12:50:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E5=90=8E=E7=AB=AF=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E6=95=B0=E6=8D=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/datav/DataGobalController.java | 47 ++++--------- .../datav/SupervisionNotifyController.java | 1 - .../supervision/mapper/NegativeMapper.java | 65 ++++++++++++++++- .../supervision/mapper/SupDepartMapper.java | 5 ++ .../supervision/pojo/vo/GobalMapIconVo.java | 3 + .../supervision/service/DataGobalService.java | 70 +++++++++++++------ .../DataSupervisionNotifyServiceImpl.java | 13 ++-- 7 files changed, 142 insertions(+), 62 deletions(-) diff --git a/src/main/java/com/biutag/supervision/controller/datav/DataGobalController.java b/src/main/java/com/biutag/supervision/controller/datav/DataGobalController.java index 4000a52..d81eb29 100644 --- a/src/main/java/com/biutag/supervision/controller/datav/DataGobalController.java +++ b/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,39 +63,13 @@ public class DataGobalController { // 突出问题排名 List tcwtlist = dataGobalService.getStrongProblemRank(beginTime, endTime); - // 地图显示结果 - List gobalMapVoList = new ArrayList<>(); - fxsjlist.forEach(item -> { - // 添加总数 - GobalMapIconVo gobalMapVo = new GobalMapIconVo(); - gobalMapVo.setName(item.getLabel()); - gobalMapVo.setTotalPro(Integer.parseInt(item.getValue())); - gobalMapVoList.add(gobalMapVo); - }); - // 市县分局的督察问题 - List superviseProList = dataGobalService.getSuperviseProTotal(beginTime, endTime); - List caseVerifyProList = dataGobalService.getCaseVerifyProTotal(beginTime, endTime); - List mailProList = dataGobalService.getMailProTotal(beginTime, endTime); - List policeProList = dataGobalService.getPoliceProTotal(beginTime, endTime); - List reviewProList = dataGobalService.getReviewProTotal(beginTime, endTime); - List 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 gobalTempMapVoList = dataGobalService.getMapIconInfo(beginTime, endTime); + if ( gobalTempMapVoList==null || gobalTempMapVoList.size() == 0) { + gobalTempMapVoList = new ArrayList<>(); + } + JSONObject data = new JSONObject().fluentPut("overview", overview) .fluentPut("fxsjlist", fxsjlist) @@ -101,8 +77,8 @@ public class DataGobalController { .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); } + + + } diff --git a/src/main/java/com/biutag/supervision/controller/datav/SupervisionNotifyController.java b/src/main/java/com/biutag/supervision/controller/datav/SupervisionNotifyController.java index 7bb8b05..fad806a 100644 --- a/src/main/java/com/biutag/supervision/controller/datav/SupervisionNotifyController.java +++ b/src/main/java/com/biutag/supervision/controller/datav/SupervisionNotifyController.java @@ -49,7 +49,6 @@ public class SupervisionNotifyController { /** * 获取日常督察排行 - * * @param groupType 分组类型 1: 分县市局 2: 局属单位 * @return */ diff --git a/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java b/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java index c1e822a..6e067e7 100644 --- a/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/NegativeMapper.java @@ -92,6 +92,9 @@ public interface NegativeMapper extends BaseMapper { 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 { " 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 { "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 } diff --git a/src/main/java/com/biutag/supervision/mapper/SupDepartMapper.java b/src/main/java/com/biutag/supervision/mapper/SupDepartMapper.java index 3ba57be..258aa1c 100644 --- a/src/main/java/com/biutag/supervision/mapper/SupDepartMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/SupDepartMapper.java @@ -32,6 +32,11 @@ public interface SupDepartMapper extends BaseMapper { List> getIdsByCode(List departIds); + /** + * 按分组查询单位 + * @param groupType + * @return + */ @Select("select * from sup_depart where statistics_group_id = #{groupType} ") List selectDepartsByGroupType(Integer groupType); } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/vo/GobalMapIconVo.java b/src/main/java/com/biutag/supervision/pojo/vo/GobalMapIconVo.java index bf86ee3..ce79513 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/GobalMapIconVo.java +++ b/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 } diff --git a/src/main/java/com/biutag/supervision/service/DataGobalService.java b/src/main/java/com/biutag/supervision/service/DataGobalService.java index 6f02de2..5eb3f62 100644 --- a/src/main/java/com/biutag/supervision/service/DataGobalService.java +++ b/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 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,34 +108,36 @@ public class DataGobalService { return res; } - public List getBusinessRate(Date beginTime,Date endTime) { - List res= negativeMapper.selectBusinessRate(beginTime, endTime); + public List getBusinessRate(Date beginTime, Date endTime) { + List res = negativeMapper.selectBusinessRate(beginTime, endTime); return res; } public List getGobalRecentlyTrendByMonth(String year) { - List res = negativeMapper.selectRecentTrendByMonth(year); + List res = negativeMapper.selectRecentTrendByMonth(year); return res; } /** * 获取问题类型占比 + * * @param beginTime * @param endTime * @return */ public List getProblemRate(Date beginTime, Date endTime) { - List res = negativeProblemRelationMapper.selectProblemRate(beginTime, endTime); + List res = negativeProblemRelationMapper.selectProblemRate(beginTime, endTime); return res; } /** * 获取突出问题排名 + * * @return */ public List getStrongProblemRank(Date beginTime, Date endTime) { // 1.获取这段时间的negative id - List res= negativeProblemRelationMapper.selectStrongProblemRank(beginTime, endTime); + List 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 getSuperviseProTotal(Date beginTime, Date endTime) { - List res= negativeProblemRelationMapper.selectSuperviseProTotal(beginTime, endTime); + List res = negativeProblemRelationMapper.selectSuperviseProTotal(beginTime, endTime); return res; } public List getCaseVerifyProTotal(Date beginTime, Date endTime) { - List res= negativeProblemRelationMapper.selectCaseVerifyProTotal(beginTime, endTime); + List res = negativeProblemRelationMapper.selectCaseVerifyProTotal(beginTime, endTime); return res; } public List getMailProTotal(Date beginTime, Date endTime) { - List res= negativeProblemRelationMapper.selectMailProTotal(beginTime, endTime); + List res = negativeProblemRelationMapper.selectMailProTotal(beginTime, endTime); return res; } public List getPoliceProTotal(Date beginTime, Date endTime) { - List res= negativeProblemRelationMapper.selectPoliceProTotal(beginTime, endTime); + List res = negativeProblemRelationMapper.selectPoliceProTotal(beginTime, endTime); return res; } public List getReviewProTotal(Date beginTime, Date endTime) { - List res= negativeProblemRelationMapper.selectReviewProTotal(beginTime, endTime); + List res = negativeProblemRelationMapper.selectReviewProTotal(beginTime, endTime); + return res; + } + + public List getMapIconInfo(Date beginTime, Date endTime) { + List res = new ArrayList<>(); + List 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; } } diff --git a/src/main/java/com/biutag/supervision/service/DataSupervisionNotifyServiceImpl.java b/src/main/java/com/biutag/supervision/service/DataSupervisionNotifyServiceImpl.java index d7440c8..627213b 100644 --- a/src/main/java/com/biutag/supervision/service/DataSupervisionNotifyServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/DataSupervisionNotifyServiceImpl.java @@ -69,7 +69,7 @@ public class DataSupervisionNotifyServiceImpl extends ServiceImpl preQueryWrapper = new QueryWrapper<>(); - preQueryWrapper.eq("problemSourcesCode", ProblemSourcesEnum.XCDC.getValue()); + preQueryWrapper.in("problemSourcesCode", ProblemSourcesEnum.XCDC.getValue(), ProblemSourcesEnum.ZXDC.getValue()); List negatives = negativeMapper.selectList(preQueryWrapper); Long supervisionNotifyPreTotal = 0L; @@ -81,8 +81,6 @@ public class DataSupervisionNotifyServiceImpl extends ServiceImpl getChangedRateRank(Integer groupType, Date beginTime, Date endTime) { List rankVos = new ArrayList<>(); + // 所有部门 List departs = supDepartMapper.selectDepartsByGroupType(groupType); -// negativeMapper.select + for (SupDepart depart : departs) { + RankVo rankVo = new RankVo(); + rankVo.setLabel(depart.getShortName()); + rankVo.setDepartId(depart.getId()); + } + return null;