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={}",