|
|
@@ -2100,6 +2100,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
BigDecimal surplusRouteQuantity = new BigDecimal("0.00");
|
|
|
BigDecimal balanceQuantity = new BigDecimal("0.00");
|
|
|
BigDecimal balanceAmount = new BigDecimal("0.00");
|
|
|
+ orderItems.setPurchaseCost(orderItems.getPurchasePrice());
|
|
|
//获取本商品库存
|
|
|
R<StockGoodsVO> r = stockGoodsClient.selectStock(null, orderItems.getStorageId(), orderItems.getItemId(), null, null, null, null, null, null);
|
|
|
if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
|
|
|
@@ -2108,14 +2109,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
|
|
|
if(new BigDecimal("0.00").equals(r.getData().getSurplusRouteQuantity())){
|
|
|
balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPurchasePrice(), MathContext.DECIMAL32));
|
|
|
+ costAmount = costAmount.add(orderItems.getPurchasePrice().multiply(orderItems.getStorageInQuantity()));
|
|
|
}else{
|
|
|
balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
|
|
|
+ costAmount = costAmount.add(r.getData().getStockPrice().multiply(orderItems.getStorageInQuantity()));
|
|
|
}
|
|
|
stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity), MathContext.DECIMAL32);
|
|
|
r.getData().setOutQuantity(r.getData().getOutQuantity().add(orderItems.getStorageInQuantity()));
|
|
|
r.getData().setOutAmount(r.getData().getOutAmount().add(orderItems.getAmount()));
|
|
|
|
|
|
- costAmount = costAmount.add(stockPrice.multiply(orderItems.getStorageInQuantity()));
|
|
|
+
|
|
|
BigDecimal grossProfits = orderItems.getPrice().subtract(orderItems.getPurchasePrice());
|
|
|
grossProfit = grossProfit.add(orderItems.getStorageInQuantity().multiply(grossProfits));
|
|
|
|
|
|
@@ -2449,6 +2452,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
BigDecimal surplusRouteQuantity = new BigDecimal("0.00");
|
|
|
BigDecimal balanceQuantity = new BigDecimal("0.00");
|
|
|
BigDecimal balanceAmount = new BigDecimal("0.00");
|
|
|
+ orderItems.setPurchaseCost(orderItems.getPurchasePrice());
|
|
|
//获取本商品库存
|
|
|
R<StockGoodsVO> r = stockGoodsClient.selectStockParts(null, orderItems.getStorageId(), orderItems.getItemId(), null, null, null, null, null, null);
|
|
|
if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
|
|
|
@@ -2457,14 +2461,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
balanceQuantity = balanceQuantity.add(surplusRouteQuantity);
|
|
|
if(new BigDecimal("0.00").equals(r.getData().getSurplusRouteQuantity())){
|
|
|
balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPurchasePrice(), MathContext.DECIMAL32));
|
|
|
+ costAmount = costAmount.add(orderItems.getPurchasePrice().multiply(orderItems.getStorageInQuantity()));
|
|
|
}else{
|
|
|
balanceAmount = balanceAmount.add(balanceQuantity.multiply(orderItems.getPrice(), MathContext.DECIMAL32));
|
|
|
+ costAmount = costAmount.add(r.getData().getStockPrice().multiply(orderItems.getStorageInQuantity()));
|
|
|
}
|
|
|
stockPrice = stockPrice.add(balanceAmount.divide(balanceQuantity), MathContext.DECIMAL32);
|
|
|
r.getData().setOutQuantity(r.getData().getOutQuantity().add(orderItems.getStorageInQuantity()));
|
|
|
r.getData().setOutAmount(r.getData().getOutAmount().add(orderItems.getAmount()));
|
|
|
|
|
|
- costAmount = costAmount.add(stockPrice.multiply(orderItems.getStorageInQuantity()));
|
|
|
BigDecimal grossProfits = orderItems.getPrice().subtract(orderItems.getPurchasePrice());
|
|
|
grossProfit = grossProfit.add(orderItems.getStorageInQuantity().multiply(grossProfits));
|
|
|
|
|
|
@@ -2480,7 +2485,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
r.getData().setInQuantity(r.getData().getInQuantity().add(orderItems.getStorageInQuantity()));
|
|
|
r.getData().setInAmount(r.getData().getInAmount().add(orderItems.getAmount()));
|
|
|
|
|
|
- costAmount = costAmount.add(stockPrice.multiply(orderItems.getStorageInQuantity()));
|
|
|
+ costAmount = costAmount.add(orderItems.getPurchasePrice().multiply(orderItems.getStorageInQuantity()));
|
|
|
grossProfit = grossProfit.add(new BigDecimal("0.00"));
|
|
|
|
|
|
}
|