Просмотр исходного кода

供货商、零售商欠款修改

sorry 5 лет назад
Родитель
Сommit
c845da6b73

+ 6 - 1
app-ghs/controllers/OrderClearController.php

@@ -19,8 +19,13 @@ class OrderClearController extends BaseController
 		}
 		$connection = Yii::$app->db;
 		$transaction = $connection->beginTransaction();
+		$data = [
+			'customId' => $customId,
+			'ghsShopAdminId' => $this->shopAdminId,
+			'ghsShopAdminName' => $this->shopAdmin['name'],
+		];
 		try {
-			OrderClearClass::clear($customId, $id, $this->sjId);
+			OrderClearClass::clear($data, $id, $this->sjId);
 			$transaction->commit();
 		} catch (\Exception $exception) {
 			$transaction->rollBack();

+ 19 - 5
biz-ghs/order/classes/OrderClearClass.php

@@ -2,6 +2,7 @@
 
 namespace bizGhs\order\classes;
 
+use biz\ghs\classes\GhsClass;
 use bizGhs\product\classes\ProductClass;
 use biz\sj\classes\MerchantAssetClass;
 use bizGhs\admin\classes\AdminClass;
@@ -21,8 +22,9 @@ class OrderClearClass extends BaseClass
 	public static $baseFile = '\bizGhs\order\models\OrderClear';
 	
 	//订单结算 ssh 2021.3.14
-	public static function clear($customId, $idText, $sjId)
+	public static function clear($post, $idText, $sjId)
 	{
+		$customId = $post['customId'];
 		$data = json_decode($idText, true);
 		$ids = array_column($data, 'id');
 		if (empty($ids)) {
@@ -51,7 +53,10 @@ class OrderClearClass extends BaseClass
 			util::fail('客户欠款金额有问题');
 		}
 		$remain = bcsub($debtAmount, $amount, 2);
-		$updateData = ['debtAmount' => $remain];
+		$updateData = [
+			'debtAmount' => $remain,
+			'debtNum' => bcsub($custom['debtNum'], count($list)),
+		];
 		if ($remain == 0.00) {
 			$updateData['isDebt'] = 0;
 		}
@@ -60,6 +65,9 @@ class OrderClearClass extends BaseClass
 		$clearData = [
 			'prePrice' => $amount,
 			'actPrice' => $amount,
+			'ghsId' => $custom['ghsId'],
+			'ghsShopAdminId' => $post['ghsShopAdminId'],
+			'ghsShopAdminName' => $post['ghsShopAdminName'],
 			'sjId' => $sjId,
 			'orderSn' => $orderSn,
 			'saleIds' => implode(',', $ids),
@@ -74,6 +82,12 @@ class OrderClearClass extends BaseClass
 		OrderClass::updateByIds($ids, ['debt' => 0, 'clearId' => $clearId]);
 		// 采购商状态修改
 		PurchaseClass::updateByIds(array_column($list, 'purchaseId'), ['debt' => 2, 'clearId' => $clearId]);
-	}
-
-}
+        //供货商欠款变更
+        GhsClass::counters(['debtAmount' => -$amount, 'debtNum' => -count($list)], ['id' => $custom['ghsId']]);
+        // 更新欠款状态
+        GhsClass::updateByCondition([
+            'id' => $custom['ghsId'],
+            'debtAmount' => '0.00'
+        ], ['debt' => 1]);
+    }
+}

+ 12 - 0
biz-hd/purchase/classes/PurchaseClearClass.php

@@ -3,6 +3,7 @@
 namespace bizHd\purchase\classes;
 
 use biz\ghs\classes\GhsClass;
+use bizGhs\custom\classes\CustomClass;
 use bizGhs\order\classes\OrderClass;
 use bizGhs\order\classes\OrderClearClass;
 use bizHd\base\classes\BaseClass;
@@ -86,6 +87,7 @@ class PurchaseClearClass extends BaseClass
         $ghs = GhsClass::getById($ghsId, true);
         $ghs->debtAmount = bcsub($ghs->debtAmount, $order->actPrice, 2);
         $ghs->debtNum -= count($arr);
+        $ghs->debt = $ghs->debtAmount > 0 ? 2 : 1;
         $ghs->save();
 
 
@@ -111,5 +113,15 @@ class PurchaseClearClass extends BaseClass
         }
         // 供货商状态变化
         OrderClass::updateByIds($saleIds, ['debt' => 0, 'payWay' => $payWay, 'clearId' => $clearId]);
+        // 采购商欠款信息变化
+        CustomClass::counters([
+            'debtAmount' => -$order->actPrice,
+            'debtNum' => -count($list)
+        ], ['id' => $ghs->customId]);
+        // 更新欠款状态
+        CustomClass::updateByCondition([
+            'id' => $ghs->customId,
+            'debtAmount' => '0.00'
+        ], ['isDebt' => 0]);
     }
 }