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