|
|
@ -305,6 +305,9 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep |
|
|
|
AsBusrepairInventorybillDetail detailUpdate = asBusrepairInventorybillDetailService.fetchBySid(sid); |
|
|
|
BigDecimal count = BigDecimal.ZERO; |
|
|
|
BigDecimal currentCount = BigDecimal.ZERO; |
|
|
|
BigDecimal discount = BigDecimal.ZERO;//折扣
|
|
|
|
BigDecimal cost = BigDecimal.ZERO;//成本单价
|
|
|
|
BigDecimal price = BigDecimal.ZERO;// 单价
|
|
|
|
if (null != detailUpdate) { |
|
|
|
if (null != detailUpdate.getCurrentCount()) { |
|
|
|
currentCount = detailUpdate.getCurrentCount(); |
|
|
@ -312,8 +315,22 @@ public class AsBusrepairInventorybillService extends MybatisBaseService<AsBusrep |
|
|
|
if (StringUtils.isNotBlank(sDto.getCount())) { |
|
|
|
count = new BigDecimal(sDto.getCount()); |
|
|
|
} |
|
|
|
if (null != detailUpdate.getDiscount()) { |
|
|
|
discount = new BigDecimal(detailUpdate.getDiscount()).multiply(new BigDecimal("0.1")); |
|
|
|
} |
|
|
|
if (null != detailUpdate.getPrice()) { |
|
|
|
price = detailUpdate.getPrice(); |
|
|
|
} |
|
|
|
if (null != detailUpdate.getCost()) { |
|
|
|
cost = detailUpdate.getCost(); |
|
|
|
} |
|
|
|
BigDecimal subtract = currentCount.subtract(count); |
|
|
|
detailUpdate.setCurrentCount(subtract); |
|
|
|
BigDecimal priceSubtract = subtract.multiply(price).multiply(discount); |
|
|
|
BigDecimal amountAll = price.multiply(subtract); |
|
|
|
detailUpdate.setDiscountAmount(amountAll.subtract(priceSubtract)); |
|
|
|
detailUpdate.setAmount(priceSubtract); |
|
|
|
detailUpdate.setCostTotal(subtract.multiply(cost)); |
|
|
|
asBusrepairInventorybillDetailService.updateById(detailUpdate); |
|
|
|
detail.setCurrentCount(subtract); |
|
|
|
if (StringUtils.isNotBlank(sDto.getReturnAmount())) { |
|
|
|