Merge branch 'dev_qinhongzhanWMS' into wms_dev

This commit is contained in:
秦鸿展
2026-01-28 14:49:39 +08:00
6 changed files with 109 additions and 19 deletions
@@ -49,8 +49,30 @@ public class StorageLocationApplicationService {
if (topOrganizationId != null && topOrganizationId != 1){
storageLocationDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
storageLocationDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
// 只有当前端没有明确传仓库条件时,才使用用户关联仓库缓存进行过滤;
// 避免出现“单据仓库=常温仓,但库位列表仍显示保税仓”的错配问题。
boolean hasWarehouseFilter = storageLocationDO.getWarehouseId() != null
|| (storageLocationDO.getWarehouseCode() != null && !storageLocationDO.getWarehouseCode().trim().isEmpty())
|| (storageLocationDO.getWarehouseName() != null && !storageLocationDO.getWarehouseName().trim().isEmpty());
if (!hasWarehouseFilter) {
try {
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
if (associationWarehouseCacheDO.getWarehouseId() != null) {
storageLocationDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
if (associationWarehouseCacheDO.getWarehouseCode() != null && !associationWarehouseCacheDO.getWarehouseCode().trim().isEmpty()) {
storageLocationDO.setWarehouseCode(associationWarehouseCacheDO.getWarehouseCode());
}
if (associationWarehouseCacheDO.getWarehouseName() != null && !associationWarehouseCacheDO.getWarehouseName().trim().isEmpty()) {
storageLocationDO.setWarehouseName(associationWarehouseCacheDO.getWarehouseName());
}
}
} catch (Exception e) {
// 获取失败不影响查询(允许查询所有仓库,或由前端传参控制)
log.warn("获取用户关联仓库信息失败,将按前端条件查询库位数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage());
}
}
}
return storageLocationDomainService.queryList(storageLocationDO);
}
@@ -41,14 +41,30 @@ public class StatementStatisticsService {
if (topOrganizationId != null && topOrganizationId != 1){
immediateInventoryDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
try {
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null && associationWarehouseCacheDO.getWarehouseId() != null) {
immediateInventoryDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
// 只有在用户没有明确指定仓库参数时,才使用缓存中的仓库信息
// 如果用户已经传递了 warehouseId、warehouseCode 或 warehouseName,优先使用这些值
boolean hasWarehouseFilter = (immediateInventoryDO.getWarehouseId() != null)
|| (immediateInventoryDO.getWarehouseCode() != null && !immediateInventoryDO.getWarehouseCode().trim().isEmpty())
|| (immediateInventoryDO.getWarehouseName() != null && !immediateInventoryDO.getWarehouseName().trim().isEmpty());
if (!hasWarehouseFilter) {
try {
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
if (associationWarehouseCacheDO.getWarehouseId() != null) {
immediateInventoryDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
if (associationWarehouseCacheDO.getWarehouseCode() != null && !associationWarehouseCacheDO.getWarehouseCode().trim().isEmpty()) {
immediateInventoryDO.setWarehouseCode(associationWarehouseCacheDO.getWarehouseCode());
}
if (associationWarehouseCacheDO.getWarehouseName() != null && !associationWarehouseCacheDO.getWarehouseName().trim().isEmpty()) {
immediateInventoryDO.setWarehouseName(associationWarehouseCacheDO.getWarehouseName());
}
}
} catch (Exception e) {
// 如果获取仓库信息失败,记录日志但不影响查询(允许查询所有仓库)
log.warn("获取用户关联仓库信息失败,将查询所有仓库数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage());
}
} catch (Exception e) {
// 如果获取仓库信息失败,记录日志但不影响查询(允许查询所有仓库)
log.warn("获取用户关联仓库信息失败,将查询所有仓库数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage());
}
}
return materialInventoryDomainService.queryImmediateInventoryList(immediateInventoryDO);
@@ -72,8 +72,23 @@ public class StockInOrderApplicationService {
if (topOrganizationId != null && topOrganizationId != 1){
stockInOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
// AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
// stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
try {
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
if (associationWarehouseCacheDO.getWarehouseId() != null) {
stockInOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
if (StringUtils.isNotBlank(associationWarehouseCacheDO.getWarehouseCode())) {
stockInOrderDO.setWarehouseCode(associationWarehouseCacheDO.getWarehouseCode());
}
if (StringUtils.isNotBlank(associationWarehouseCacheDO.getWarehouseName())) {
stockInOrderDO.setWarehouseName(associationWarehouseCacheDO.getWarehouseName());
}
}
} catch (Exception e) {
// 如果获取仓库信息失败,记录日志但不影响查询(允许查询所有仓库)
log.warn("获取用户关联仓库信息失败,将查询所有仓库数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage());
}
}
return stockInOrderDomainService.queryList(stockInOrderDO);
}
@@ -85,11 +85,28 @@ public class StockReceiptOrderApplicationService {
public List<StockReceiptOrderPO> queryList(StockReceiptOrderDO stockReceiptOrderDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1){
stockReceiptOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
// AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
// stockReceiptOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
if (loginUser != null){
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1){
stockReceiptOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
try {
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
if (associationWarehouseCacheDO.getWarehouseId() != null) {
stockReceiptOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
if (StringUtils.isNotBlank(associationWarehouseCacheDO.getWarehouseCode())) {
stockReceiptOrderDO.setWarehouseCode(associationWarehouseCacheDO.getWarehouseCode());
}
if (StringUtils.isNotBlank(associationWarehouseCacheDO.getWarehouseName())) {
stockReceiptOrderDO.setWarehouseName(associationWarehouseCacheDO.getWarehouseName());
}
}
} catch (Exception e) {
// 如果获取仓库信息失败,记录日志但不影响查询(允许查询所有仓库)
log.warn("获取用户关联仓库信息失败,将查询所有仓库数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage());
}
}
return stockReceiptOrderDomainService.queryList(stockReceiptOrderDO);
}
@@ -6,6 +6,7 @@ import com.mhd.common.core.constant.SnowFlakeConstants;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.uuid.IdGenerator;
import com.mhd.common.core.web.domain.AjaxResult;
@@ -67,8 +68,23 @@ public class StockShelfOrderApplicationService {
if (topOrganizationId != null && topOrganizationId != 1){
stockShelfOrderDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
// AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
// stockShelfOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
try {
AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid());
if (associationWarehouseCacheDO != null) {
if (associationWarehouseCacheDO.getWarehouseId() != null) {
stockShelfOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId());
}
if (StringUtils.isNotBlank(associationWarehouseCacheDO.getWarehouseCode())) {
stockShelfOrderDO.setWarehouseCode(associationWarehouseCacheDO.getWarehouseCode());
}
if (StringUtils.isNotBlank(associationWarehouseCacheDO.getWarehouseName())) {
stockShelfOrderDO.setWarehouseName(associationWarehouseCacheDO.getWarehouseName());
}
}
} catch (Exception e) {
// 如果获取仓库信息失败,记录日志但不影响查询(允许查询所有仓库)
log.warn("获取用户关联仓库信息失败,将查询所有仓库数据,用户ID:{},错误:{}", loginUser.getUserid(), e.getMessage());
}
}
return stockShelfOrderDomainService.queryList(stockShelfOrderDO);
}
@@ -408,8 +408,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and a.warehouse_id = #{warehouseId}
</if>
<if test="warehouseCode != null and warehouseCode != '' ">
and a.warehouse_code = #{warehouseCode}
</if>
<if test="warehouseName != null and warehouseName != '' ">
and a.warehouse_name = #{warehouseName}
and a.warehouse_name like concat('%', #{warehouseName}, '%')
</if>
<if test="materialName != null and materialName != '' ">