Ver Fonte

改动过的

huanglizhi há 1 ano atrás
pai
commit
ee04d03fae

+ 7 - 8
module-erp/src/main/java/com/hys/app/service/erp/impl/OrderManagerImpl.java

@@ -388,6 +388,13 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
         List<ItemSnCodeDO> itemSnCodeDOS = new ArrayList<>();
         //保存出库单明细
         List<WarehouseOutItemDO> beanList = BeanUtils.toBean(list, WarehouseOutItemDO.class);
+        beanList.forEach(item ->{
+            item.setId(null);
+            item.setWarehouseOutId(outDO.getId());
+            Integer num = list.stream().filter(it -> it.getProductId().equals(item.getProductId())).findFirst().get().getNum();
+            item.setOutNum(num);
+        });
+        warehouseOutItemManager.saveBatch(beanList);
         //保存发货单明细和序列号的关系
         List<GoodsSnDO> snDOS = new ArrayList<>();
         List<LockedStockDetailDO> detailDOS = new ArrayList<>();
@@ -415,7 +422,6 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
                     throw new ServiceException("录入的序列号数量和发货数量必须一样多");
                 }
             }
-
             if (CollUtil.isNotEmpty(sendItemVO.getSnCodeList())) {
                 snDOS.addAll(sendItemVO.getSnCodeList());
                 for (GoodsSnDO snDO : sendItemVO.getSnCodeList()) {
@@ -441,13 +447,6 @@ public class OrderManagerImpl extends BaseServiceImpl<OrderMapper, OrderDO> impl
             goodsSnManager.updateBatchById(snDOS);
         }
         //保存出库单明细和序列号的关系
-        beanList.forEach(item ->{
-            item.setId(null);
-            item.setWarehouseOutId(outDO.getId());
-            Integer num = list.stream().filter(it -> it.getProductId().equals(item.getProductId())).findFirst().get().getNum();
-            item.setOutNum(num);
-        });
-        warehouseOutItemManager.saveBatch(beanList);
         beanList.forEach(item -> {
             //发货明细和sncode做关联
             if (CollUtil.isNotEmpty(item.getSnCodeList())) {