Bladeren bron

历史应付

shish 2 jaren geleden
bovenliggende
commit
0256e52fcc

+ 2 - 2
app-ghs/controllers/CustomDebtChangeController.php

@@ -20,11 +20,11 @@ class CustomDebtChangeController extends BaseController
         $customId = $get['customId'] ?? 0;
         $endTime = $get['endTime']??'';
         if(empty($customId)){
-            util::fail('请选择客户');
+            util::success([]);
         }
         $custom = CustomClass::getById($customId);
         if(empty($custom)){
-            util::fail('请选择客户哈');
+            util::success([]);
         }
         CustomClass::valid($custom, $this->shopId);
         $where = [];

+ 11 - 9
app-ghs/controllers/GhsDebtRecordController.php

@@ -4,6 +4,7 @@ namespace ghs\controllers;
 
 use bizGhs\custom\classes\CustomClass;
 use bizGhs\custom\classes\CustomDebtChangeClass;
+use bizGhs\ghs\classes\GhsClass;
 use bizGhs\ghs\classes\GhsDebtRecordClass;
 use common\components\dict;
 use common\components\util;
@@ -18,24 +19,25 @@ class GhsDebtRecordController extends BaseController
     public function actionList()
     {
         $get = Yii::$app->request->get();
-        $customId = $get['customId'] ?? 0;
+        $ghsId = $get['ghsId'] ?? 0;
         $endTime = $get['endTime']??'';
-        if(empty($customId)){
-            util::fail('请选择客户');
+        if(empty($ghsId)){
+            util::success([]);
         }
-        $custom = CustomClass::getById($customId);
-        if(empty($custom)){
-            util::fail('请选择客户哈');
+        $ghs = GhsClass::getById($ghsId,true);
+        if(empty($ghs)){
+            util::success([]);
+        }
+        if($ghs->ownMainId != $this->mainId){
+            util::fail('不是你的供货商');
         }
-        CustomClass::valid($custom, $this->shopId);
         $where = [];
-        $where['customId'] = $customId;
+        $where['ghsId'] = $ghsId;
         if(!empty($endTime)){
             $time = bcadd(strtotime($endTime),86400);
             $endDate = date("Y-m-d 00:00:00",$time);
             $where['addTime<']=$endDate;
         }
-
         $list = GhsDebtRecordClass::getRecordList($where);
         util::success($list);
     }

+ 34 - 0
biz-ghs/cg/services/CgRefundService.php

@@ -5,6 +5,8 @@ namespace bizGhs\cg\services;
 use bizGhs\base\services\BaseService;
 use bizGhs\cg\classes\CgRefundClass;
 use bizGhs\cg\classes\CgRefundItemClass;
+use bizGhs\ghs\classes\GhsClass;
+use bizGhs\ghs\classes\GhsDebtRecordClass;
 use bizGhs\order\classes\PurchaseOrderItemClass;
 use bizGhs\product\classes\ProductClass;
 use common\components\dict;
@@ -109,6 +111,38 @@ class CgRefundService extends BaseService
         $data['refundPrice'] = $refundPrice;
         $data['refundType'] = $post['refundType'] ?? 0;
         $refund = CgRefundClass::add($data, true);
+
+        //锁定当前增加资产的运作,有多处,请搜索关键词 ghsAddDebtAction
+        $ghsId = $order->ghsId??0;
+        $ghs = GhsClass::getLockById($ghsId);
+        if (empty($ghs)) {
+            util::fail('没有找到供货商');
+        }
+        $ghsAddDebtKey = 'ghs_change_debt_' . $ghsId;
+        $lock = util::lock($ghsAddDebtKey);
+        if (!$lock) {
+            util::fail("系统繁忙,请重试");
+        }
+        $ghs->debtAmount = bcsub($ghs->debtAmount, $refundPrice, 2);
+        $ghs->save();
+
+        //减少欠款变动记录
+        $capitalType = dict::getDict('capitalType', 'ghsCgOrderRefund', 'id');
+        $debtData = [
+            'ghsId' => $ghsId,
+            'relateId' => $refund->id,
+            'ptStyle' => 2,
+            'capitalType' => $capitalType,
+            'amount' => $refundPrice,
+            'balance' => $ghs->debtAmount,
+            'io' => 0,
+            'event' => '采购单'.$order->orderSn.'售后 ' .$orderSn ,
+            'sjId' => $sjId,
+            'shopId' => $shopId,
+        ];
+        GhsDebtRecordClass::add($debtData);
+        util::unlock($ghsAddDebtKey);
+
         return $refund;
     }
 

+ 23 - 0
biz-ghs/clear/classes/ClearClass.php

@@ -7,6 +7,7 @@ use biz\shop\classes\ShopClass;
 use bizGhs\base\classes\BaseClass;
 use bizGhs\cg\classes\CgClass;
 use bizGhs\custom\classes\CustomClass;
+use bizGhs\ghs\classes\GhsDebtRecordClass;
 use bizGhs\order\classes\OrderClass;
 use bizGhs\order\classes\PurchaseOrderClass;
 use bizGhs\shop\classes\MainClass;
@@ -132,12 +133,34 @@ class ClearClass extends BaseClass
         if (empty($ghs)) {
             util::fail('没有找到供货商信息');
         }
+        $ghsAddDebtKey = 'ghs_change_debt_' . $ghsId;
+        $lock = util::lock($ghsAddDebtKey);
+        if (!$lock) {
+            util::fail("系统繁忙,请重试");
+        }
         $currentAmount = bcsub($ghs->debtAmount, $order->actPrice, 2);
         $ghs->debtAmount = $currentAmount;
         $ghs->debtNum -= count($arr);
         $ghs->debt = $currentAmount > 0 ? 2 : 1;
         $ghs->save();
 
+        //减少欠款变动记录
+        $capitalType = dict::getDict('capitalType', 'ghsCgOrderClear', 'id');
+        $debtData = [
+            'ghsId' => $ghsId,
+            'relateId' => $order->id,
+            'ptStyle' => 2,
+            'capitalType' => $capitalType,
+            'amount' => $order->actPrice,
+            'balance' => $ghs->debtAmount,
+            'io' => 0,
+            'event' => '采购单结账 ' .$order->orderSn ,
+            'sjId' => $order->sjId,
+            'shopId' => $order->shopId,
+        ];
+        GhsDebtRecordClass::add($debtData);
+        util::unlock($ghsAddDebtKey);
+
         $shopId = $ghs->shopId;
         $shop = ShopClass::getLockById($shopId);
         if (empty($shop)) {

+ 10 - 1
biz-ghs/order/classes/PurchaseOrderClass.php

@@ -447,6 +447,14 @@ class PurchaseOrderClass extends BaseClass
         if (empty($ghs)) {
             util::fail('没有找到供货商');
         }
+
+        //锁定当前增加资产的运作,有多处,请搜索关键词 ghsAddDebtAction
+        $ghsAddDebtKey = 'ghs_change_debt_' . $ghsId;
+        $lock = util::lock($ghsAddDebtKey);
+        if (!$lock) {
+            util::fail("系统繁忙,请重试");
+        }
+
         $ghs->debt = GhsClass::DEBT_YES;
         $ghs->debtAmount = bcadd($ghs->debtAmount, $currentPrice, 2);
 
@@ -465,11 +473,12 @@ class PurchaseOrderClass extends BaseClass
             'amount' => $currentPrice,
             'balance' => $ghs->debtAmount,
             'io' => 1,
-            'event' => '新增采购' . $orderSn,
+            'event' => '新增采购 ' . $orderSn,
             'sjId' => $sjId,
             'shopId' => $shopId,
         ];
         GhsDebtRecordClass::add($debtData);
+        util::unlock($ghsAddDebtKey);
 
         //采购统计
         $cgNum = $order->itemNum ?? 0;

+ 7 - 0
common/components/dict.php

@@ -355,6 +355,10 @@ class dict
             'customAskGhsUseBalanceClear' => ['id' => 65, 'name' => 'customAskGhsUseBalanceClear'],
             //客户主动向供货商充值
             'customRechargeToGhs' => ['id' => 66, 'name' => 'customRechargeToGhs'],
+            //供货商采购单售后
+            'ghsCgOrderRefund' => ['id' => 67, 'name' => 'ghsCgOrderRefund'],
+            //供货商采购单结账
+            'ghsCgOrderClear' => ['id' => 68, 'name' => 'ghsCgOrderClear'],
         ],
         "capitalTypeList" => [//流水类型的对应链接,后台收支明细查看时跳转的链接
             0 => ['link' => '/capital/order-detail', 'name' => '网店', 'orderLink' => '/order/detail', 'id' => 0,],
@@ -394,6 +398,9 @@ class dict
             64 => ['link' => '', 'name' => '结账', 'id' => 64,],
             65 => ['link' => '', 'name' => '结账', 'id' => 65,],
             66 => ['link' => '', 'name' => '充值', 'id' => 66,],
+            66 => ['link' => '', 'name' => '充值', 'id' => 66,],
+            67 => ['link' => '', 'name' => '采购单售后', 'id' => 67,],
+            68 => ['link' => '', 'name' => '采购单结账', 'id' => 68,],
         ],
 
         //用户来源