|
@@ -158,6 +158,19 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 良品转次品
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void qualifiedToDefective(Stock stock) {
|
|
|
+ Assert.notEmpty(stock.getId(), "库存id不能为空");
|
|
|
+ Assert.notEmpty(stock.getQuantity(), "要转换的数量不能为空");
|
|
|
+ Stock stock1 = getById(stock.getId());
|
|
|
+ stock1.setQuantity(stock1.getQuantity().subtract(stock.getQuantity()));
|
|
|
+ stock1.setDefectiveQuantity(stock1.getDefectiveQuantity().add(stock.getQuantity()));
|
|
|
+ updateById(stock1);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 合并变更数量(如果同一种物品在出入库一个仓库,则合并数量)
|
|
|
*/
|
|
|
private Map<String, Stock> mergeChangeQuantity(StockChangeDto stockChangeDto) {
|
|
@@ -257,6 +270,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
|
|
|
BigDecimal subtract = oldStock.getFrozenQuantity().subtract(newStock.getFrozenQuantity());
|
|
|
Assert.eqTrue(subtract.compareTo(BigDecimal.ZERO) >= 0, "产品锁定库存不足,出库失败");
|
|
|
oldStock.setFrozenQuantity(subtract);
|
|
|
+ }else if(typeEnum.equals(OutTypeEnum.PURCHASE_BACK)){
|
|
|
+ //采购退货出库 改成减少次品库存
|
|
|
+ BigDecimal subtract = oldStock.getDefectiveQuantity().subtract(newStock.getQuantity());
|
|
|
+ Assert.eqTrue(subtract.compareTo(BigDecimal.ZERO) >= 0, "产品库存不足,出库失败");
|
|
|
+ oldStock.setDefectiveQuantity(subtract);
|
|
|
}
|
|
|
// 其他出库,统计库存
|
|
|
else {
|