diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java index d45f3d4d9..89d937d72 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderDomainService.java @@ -196,13 +196,30 @@ public class ReservationStockInOrderDomainService { // } // List materialDetailList = stockInOrderDO.getMaterialDetailList(); - if (materialDetailList != null && materialDetailList.size() > 0) { +// if (hasNullOrZeroMaterialBaseInfoId(materialDetailList)) { +// throw new ServiceException("物料明细中存在未选择物料基础信息的数据,请检查"); +// } + if (materialDetailList != null && materialDetailList.size() > 0&&!hasNullOrZeroMaterialBaseInfoId(materialDetailList)) { return materialDetailService.batchUpdate(materialDetailList, inMaterialDetailBaseDO); } else { return true; } } + /** + * 判断物料明细列表中是否存在materialBaseInfoId为null或等于0的情况 + * @param materialDetailList 物料明细列表 + * @return 存在null或0返回true,否则返回false + */ + private boolean hasNullOrZeroMaterialBaseInfoId(List materialDetailList) { + if (CollectionUtils.isEmpty(materialDetailList)) { + return false; + } + return materialDetailList.stream().anyMatch(detail -> + detail.getMaterialBaseInfoId() == null || detail.getMaterialBaseInfoId() == 0L + ); + } + /** * 批量删除入库单 */