From 5db78e198f1051e2ec1976e6d5e803008eed6fb9 Mon Sep 17 00:00:00 2001 From: buaixuexideshitongxue <2936013465@qq.com> Date: Thu, 16 Apr 2026 11:46:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=89=80=E6=9C=89=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E6=9D=A5=E6=BA=90=E9=83=BD=E5=8F=AF=E4=BB=A5=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E4=B8=93=E9=A1=B9=E7=9D=A3=E5=AF=9F=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supervision/pojo/param/NegativeQueryParam.java | 4 ++++ .../supervision/service/NegativeQueryService.java | 13 ++++++++++++- .../supervision/service/NegativeTaskService.java | 9 ++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java index a6cc988..9f6e53c 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java @@ -74,6 +74,9 @@ public class NegativeQueryParam extends BasePage { private String specialSupervision; + @Schema(description = "专项督察(多选查询)") + private List specialSupervisions; + private String reportNumber; private Integer crtDepartLevel; @@ -139,6 +142,7 @@ public class NegativeQueryParam extends BasePage { target.setProblemSourcesCode(this.problemSourcesCode == null ? null : new ArrayList<>(this.problemSourcesCode)); target.setInvolveDepartIds(this.involveDepartIds == null ? null : Set.copyOf(this.involveDepartIds)); target.setApprovalTimeoutStatus(this.approvalTimeoutStatus == null ? null : new ArrayList<>(this.approvalTimeoutStatus)); + target.setSpecialSupervisions(this.specialSupervisions == null ? null : new ArrayList<>(this.specialSupervisions)); return target; } diff --git a/src/main/java/com/biutag/supervision/service/NegativeQueryService.java b/src/main/java/com/biutag/supervision/service/NegativeQueryService.java index b7b3b84..a4ff3d9 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeQueryService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeQueryService.java @@ -78,7 +78,18 @@ public class NegativeQueryService { .in(CollectionUtil.isNotEmpty(param.getProblemSourcesCode()), Negative::getProblemSourcesCode, param.getProblemSourcesCode()) // 业务类型 .eq(StrUtil.isNotBlank(param.getBusinessTypeCode()), Negative::getBusinessTypeCode, param.getBusinessTypeCode()) - // 专项督察 + // 专项督察(支持单选和多选查询) + .and(CollectionUtil.isNotEmpty(param.getSpecialSupervisions()), (qw) -> { + // 多选查询:specialSupervision字段包含任一选中的值(逗号分隔存储) + for (int i = 0; i < param.getSpecialSupervisions().size(); i++) { + final String code = param.getSpecialSupervisions().get(i); + if (i == 0) { + qw.apply("FIND_IN_SET({0}, special_supervision) > 0", code); + } else { + qw.or().apply("FIND_IN_SET({0}, special_supervision) > 0", code); + } + } + }) .eq(StrUtil.isNotBlank(param.getSpecialSupervision()), Negative::getSpecialSupervision, param.getSpecialSupervision()) // 通报期数 .like(StrUtil.isNotBlank(param.getReportNumber()), Negative::getReportNumber, param.getReportNumber()) diff --git a/src/main/java/com/biutag/supervision/service/NegativeTaskService.java b/src/main/java/com/biutag/supervision/service/NegativeTaskService.java index 9685c51..5c5a94d 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeTaskService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeTaskService.java @@ -143,9 +143,12 @@ public class NegativeTaskService extends ServiceImpldict.getDictValue().equals(vo.getSpecialSupervision())).findFirst().map(SupDictData::getDictLabel).orElse(""); + //专项督察(支持多选逗号分隔) + if(StrUtil.isNotBlank(vo.getSpecialSupervision())){ + String specialSupervision = Arrays.stream(vo.getSpecialSupervision().split(",")) + .map(val -> specialSupervisionDict.stream().filter(dict -> dict.getDictValue().equals(val)).findFirst().map(SupDictData::getDictLabel).orElse("")) + .filter(StrUtil::isNotBlank) + .collect(Collectors.joining("、")); vo.setSpecialSupervision(specialSupervision); }