diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java index f04e99ea0..b15ae7a41 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockShelfOrder/service/StockShelfOrderDomainService.java @@ -914,16 +914,18 @@ public class StockShelfOrderDomainService { for (ShelfMaterialDetail shelfMaterialDetail : shelfMaterialDetailDOList) { Long materialBaseInfoId = shelfMaterialDetail.getMaterialBaseInfoId(); MaterialGoodsRulePO materialGoodsRulePO = materialGoodsRuleService.getInfoByMaterialBaseInfoIds(materialBaseInfoId); - Long batchId = materialGoodsRulePO.getBatchId(); List fieldNames = new ArrayList<>(); - AjaxResult batchInfo = systemServiceFeign.getBatchInfoByBatchId(batchId); - if("200".equals(String.valueOf(batchInfo.get("code")))){ - BatchPO batch = com.alibaba.fastjson2.JSONObject.parseObject(JSONObject.toJSONString(batchInfo.get("data")), BatchPO.class); - List batchDetailList = batch.getBatchDetailList(); - fieldNames = batchDetailList.stream() - .filter(detail -> "1".equals(String.valueOf(detail.getIsDisplay()))) - .map(BatchDetailPO::getFieldName) - .collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(materialGoodsRulePO)) { + Long batchId = materialGoodsRulePO.getBatchId(); + AjaxResult batchInfo = systemServiceFeign.getBatchInfoByBatchId(batchId); + if("200".equals(String.valueOf(batchInfo.get("code")))){ + BatchPO batch = com.alibaba.fastjson2.JSONObject.parseObject(JSONObject.toJSONString(batchInfo.get("data")), BatchPO.class); + List batchDetailList = batch.getBatchDetailList(); + fieldNames = batchDetailList.stream() + .filter(detail -> "1".equals(String.valueOf(detail.getIsDisplay()))) + .map(BatchDetailPO::getFieldName) + .collect(Collectors.toList()); + } } Long shipperId = stockReceiptOrderDO.getShipperId(); MaterialInventory param = getParam(shelfMaterialDetail, fieldNames, shipperId,stockReceiptOrderDO.getInOrderNumber());