24282 2 жил өмнө
parent
commit
98f52cc8cc

+ 0 - 3
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/enums/stock/InTypeEnum.java

@@ -12,11 +12,8 @@ import java.util.Map;
  */
 @Getter
 public enum InTypeEnum {
-    // 采购入库
     PURCHASE(1, "采购入库"),
-    // 手动入库
     MANUAL(2, "手动入库"),
-
     TRANSFER(7, "调仓入库"),
     ;
 

+ 31 - 23
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockTransferServiceImpl.java

@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -84,26 +85,32 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
 
         Date date = new Date();
         Long userId = AuthUtil.getUserId();
-        List<StockTransfer> stockTransferList = changeProductList.stream().map(item -> {
-            long id = IdWorker.getId();
-
-            StockTransfer stockTransfer = new StockTransfer();
-            stockTransfer.setId(id);
-            stockTransfer.setInWarehouseId(stockTransferAddVo.getInWarehouseId());
-            stockTransfer.setOutWarehouseId(stockTransferAddVo.getOutWarehouseId());
-            stockTransfer.setRemark(stockTransferAddVo.getRemark());
-            stockTransfer.setInStatus(StatusConstant.NO);
-            stockTransfer.setOutQuantity(item.getQuantity());
-            stockTransfer.setProductId(item.getProductId());
-            stockTransfer.setCreateTime(date);
-            stockTransfer.setCreateUser(userId);
-
-            item.setBusinessId(id);
-
-            return stockTransfer;
-        }).collect(Collectors.toList());
+        List<StockTransfer> stockTransferList = changeProductList.stream()
+                // 排除调仓数量为0
+                .filter(item -> item.getQuantity().compareTo(BigDecimal.ZERO) > 0)
+                .map(item -> {
+                    long id = IdWorker.getId();
+                    StockTransfer stockTransfer = new StockTransfer();
+                    stockTransfer.setId(id);
+                    stockTransfer.setInWarehouseId(stockTransferAddVo.getInWarehouseId());
+                    stockTransfer.setOutWarehouseId(stockTransferAddVo.getOutWarehouseId());
+                    stockTransfer.setRemark(stockTransferAddVo.getRemark());
+                    stockTransfer.setInStatus(StatusConstant.NO);
+                    stockTransfer.setOutQuantity(item.getQuantity());
+                    stockTransfer.setProductId(item.getProductId());
+                    stockTransfer.setCreateTime(date);
+                    stockTransfer.setCreateUser(userId);
+
+                    item.setBusinessId(id);
+
+                    return stockTransfer;
+                }).collect(Collectors.toList());
         saveBatch(stockTransferList);
 
+        if (stockTransferList.size() == 0) {
+            return;
+        }
+
         StockChangeVo stockChangeVo = new StockChangeVo();
         stockChangeVo.setDefaultWarehouseId(stockTransferAddVo.getOutWarehouseId());
         stockChangeVo.setDefaultRemarks(stockTransferAddVo.getRemark());
@@ -118,22 +125,23 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
 
         StockTransfer byId = getById(stockTransfer);
         Assert.eqTrue(StatusConstant.NO.equals(byId.getInStatus()), "物品已接收");
+        BigDecimal inQuantity = stockTransfer.getInQuantity();
 
         byId.setInUser(AuthUtil.getUserId());
-        byId.setInQuantity(stockTransfer.getInQuantity());
+        byId.setInQuantity(inQuantity);
         byId.setInTime(new Date());
         byId.setInStatus(StatusConstant.YES);
         updateById(byId);
 
+        ChangeProduct changeProduct = new ChangeProduct();
+        changeProduct.setProductId(byId.getProductId());
+        changeProduct.setQuantity(inQuantity);
+
         StockChangeVo stockChangeVo = new StockChangeVo();
         stockChangeVo.setDefaultBusinessId(byId.getId());
         stockChangeVo.setDefaultWarehouseId(byId.getInWarehouseId());
         stockChangeVo.setDefaultRemarks(byId.getRemark());
         stockChangeVo.setTypeEnum(InTypeEnum.TRANSFER);
-
-        ChangeProduct changeProduct = new ChangeProduct();
-        changeProduct.setProductId(byId.getProductId());
-        changeProduct.setQuantity(stockTransfer.getInQuantity());
         stockChangeVo.setChangeDetailsList(Collections.singletonList(changeProduct));
         stockService.changeQuantity(stockChangeVo);
     }