|
@@ -476,13 +476,16 @@ public class SalesOrderController {
|
|
|
HttpRespMsg msg=new HttpRespMsg();
|
|
|
SalesOrderPayment payment = salesOrderPaymentService.getById(paymentId);
|
|
|
SalesOrder salesOrder = salesOrderService.getById(payment.getOrderId());
|
|
|
+ List<SalesOrderPayment> list = salesOrderPaymentService.list(new LambdaQueryWrapper<SalesOrderPayment>().eq(SalesOrderPayment::getOrderId, salesOrder.getId()).orderByDesc(SalesOrderPayment::getCreateTime));
|
|
|
+ int i = list.indexOf(payment);
|
|
|
if(money!=null){
|
|
|
//找到原回款数据
|
|
|
BigDecimal nowMoney = new BigDecimal(money);
|
|
|
BigDecimal oldMoney = payment.getMoney();
|
|
|
- nowMoney=nowMoney.subtract(oldMoney);
|
|
|
- BigDecimal unReceivedPayment = payment.getUnReceivedPayment();
|
|
|
- unReceivedPayment=unReceivedPayment.add(nowMoney);
|
|
|
+ //离当前回款数据最近一次回款的未回款数据作为依据
|
|
|
+ SalesOrderPayment salesOrderPayment = list.get(i + 1);
|
|
|
+ BigDecimal unReceivedPayment = salesOrderPayment.getUnReceivedPayment();
|
|
|
+ unReceivedPayment=unReceivedPayment.subtract(nowMoney);
|
|
|
payment.setMoney(new BigDecimal(money));
|
|
|
payment.setUnReceivedPayment(unReceivedPayment);
|
|
|
if(!salesOrderPaymentService.updateById(payment)){
|