|
|
@@ -130,11 +130,14 @@ class PurchaseClearClass extends BaseClass
|
|
|
if (empty($ghs)) {
|
|
|
util::fail('没有找到供应商信息');
|
|
|
}
|
|
|
- $currentAmount = bcsub($ghs->debtAmount, $order->actPrice, 2);
|
|
|
- $ghs->debtAmount = $currentAmount;
|
|
|
- $ghs->debtNum -= count($arr);
|
|
|
- $ghs->debt = $currentAmount > 0 ? 2 : 1;
|
|
|
- $ghs->save();
|
|
|
+
|
|
|
+ $customId = $ghs->customId;
|
|
|
+ $custom = CustomClass::getLockById($customId);
|
|
|
+ if (empty($custom)) {
|
|
|
+ util::fail('没有找到客户信息');
|
|
|
+ }
|
|
|
+
|
|
|
+ \bizHd\ghs\classes\GhsClass::clearDebtAmountReduce($ghs, $custom, $amount, $clear);
|
|
|
|
|
|
$shopId = $ghs->shopId;
|
|
|
$shop = ShopClass::getLockById($shopId);
|
|
|
@@ -172,34 +175,8 @@ class PurchaseClearClass extends BaseClass
|
|
|
//销售单状态变化
|
|
|
OrderClass::updateByIds($saleIds, ['debt' => OrderClass::DEBT_NO, 'clearId' => $clearId]);
|
|
|
|
|
|
- //供应商的客户欠款变化
|
|
|
- $customId = $ghs->customId;
|
|
|
- $custom = CustomClass::getLockById($customId);
|
|
|
- if (empty($custom)) {
|
|
|
- util::fail('没有找到客户信息');
|
|
|
- }
|
|
|
- $remain = bcsub($custom->debtAmount, $order->actPrice, 2);
|
|
|
- $custom->debtAmount = $remain;
|
|
|
- $custom->debtNum -= count($arr);
|
|
|
- $custom->isDebt = $remain > 0 ? 1 : 0;
|
|
|
- $custom->save();
|
|
|
- if ($custom->debtNum == 0) {
|
|
|
- $shop->mayGatheringNum -= 1;
|
|
|
- $shop->save();
|
|
|
- }
|
|
|
-
|
|
|
- //客户门店应付供应商款减少
|
|
|
- $customShopId = $custom->shopId;
|
|
|
- $customShop = ShopClass::getLockById($customShopId);
|
|
|
- if (empty($customShop)) {
|
|
|
- util::fail('没有找到客户门店');
|
|
|
- }
|
|
|
- $currentMayPay = bcsub($customShop->mayPay, $order->actPrice, 2);
|
|
|
- $customShop->mayPay = $currentMayPay;
|
|
|
- if ($ghs->debtNum == 0) {
|
|
|
- $customShop->mayPayNum -= 1;
|
|
|
- }
|
|
|
- $customShop->save();
|
|
|
+ //客户付供应商款减少
|
|
|
+ CustomClass::clearDebtAmountReduce($custom, $ghs, $order->actPrice, $order);
|
|
|
|
|
|
if (isset($order->customShopAdminId) && !empty($order->customShopAdminId)) {
|
|
|
WxMessageClass::clearInform($shop, $order, $custom);
|