From c5a39d23f27c237b9de0e6fbbac406bdf39e3593 Mon Sep 17 00:00:00 2001 From: rcx <3084692334@qq.com> Date: Fri, 7 Aug 2026 15:13:19 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20wms=20-=20=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E7=AE=A1=E7=90=86=20-=20=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=20-=E5=BA=93=E5=AD=98=E8=B0=83=E6=95=B4=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=20-=20=E6=8E=A8=E9=80=81?= =?UTF-8?q?=20OMS=20=E9=80=BB=E8=BE=91=E5=A2=9E=E5=8A=A0=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=8A=B6=E6=80=81=E5=88=A4=E5=AE=9A=EF=BC=8C?= =?UTF-8?q?=E6=9C=AA=E5=90=AF=E7=94=A8=20OMS=20=E5=88=99=E4=B8=8D=E6=8E=A8?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/domain/po/WarehousePO.java | 2 ++ ...nventoryAdjustmentRecordDomainService.java | 24 ++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/WarehousePO.java b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/WarehousePO.java index 4293dfb6f..bbb4c261a 100644 --- a/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/WarehousePO.java +++ b/mhd-common/mhd-common-core/src/main/java/com/mhd/common/core/domain/po/WarehousePO.java @@ -33,4 +33,6 @@ public class WarehousePO implements Serializable { @Excel(name = "仓库名称") private String warehouseName; + @Excel(name = "是否启用: 1-否 2-是") + private Integer isEnable; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/service/InventoryAdjustmentRecordDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/service/InventoryAdjustmentRecordDomainService.java index f63a274de..2f0fe6053 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/service/InventoryAdjustmentRecordDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/inventoryAdjustmentRecord/service/InventoryAdjustmentRecordDomainService.java @@ -1,10 +1,13 @@ package com.mhd.wms.domain.inventoryAdjustmentRecord.service; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson2.JSONObject; import com.aliyun.oss.ServiceException; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.mhd.common.core.constant.SnowFlakeConstants; import com.mhd.common.core.domain.po.UserPo; +import com.mhd.common.core.domain.po.WarehousePO; import com.mhd.common.core.utils.OrderSequence; import com.mhd.common.core.utils.uuid.IdGenerator; import com.mhd.common.core.utils.StringUtils; @@ -12,6 +15,7 @@ import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.domain.BaseVOEntity; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.OmsServiceFeign; +import com.mhd.system.api.SystemServiceFeign; import com.mhd.system.api.domain.*; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.inventoryAdjustmentRecord.repository.facade.IInventoryAdjustmentRecordService; @@ -58,6 +62,8 @@ public class InventoryAdjustmentRecordDomainService { private IdGenerator idGenerator; @Autowired private OmsServiceFeign omsServiceFeign; + @Autowired + private SystemServiceFeign systemServiceFeign; @@ -108,6 +114,15 @@ public class InventoryAdjustmentRecordDomainService { */ @Transactional public Boolean inventoryAdjust(InventoryAdjustmentRecordDO inventoryAdjustmentRecordDO) { + // 根据仓库ID获取仓库信息,用于后续库存调整的仓库判断 + AjaxResult warehouseInfoByWarehouseId = systemServiceFeign.getWarehouseInfoByWarehouseId(inventoryAdjustmentRecordDO.getWarehouseId()); + if (warehouseInfoByWarehouseId == null) { + throw new ServiceException("仓库不存在"); + } else if (!warehouseInfoByWarehouseId.get("code").equals(200)) { + throw new ServiceException("网络错误请重试 --- " + warehouseInfoByWarehouseId.get("msg")); + } + // 获取仓库信息 + WarehousePO warehousePO = JSON.parseObject(JSONObject.toJSONString(warehouseInfoByWarehouseId.get("data")), WarehousePO.class); InventoryAdjustmentRecordDO inventoryAdjustmentRecord = new InventoryAdjustmentRecordDO(); inventoryAdjustmentRecord.setAdjustAction("库存调整"); LoginUser loginUser = SecurityUtils.getLoginUser(); @@ -276,9 +291,12 @@ public class InventoryAdjustmentRecordDomainService { Boolean insert = inventoryAdjustmentRecordService.insert(inventoryAdjustmentRecord); //推送oms库存调整记录 try{ - Boolean pushSuccess = pushOms(materialInventory, inventoryAdjustmentRecordDO); - if (!pushSuccess) { - throw new ServiceException("库存调整推送OMS失败,请稍后重试"); + // 当仓库启用 oms 才进行推送 + if (warehousePO.getIsEnable() == 1) { + Boolean pushSuccess = pushOms(materialInventory, inventoryAdjustmentRecordDO); + if (!pushSuccess) { + throw new ServiceException("库存调整推送OMS失败,请稍后重试"); + } } }catch (Exception e){ log.error("推送OMS库存调整记录异常,materialBaseInfoId={}, adjustDirection={}",