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 = ''