diff --git a/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java b/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java index 55d3695..e803353 100644 --- a/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java +++ b/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java @@ -3,7 +3,7 @@ package com.biutag.supervision.constants.enums; import lombok.AllArgsConstructor; import lombok.Getter; -import java.util.Set; +import java.util.List; @Getter @AllArgsConstructor @@ -65,22 +65,23 @@ public enum ProblemSourcesEnum { /** * 13 */ - public static final Set GROUP_13 = Set.of("13"); + public static final List GROUP_13 = List.of("13"); /** * 14, 15, 16 */ - public static final Set GROUP_14_15_16 = Set.of("14", "15", "16"); + public static final List GROUP_14_15_16 = List.of("14", "15", "16"); /** * 17, 18, 19, 20 */ - public static final Set GROUP_17_18_19_20 = Set.of("17", "18", "19", "20"); + public static final List GROUP_17_18_19_20 = List.of("17", "18", "19", "20"); /** * 27, 28, 29, 30 */ - public static final Set GROUP_27_28_29_30 = Set.of("27", "28", "29", "30"); + public static final List GROUP_27_28_29_30 = List.of("27", "28", "29", "30"); + } diff --git a/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java index e10638f..9118ba5 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/MailQueryParam.java @@ -3,7 +3,11 @@ package com.biutag.supervision.pojo.param; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; import java.util.Set; /** @@ -42,6 +46,9 @@ public class MailQueryParam { private Set threeDeptIds; + @Schema(description = "创建时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private List createTime = new ArrayList<>(); diff --git a/src/main/java/com/biutag/supervision/repository/dataPetitionComplaint/DataPetitionComplaintResourceService.java b/src/main/java/com/biutag/supervision/repository/dataPetitionComplaint/DataPetitionComplaintResourceService.java index 306f767..4dad110 100644 --- a/src/main/java/com/biutag/supervision/repository/dataPetitionComplaint/DataPetitionComplaintResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/dataPetitionComplaint/DataPetitionComplaintResourceService.java @@ -32,9 +32,24 @@ public class DataPetitionComplaintResourceService { wrapper.between(ObjectUtil.isNotNull(param.getCreateTime()), DataPetitionComplaint::getCreateTime, param.getCreateTime().get(0), param.getCreateTime().get(1)); wrapper.in(CollectionUtil.isNotEmpty(param.getSecondDepartIds()), DataPetitionComplaint::getSecondDepartId, param.getSecondDepartIds()); wrapper.in(CollectionUtil.isNotEmpty(param.getThirdDepartIds()), DataPetitionComplaint::getThirdDepartId, param.getThirdDepartIds()); + wrapper.eq(StrUtil.isNotBlank(param.getProblemSourcesCode()), DataPetitionComplaint::getProblemSourcesCode, param.getProblemSourcesCode()); if (wrapper.getExpression() == null || wrapper.getExpression().getSqlSegment().isEmpty()) { return Collections.emptyList(); } return dataPetitionComplaintMapper.selectList(wrapper); } + + public long count(DataPetitionComplaintQueryParam param) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StrUtil.isNotBlank(param.getOriginId()), DataPetitionComplaint::getOriginId, param.getOriginId()); + wrapper.between(CollectionUtil.isNotEmpty(param.getCreateTime()), DataPetitionComplaint::getCreateTime, param.getCreateTime().get(0), param.getCreateTime().get(1)); + wrapper.in(CollectionUtil.isNotEmpty(param.getSecondDepartIds()), DataPetitionComplaint::getSecondDepartId, param.getSecondDepartIds()); + wrapper.in(CollectionUtil.isNotEmpty(param.getThirdDepartIds()), DataPetitionComplaint::getThirdDepartId, param.getThirdDepartIds()); + wrapper.eq(StrUtil.isNotBlank(param.getProblemSourcesCode()), DataPetitionComplaint::getProblemSourcesCode, param.getProblemSourcesCode()); + if (wrapper.getExpression() == null || wrapper.getExpression().getSqlSegment().isEmpty()) { + return 0L; + } + return dataPetitionComplaintMapper.selectCount(wrapper); + } + } diff --git a/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java b/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java index c64802c..94e5191 100644 --- a/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/mail/MailResourceService.java @@ -33,6 +33,7 @@ public class MailResourceService { queryWrapper.in(CollectionUtil.isNotEmpty(param.getSecondDeptIds()), Mail::getId, param.getSecondDeptIds()); queryWrapper.eq(StrUtil.isNotBlank(param.getThreeDeptId()), Mail::getId, param.getThreeDeptId()); queryWrapper.in(CollectionUtil.isNotEmpty(param.getThreeDeptIds()), Mail::getId, param.getThreeDeptIds()); + queryWrapper.between(CollectionUtil.isNotEmpty(param.getCreateTime()), Mail::getCreateTime, param.getCreateTime().get(0), param.getCreateTime().get(1)); if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { return Collections.emptyList(); } @@ -40,12 +41,20 @@ public class MailResourceService { } - - - - - - + public long count(MailQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StrUtil.isNotBlank(param.getId()), Mail::getId, param.getId()); + queryWrapper.in(CollectionUtil.isNotEmpty(param.getIds()), Mail::getId, param.getIds()); + queryWrapper.eq(StrUtil.isNotBlank(param.getSecondDeptId()), Mail::getSecondDeptId, param.getSecondDeptId()); + queryWrapper.in(CollectionUtil.isNotEmpty(param.getSecondDeptIds()), Mail::getSecondDeptId, param.getSecondDeptIds()); + queryWrapper.eq(StrUtil.isNotBlank(param.getThreeDeptId()), Mail::getThreeDeptId, param.getThreeDeptId()); + queryWrapper.in(CollectionUtil.isNotEmpty(param.getThreeDeptIds()), Mail::getThreeDeptId, param.getThreeDeptIds()); + queryWrapper.between(CollectionUtil.isNotEmpty(param.getCreateTime()), Mail::getCreateTime, param.getCreateTime().get(0), param.getCreateTime().get(1)); + if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { + return 0L; + } + return mailMapper.selectCount(queryWrapper); + } diff --git a/src/main/java/com/biutag/supervision/repository/negative/NegativeResourceService.java b/src/main/java/com/biutag/supervision/repository/negative/NegativeResourceService.java index ae7e9a0..10cc331 100644 --- a/src/main/java/com/biutag/supervision/repository/negative/NegativeResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/negative/NegativeResourceService.java @@ -133,4 +133,46 @@ public class NegativeResourceService { return negativeMapper.selectList(queryWrapper); } + + public long count(NegativeQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + // 条件构造逻辑与 query 保持一致(仅移除排序逻辑) + queryWrapper.eq(StrUtil.isNotBlank(param.getOriginId()), Negative::getOriginId, param.getOriginId()); + queryWrapper.eq(StrUtil.isNotBlank(param.getFlowKey()), Negative::getFlowKey, param.getFlowKey()); + queryWrapper.in(CollUtil.isNotEmpty(param.getProcessingStatus()), Negative::getProcessingStatus, param.getProcessingStatus()); + queryWrapper.like(StrUtil.isNotBlank(param.getThingDesc()), Negative::getThingDesc, param.getThingDesc()); + queryWrapper.in(CollUtil.isNotEmpty(param.getProblemSourcesCode()), Negative::getProblemSourcesCode, param.getProblemSourcesCode()); + queryWrapper.eq(StrUtil.isNotBlank(param.getBusinessTypeCode()), Negative::getBusinessTypeCode, param.getBusinessTypeCode()); + queryWrapper.in(CollUtil.isNotEmpty(param.getCheckStatus()), Negative::getCheckStatus, param.getCheckStatus()); + queryWrapper.eq(StrUtil.isNotBlank(param.getIsRectifyCode()), Negative::getIsRectifyCode, param.getIsRectifyCode()); + queryWrapper.eq(StrUtil.isNotBlank(param.getInvolveDepartId()), Negative::getInvolveDepartId, param.getInvolveDepartId()); + queryWrapper.in(CollUtil.isNotEmpty(param.getInvolveDepartIds()), Negative::getInvolveDepartId, param.getInvolveDepartIds()); + queryWrapper.eq(StrUtil.isNotBlank(param.getSpecialSupervision()), Negative::getSpecialSupervision, param.getSpecialSupervision()); + queryWrapper.eq(StrUtil.isNotBlank(param.getReportNumber()), Negative::getReportNumber, param.getReportNumber()); + queryWrapper.eq(param.getCrtDepartLevel() != null, Negative::getCrtDepartLevel, param.getCrtDepartLevel()); + queryWrapper.in(CollUtil.isNotEmpty(param.getHandleResultCode()), Negative::getHandleResult12337, param.getHandleResultCode()); + queryWrapper.eq(StrUtil.isNotBlank(param.getCaseNumber()), Negative::getCaseNumber, param.getCaseNumber()); + queryWrapper.like(StrUtil.isNotBlank(param.getCheckStatusDesc()), Negative::getCheckStatusDesc, param.getCheckStatusDesc()); + queryWrapper.eq(StrUtil.isNotBlank(param.getInitialPetition()), Negative::getCompleteStatus, param.getInitialPetition()); + queryWrapper.eq(StrUtil.isNotBlank(param.getApprovalFlow()), Negative::getApprovalFlow, param.getApprovalFlow()); + + if (CollUtil.isNotEmpty(param.getHappenTime()) && param.getHappenTime().size() >= 2) { + queryWrapper.ge(Negative::getHappenTime, param.getHappenTime().get(0)); + queryWrapper.le(Negative::getHappenTime, param.getHappenTime().get(1)); + } + + if (CollUtil.isNotEmpty(param.getDiscoveryTime()) && param.getDiscoveryTime().size() >= 2) { + queryWrapper.ge(Negative::getDiscoveryTime, param.getDiscoveryTime().get(0)); + queryWrapper.le(Negative::getDiscoveryTime, param.getDiscoveryTime().get(1)); + } + + if (CollUtil.isNotEmpty(param.getCrtTime()) && param.getCrtTime().size() >= 2) { + queryWrapper.ge(Negative::getCrtTime, param.getCrtTime().get(0)); + queryWrapper.le(Negative::getCrtTime, param.getCrtTime().get(1)); + } + + return negativeMapper.selectCount(queryWrapper); + } + } diff --git a/src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java b/src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java index c85b389..2abe4f8 100644 --- a/src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java +++ b/src/main/java/com/biutag/supervision/repository/reportproject/ReportProjectResourceService.java @@ -9,6 +9,7 @@ import com.biutag.supervision.pojo.param.ReportProjectQueryParam; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; +import java.util.Collections; import java.util.List; /** @@ -51,8 +52,39 @@ public class ReportProjectResourceService { } else { queryWrapper.eq(ReportProject::getDeleteFlag, 0); } + if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { + return Collections.emptyList(); + } return reportProjectMapper.selectList(queryWrapper); } + public long count(ReportProjectQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(StrUtil.isNotBlank(param.getId()), ReportProject::getId, param.getId()); + queryWrapper.in(CollUtil.isNotEmpty(param.getIds()), ReportProject::getId, param.getIds()); + queryWrapper.in(CollUtil.isNotEmpty(param.getReportTypes()), ReportProject::getReportType, param.getReportTypes()); + queryWrapper.like(StrUtil.isNotBlank(param.getReportName()), ReportProject::getReportName, param.getReportName()); + queryWrapper.in(CollUtil.isNotEmpty(param.getReportNames()), ReportProject::getReportName, param.getReportNames()); + queryWrapper.eq(StrUtil.isNotBlank(param.getProjectType()), ReportProject::getProjectType, param.getProjectType()); + queryWrapper.eq(StrUtil.isNotBlank(param.getAuditUnitId()), ReportProject::getAuditUnitId, param.getAuditUnitId()); + queryWrapper.in(CollUtil.isNotEmpty(param.getAuditUnitIds()), ReportProject::getAuditUnitId, param.getAuditUnitIds()); + queryWrapper.eq(StrUtil.isNotBlank(param.getAuditUnit()), ReportProject::getAuditUnit, param.getAuditUnit()); + queryWrapper.in(CollUtil.isNotEmpty(param.getAuditUnits()), ReportProject::getAuditUnit, param.getAuditUnits()); + queryWrapper.eq(StrUtil.isNotBlank(param.getProjectPrincipal()), ReportProject::getProjectPrincipal, param.getProjectPrincipal()); + queryWrapper.eq(StrUtil.isNotBlank(param.getApplicant()), ReportProject::getApplicant, param.getApplicant()); + queryWrapper.eq(StrUtil.isNotBlank(param.getApplicantId()), ReportProject::getApplicantId, param.getApplicantId()); + queryWrapper.eq(StrUtil.isNotBlank(param.getProjectUnitId()), ReportProject::getProjectUnitId, param.getProjectUnitId()); + queryWrapper.eq(StrUtil.isNotBlank(param.getNode()), ReportProject::getNode, param.getNode()); + queryWrapper.ge(param.getApplicantTimeStart() != null, ReportProject::getApplicantTime, param.getApplicantTimeStart()); + queryWrapper.le(param.getApplicantTimeEnd() != null, ReportProject::getApplicantTime, param.getApplicantTimeEnd()); + queryWrapper.ge(param.getArchivingStart() != null, ReportProject::getArchiving, param.getArchivingStart()); + queryWrapper.le(param.getArchivingEnd() != null, ReportProject::getArchiving, param.getArchivingEnd()); + if (queryWrapper.getExpression() == null || queryWrapper.getExpression().getSqlSegment().isEmpty()) { + return 0L; + } + return reportProjectMapper.selectCount(queryWrapper); + } + + } diff --git a/src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java b/src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java index 67a918e..c452ce1 100644 --- a/src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java +++ b/src/main/java/com/biutag/supervision/service/datav/DatavServiceImpl.java @@ -134,36 +134,51 @@ public class DatavServiceImpl implements DatavService { Set allDepartIds = departDto.getAllDepartIds(); GlobalMapIconVo globalMapIconVo = GlobalMapIconVo.of(departId, departDto.getParentName()); List dates = Arrays.asList(request.getBeginTime(), request.getEndTime()); - - NegativeQueryParam negativeQueryParam = new NegativeQueryParam(); - negativeQueryParam.setCrtTime(dates); - negativeQueryParam.setInvolveDepartIds(allDepartIds); - List negativeList = negativeResourceService.query(negativeQueryParam); // 现场督查 - long supervisionProCount = negativeList.stream().filter(one -> ProblemSourcesEnum.GROUP_13.contains(one.getProblemSourcesCode())).count(); + NegativeQueryParam group13Param = new NegativeQueryParam(); + group13Param.setCrtTime(dates); + group13Param.setInvolveDepartIds(allDepartIds); + group13Param.setProblemSourcesCode(ProblemSourcesEnum.GROUP_13); + long supervisionProCount = negativeResourceService.count(group13Param); + // 数字督察 - long numSupervisionProCount = negativeList.stream().filter(one -> ProblemSourcesEnum.GROUP_14_15_16.contains(one.getProblemSourcesCode())).count(); + NegativeQueryParam group14To16Param = new NegativeQueryParam(); + group14To16Param.setCrtTime(dates); + group14To16Param.setInvolveDepartIds(allDepartIds); + group14To16Param.setProblemSourcesCode(ProblemSourcesEnum.GROUP_14_15_16); + long numSupervisionProCount = negativeResourceService.count(group14To16Param); + // 案件核查 - long caseVerificationProCount = negativeList.stream().filter(one -> ProblemSourcesEnum.GROUP_17_18_19_20.contains(one.getProblemSourcesCode())).count(); - // 12337 - long XF12337count = negativeList.stream().filter(one -> ProblemSourcesEnum.XF12337.getValue().equals(one.getProblemSourcesCode())).count(); + NegativeQueryParam group17To20Param = new NegativeQueryParam(); + group17To20Param.setCrtTime(dates); + group17To20Param.setInvolveDepartIds(allDepartIds); + group17To20Param.setProblemSourcesCode(ProblemSourcesEnum.GROUP_17_18_19_20); + long caseVerificationProCount = negativeResourceService.count(group17To20Param); - DataPetitionComplaintQueryParam dataPetitionComplaintQueryParam = new DataPetitionComplaintQueryParam(); - dataPetitionComplaintQueryParam.setCreateTime(dates); - dataPetitionComplaintQueryParam.setSecondDepartIds(Collections.singleton(departDto.getParentId())); - List dataPetitionComplaints = dataPetitionComplaintResourceService.query(dataPetitionComplaintQueryParam); + // 12337 + NegativeQueryParam xf12337Param = new NegativeQueryParam(); + xf12337Param.setCrtTime(dates); + xf12337Param.setInvolveDepartIds(allDepartIds); + xf12337Param.setProblemSourcesCode(Collections.singletonList(ProblemSourcesEnum.XF12337.getValue())); + long xf12337Count = negativeResourceService.count(xf12337Param); // 国家信访 - long countryMail = dataPetitionComplaints.stream().filter(one -> "22".equals(one.getProblemSourcesCode())).count(); + DataPetitionComplaintQueryParam countryParam = new DataPetitionComplaintQueryParam(); + countryParam.setCreateTime(dates); + countryParam.setSecondDepartIds(Collections.singleton(departDto.getParentId())); + countryParam.setProblemSourcesCode(ProblemSourcesEnum.GJXFPT.getValue()); + long countryMail = dataPetitionComplaintResourceService.count(countryParam); // 公安部门信访 - long policeMail = dataPetitionComplaints.stream().filter(one -> "21".equals(one.getProblemSourcesCode())).count(); + DataPetitionComplaintQueryParam policeParam = new DataPetitionComplaintQueryParam(); + policeParam.setCreateTime(dates); + policeParam.setSecondDepartIds(Collections.singleton(departDto.getParentId())); + policeParam.setProblemSourcesCode(ProblemSourcesEnum.GABXF.getValue()); + long policeMail = dataPetitionComplaintResourceService.count(policeParam); // 审计项目数 ReportProjectQueryParam reportProjectQueryParam = new ReportProjectQueryParam(); reportProjectQueryParam.setArchivingStart(request.getBeginTime()); reportProjectQueryParam.setArchivingEnd(request.getEndTime()); reportProjectQueryParam.setAuditUnitIds(allDepartIds); - reportProjectQueryParam.setDeleteFlag(DeleteStatusEnum.NO.getCode()); - List reportProjectList = reportProjectResourceService.query(reportProjectQueryParam); - + long reportProjectCount = reportProjectResourceService.count(reportProjectQueryParam); // 局长信箱 SupExternalDepartQueryParam supExternalDepartQueryParam = new SupExternalDepartQueryParam(); supExternalDepartQueryParam.setInternalIds(Collections.singleton(departDto.getParentId())); @@ -177,14 +192,15 @@ public class DatavServiceImpl implements DatavService { MailQueryParam mailQueryParam = new MailQueryParam(); mailQueryParam.setSecondDeptId(depart.getExternalId()); - List mailList = mailResourceService.query(mailQueryParam); + mailQueryParam.setCreateTime(dates); + long mailCount = mailResourceService.count(mailQueryParam); globalMapIconVo.setSupervisionPro(supervisionProCount); globalMapIconVo.setNumSupervisionPro(numSupervisionProCount); globalMapIconVo.setCaseVerificationPro(caseVerificationProCount); - globalMapIconVo.setComplaintPro(XF12337count+countryMail+policeMail); - globalMapIconVo.setAuditPro((long) reportProjectList.size()); - globalMapIconVo.setMailboxNumber((long) mailList.size()); + globalMapIconVo.setComplaintPro(xf12337Count+countryMail+policeMail); + globalMapIconVo.setAuditPro(reportProjectCount); + globalMapIconVo.setMailboxNumber(mailCount); globalMapIconVo.calcTotal(); globalMapIconVoList.add(globalMapIconVo); }