|
@@ -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()
|
|
|
+
|
|
|
+ .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);
|
|
|
}
|