Răsfoiți Sursa

清算操作

shish 5 ani în urmă
părinte
comite
47a3e81d9c

+ 33 - 1
biz-hd/purchase/classes/PurchaseClearClass.php

@@ -3,9 +3,12 @@
 namespace bizHd\purchase\classes;
 
 use biz\ghs\classes\GhsClass;
+use biz\shop\classes\ShopClass;
+use biz\shop\classes\ShopYeChangeClass;
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\order\classes\OrderClass;
 use bizHd\base\classes\BaseClass;
+use common\components\dict;
 use common\components\orderSn;
 use common\components\util;
 use Yii;
@@ -101,6 +104,34 @@ class PurchaseClearClass extends BaseClass
         $ghs->debt = $currentAmount > 0 ? 2 : 1;
         $ghs->save();
 
+        //供货商的门店余额增加
+        $shopId = $ghs->shopId;
+        $shop = ShopClass::getLockById($shopId);
+        if (empty($shop)) {
+            util::fail('没有找到门店');
+        }
+        $balance = bcadd($shop->balance, $order->actPrice, 2);
+        $txBalance = bcadd($shop->txBalance, $order->actPrice, 2);
+        $shop->balance = $balance;
+        $shop->txBalance = $txBalance;
+        $shop->save();
+
+        $capitalType = dict::getDict('capitalType', 'hdPurchaseClear', 'id');
+        $change = [
+            'relateId' => $clearId,
+            'capitalType' => $capitalType,
+            'amount' => $order->actPrice,
+            'balance' => $balance,
+            'txBalance' => $txBalance,
+            'io' => 1,
+            'payWay' => $order->payWay,
+            'event' => "欠款单结清(订单:{$order->orderSn})",
+            'sjId' => $order->sjId,
+            'shopId' => $order->shopId,
+            'tx' => ShopYeChangeClass::TX_CAN,
+        ];
+        ShopYeChangeClass::addChange($change, true);
+
         if (empty($arr)) {
             $msg = "结算订单 orderSn:{$orderSn} 支付成功,回调处理,没有找到采购订单";
             util::fail($msg);
@@ -123,7 +154,7 @@ class PurchaseClearClass extends BaseClass
         //销售单状态变化
         OrderClass::updateByIds($saleIds, ['debt' => OrderClass::DEBT_NO, 'clearId' => $clearId]);
 
-        //客户欠款变化
+        //供货商的客户欠款变化
         $customId = $ghs->customId;
         $custom = CustomClass::getLockById($customId);
         if (empty($custom)) {
@@ -135,4 +166,5 @@ class PurchaseClearClass extends BaseClass
         $custom->isDebt = $remain > 0 ? 1 : 0;
         $custom->save();
     }
+
 }

+ 4 - 2
biz-hd/purchase/services/PurchaseService.php

@@ -2,7 +2,9 @@
 
 namespace bizHd\purchase\services;
 
+use biz\ghs\classes\GhsClass;
 use biz\ghs\models\Ghs;
+use biz\shop\classes\ShopClass;
 use biz\shop\classes\ShopCouponClass;
 use biz\shop\models\Shop;
 use bizGhs\custom\classes\CustomClass;
@@ -227,7 +229,7 @@ class PurchaseService extends BaseService
 
         /**零售门店资产变化**/
         $shopId = $info['shopId'] ?? 0;
-        $shop = Shop::findBySql('select * from ' . Shop::tableName() . ' where id = :id for update', ['id' => $shopId])->one();
+        $shop = ShopClass::getLockById($shopId);
         if (empty($shop)) {
             util::fail('没有找到门店');
         }
@@ -253,7 +255,7 @@ class PurchaseService extends BaseService
 
         /**零售的供货商资产变化**/
         $ghsId = $info->ghsId ?? 0;
-        $ghs = Ghs::findBySql('select * from ' . Ghs::tableName() . ' where id = :id for update', ['id' => $ghsId])->one();
+        $ghs = GhsClass::getLockById($ghsId);
         if (empty($ghs)) {
             util::fail('没有找到供货商');
         }

+ 21 - 0
biz/shop/classes/ShopYeChangeClass.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace biz\shop\classes;
+
+use Yii;
+use biz\base\classes\BaseClass;
+
+class ShopYeChangeClass extends BaseClass
+{
+
+    public static $baseFile = '\biz\shop\models\ShopYeChange';
+
+    const TX_CAN_NOT = 1;
+    const TX_CAN = 2;
+
+    public static function addChange($change, $returnObj = false)
+    {
+        return self::add($change, $returnObj);
+    }
+
+}

+ 13 - 0
biz/shop/models/ShopYeChange.php

@@ -0,0 +1,13 @@
+<?php
+namespace biz\shop\models;
+use biz\base\models\Base;
+
+class ShopYeChange extends Base
+{
+
+	public static function tableName()
+	{
+		return 'xhShopYeChange';
+	}
+
+}

+ 13 - 0
biz/shop/services/ShopYeChangeService.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace biz\shop\services;
+
+use biz\base\services\BaseService;
+use Yii;
+
+class ShopYeChangeService extends BaseService
+{
+
+    public static $baseFile = '\biz\shop\classes\ShopYeChangeClass';
+
+}