From 4c1831ec6b78836a86b35af4f7e7c5075d785af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 22 Apr 2026 09:18:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=9C=AA=E6=8C=89=E7=85=A7=E4=BB=93=E5=BA=93=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InOrderAbnormalApplicationService.java | 34 ++++++++++++------ .../OutOrderAbnormalApplicationService.java | 35 +++++++++++++------ 2 files changed, 49 insertions(+), 20 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java index 16738fa25..816a002c6 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java @@ -32,17 +32,31 @@ public class InOrderAbnormalApplicationService { public List queryList(InOrderAbnormalDO inOrderAbnormalDO) { LoginUser loginUser = SecurityUtils.getLoginUser(); - if (loginUser != null){ - Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); - if (topOrganizationId != null && topOrganizationId != 1){ - inOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + if (loginUser != null && loginUser.getUserPo() != null) { + AssociationWarehouseCacheDO cache = + SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (inOrderAbnormalDO.getWarehouseId() == null && cache != null + && cache.getWarehouseId() != null) { + inOrderAbnormalDO.setWarehouseId(cache.getWarehouseId()); } - // 请求未带 warehouseId 时用用户关联仓库;带了则以请求为准(与出库异常一致) - if (inOrderAbnormalDO.getWarehouseId() == null) { - AssociationWarehouseCacheDO cache = - SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); - if (cache != null && cache.getWarehouseId() != null) { - inOrderAbnormalDO.setWarehouseId(cache.getWarehouseId()); + if (inOrderAbnormalDO.getTopOrganizationId() == null) { + Long top = loginUser.getUserPo().getTopOrganizationId(); + if (top == null || Long.valueOf(1L).equals(top)) { + if (cache != null) { + top = cache.getTopOrganizationId(); + } + } + if (top != null && !Long.valueOf(1L).equals(top)) { + inOrderAbnormalDO.setTopOrganizationId(top); + } + } + if (inOrderAbnormalDO.getOrganizationId() == null) { + Long orgId = loginUser.getUserPo().getOrganizationId(); + if (orgId == null && cache != null) { + orgId = cache.getOrganizationId(); + } + if (orgId != null) { + inOrderAbnormalDO.setOrganizationId(orgId); } } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java index 0fb1aa5e6..708f1d052 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java @@ -32,17 +32,32 @@ public class OutOrderAbnormalApplicationService { public List queryList(OutOrderAbnormalDO outOrderAbnormalDO) { LoginUser loginUser = SecurityUtils.getLoginUser(); - if (loginUser != null){ - Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); - if (topOrganizationId != null && topOrganizationId != 1){ - outOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + if (loginUser != null && loginUser.getUserPo() != null) { + // 请求带仓库时也会读关联缓存,用于补全「会话里为空的组织」(UserPo 常见无 organizationId) + AssociationWarehouseCacheDO cache = + SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (outOrderAbnormalDO.getWarehouseId() == null && cache != null + && cache.getWarehouseId() != null) { + outOrderAbnormalDO.setWarehouseId(cache.getWarehouseId()); } - // 请求未带 warehouseId 时用用户关联仓库;带了则以请求为准(与入库异常一致) - if (outOrderAbnormalDO.getWarehouseId() == null) { - AssociationWarehouseCacheDO cache = - SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); - if (cache != null && cache.getWarehouseId() != null) { - outOrderAbnormalDO.setWarehouseId(cache.getWarehouseId()); + if (outOrderAbnormalDO.getTopOrganizationId() == null) { + Long top = loginUser.getUserPo().getTopOrganizationId(); + if (top == null || Long.valueOf(1L).equals(top)) { + if (cache != null) { + top = cache.getTopOrganizationId(); + } + } + if (top != null && !Long.valueOf(1L).equals(top)) { + outOrderAbnormalDO.setTopOrganizationId(top); + } + } + if (outOrderAbnormalDO.getOrganizationId() == null) { + Long orgId = loginUser.getUserPo().getOrganizationId(); + if (orgId == null && cache != null) { + orgId = cache.getOrganizationId(); + } + if (orgId != null) { + outOrderAbnormalDO.setOrganizationId(orgId); } } }