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 3badbb476..df7a003d1 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 @@ -307,6 +307,9 @@ public class StockShelfOrderDomainService { throw new ServiceException("上架单【" + stockShelfOrderPO.getShelfOrderNumber() + "】数据已被更新,请刷新后重新进行上架"); } //上架保存容器使用记录 + if (CollectionUtils.isEmpty(stockShelfOrderDO.getMaterialDetailList())) { + throw new ServiceException("上架数量不能为空,请填写上架数量后再提交"); + } genContainerUsageRecord(stockShelfOrderDO); //修改物料明细信息 shelfMaterialDetailService.batchShelfUpdate(stockShelfOrderDO); @@ -1233,7 +1236,8 @@ public class StockShelfOrderDomainService { public void genContainerUsageRecord(StockShelfOrderDO stockShelfOrderDO) { List shelfMaterialDetailDOList = stockShelfOrderDO.getMaterialDetailList(); if (CollectionUtils.isEmpty(shelfMaterialDetailDOList)) { - throw new ServiceException("物料明细不能为空"); + // 无需处理的明细(上架数量全为0时跳过),直接返回 + return; } //所有明细 List listShelfMaterialDetail = shelfMaterialDetailService.list(new QueryWrapper().lambda().eq(ShelfMaterialDetail::getShelfOrderNumber, stockShelfOrderDO.getShelfOrderNumber())); diff --git a/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml b/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml index ad2e8b8e4..06f861845 100644 --- a/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml +++ b/mhd_wms/src/main/resources/mapper/pickingMaterialDetail/PickingMaterialDetailMapper.xml @@ -191,11 +191,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -240,22 +240,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - WHEN #{item.uniqueId} THEN IFNULL(#{item.totalNetWeight}, total_net_weight) + WHEN #{item.uniqueId} THEN COALESCE(#{item.totalNetWeight}, total_net_weight) - WHEN #{item.uniqueId} THEN IFNULL(#{item.totalGrossWeight}, total_gross_weight) + WHEN #{item.uniqueId} THEN COALESCE(#{item.totalGrossWeight}, total_gross_weight) - WHEN #{item.uniqueId} THEN IFNULL(#{item.totalVolume}, total_volume) + WHEN #{item.uniqueId} THEN COALESCE(#{item.totalVolume}, total_volume) - WHEN #{item.uniqueId} THEN IFNULL(#{item.totalArea}, total_area) + WHEN #{item.uniqueId} THEN COALESCE(#{item.totalArea}, total_area) update_by = #{updateBy},