From c03a5fdf47a53cbd138eefbd8c5393cce368ff62 Mon Sep 17 00:00:00 2001 From: weicw <594098497@qq.com> Date: Sun, 25 Oct 2026 20:20:59 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E5=8F=B8=E6=9C=BA=E4=B8=8E=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E5=AF=BC=E5=87=BA=E6=94=AF=E6=8C=81=E3=80=8C=E6=9C=AA?= =?UTF-8?q?=E5=88=86=E9=85=8D=E7=BB=84=E7=BB=87=E3=80=8D=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transport/constant/TransportBusiConstant.java | 8 ++++++++ .../transport/controller/DriverController.java | 7 ++++++- .../transport/controller/TransportVehicleController.java | 7 ++++++- .../org/springblade/transport/mapper/DriverMapper.xml | 7 ++++--- .../transport/mapper/TransportVehicleMapper.xml | 7 ++++--- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/TransportBusiConstant.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/TransportBusiConstant.java index f27ce70d..93f278b8 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/TransportBusiConstant.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/constant/TransportBusiConstant.java @@ -61,6 +61,14 @@ public final class TransportBusiConstant { /** 审批状态:已作废(终态)。 */ public static final String VOIDED = "voided"; + /** + * 「未分配组织」筛选项的哨兵值,不是真实组织名。 + *

+ * 前端 organization-search 混入、DriverMapper.xml 与 TransportVehicleMapper.xml 的 + * organizationName 分支、以及两个导出查询都按这个字面量判定,四处必须同步修改。 + */ + public static final String UNASSIGNED_ORG_FILTER = "__UNASSIGNED_ORG__"; + private TransportBusiConstant() { } } diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/DriverController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/DriverController.java index 89f336bc..e409446d 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/DriverController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/DriverController.java @@ -43,6 +43,7 @@ import org.springblade.core.secure.annotation.PreAuth; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; +import org.springblade.transport.constant.TransportBusiConstant; import org.springblade.transport.excel.DriverExcel; import org.springblade.transport.pojo.entity.Driver; import org.springblade.transport.pojo.vo.DriverExpiryStatVO; @@ -233,7 +234,11 @@ public class DriverController extends BladeController { if (Func.isNotEmpty(driver.getDriverType())) { queryWrapper.eq(Driver::getDriverType, driver.getDriverType()); } - if (Func.isNotEmpty(driver.getOrganizationName())) { + // 「未分配组织」哨兵改判组织为空串:组织列 NOT NULL,无组织存空串。 + // 哨兵字面量由 TransportBusiConstant.UNASSIGNED_ORG_FILTER 定义,前端与两个 Mapper XML 同步。 + if (TransportBusiConstant.UNASSIGNED_ORG_FILTER.equals(driver.getOrganizationName())) { + queryWrapper.eq(Driver::getOrganizationName, ""); + } else if (Func.isNotEmpty(driver.getOrganizationName())) { queryWrapper.like(Driver::getOrganizationName, driver.getOrganizationName()); } if (Func.isNotEmpty(driver.getStatus())) { diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/TransportVehicleController.java b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/TransportVehicleController.java index 37596eb4..a321bdc3 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/TransportVehicleController.java +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/controller/TransportVehicleController.java @@ -44,6 +44,7 @@ import org.springblade.core.secure.annotation.PreAuth; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; +import org.springblade.transport.constant.TransportBusiConstant; import org.springblade.transport.excel.TransportVehicleExcel; import org.springblade.transport.pojo.entity.TransportVehicle; import org.springblade.transport.pojo.vo.TransportVehicleExpiryStatVO; @@ -226,7 +227,11 @@ public class TransportVehicleController extends BladeController { if (Func.isNotEmpty(ids)) { queryWrapper.in(TransportVehicle::getId, Func.toLongList(ids)); } - if (Func.isNotEmpty(vehicle.getOrganizationName())) { + // 「未分配组织」哨兵改判组织为空串:组织列 NOT NULL,无组织存空串。 + // 哨兵字面量由 TransportBusiConstant.UNASSIGNED_ORG_FILTER 定义,前端与两个 Mapper XML 同步。 + if (TransportBusiConstant.UNASSIGNED_ORG_FILTER.equals(vehicle.getOrganizationName())) { + queryWrapper.eq(TransportVehicle::getOrganizationName, ""); + } else if (Func.isNotEmpty(vehicle.getOrganizationName())) { queryWrapper.like(TransportVehicle::getOrganizationName, vehicle.getOrganizationName()); } if (Func.isNotEmpty(vehicle.getPlateNo())) { diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml index 7862dd68..2f1b5e2a 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/DriverMapper.xml @@ -170,11 +170,12 @@ AND driver_type = #{driver.driverType} - + - AND (organization_name IS NULL OR organization_name = '') + AND organization_name = '' diff --git a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/TransportVehicleMapper.xml b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/TransportVehicleMapper.xml index 81988d95..0d5857fd 100644 --- a/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/TransportVehicleMapper.xml +++ b/blade-service/blade-transport/src/main/java/org/springblade/transport/mapper/TransportVehicleMapper.xml @@ -117,11 +117,12 @@ is_deleted = 0 - + - AND (organization_name IS NULL OR organization_name = '') + AND organization_name = ''