Browse Source

Merge remote-tracking branch 'origin/master'

Guo1B0 10 months ago
parent
commit
5c53dbd596

+ 6 - 3
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/SalesOrderController.java

@@ -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)){