shish 4 лет назад
Родитель
Сommit
bb98dbd65e
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      biz-ghs/order/classes/OrderClearClass.php

+ 6 - 4
biz-ghs/order/classes/OrderClearClass.php

@@ -46,7 +46,7 @@ class OrderClearClass extends BaseClass
             if ($val['customId'] != $customId) {
                 util::fail('每次只能结算一个客户的订单');
             }
-            $amount = bcadd($amount, $val['realPrice'], 2);
+            $amount = bcadd($amount, $val['remainDebtPrice'], 2);
             $purchaseId = $val['purchaseId'] ?? 0;
             if (!empty($purchaseId)) {
                 $purchaseArr[] = $purchaseId;
@@ -68,7 +68,6 @@ class OrderClearClass extends BaseClass
             util::fail('没有找到供应商');
         }
 
-
         $orderSn = orderSn::getPurchaseClearSn();
         $payWay = $post['payWay'] ?? dict::getDict('payWay', 'wxPay');
         $clearData = [
@@ -101,6 +100,9 @@ class OrderClearClass extends BaseClass
             $clearData['discountAmount'] = bcsub($amount, $modifyPrice, 2);
             $clearData['discountType'] = dict::getDict('discountType', 'discount');
         }
+        if ($modifyPrice > $amount) {
+            util::fail('结账金额大于总欠款金额');
+        }
         $return = PurchaseClearClass::add($clearData, true);
         $clearId = $return->id;
 
@@ -108,9 +110,9 @@ class OrderClearClass extends BaseClass
         CustomClass::clearDebtAmountReduce($custom, $ghs, $amount, $return);
 
         // 销售单状态变更
-        OrderClass::updateByIds($ids, ['debt' => 0, 'clearId' => $clearId]);
+        OrderClass::updateByIds($ids, ['debt' => 0, 'clearId' => $clearId, 'remainDebtPrice' => 0]);
         // 采购单状态变更
-        PurchaseClass::updateByIds($purchaseArr, ['debt' => 2, 'clearId' => $clearId]);
+        PurchaseClass::updateByIds($purchaseArr, ['debt' => 2, 'clearId' => $clearId, 'remainDebtPrice' => 0]);
 
         //供应商结账欠款减少
         \bizHd\ghs\classes\GhsClass::clearDebtAmountReduce($ghs, $custom, $amount, $return);