shish 1 жил өмнө
parent
commit
7bad63e9b3

+ 39 - 0
app-hd/controllers/SettleController.php

@@ -17,6 +17,45 @@ class SettleController extends BaseController
 
     public $guestAccess = [];
 
+    //取消结账单 ssh 20250714
+    public function actionCancelSettle()
+    {
+        util::fail('开发中');
+    }
+
+    public function actionGetDetail()
+    {
+        $id = Yii::$app->request->get('id', '');
+        $settle = SettleClass::getById($id);
+        if ($settle['mainId'] != $this->mainId) {
+            util::fail('不是你的账单');
+        }
+        $respond = SettleClass::getMyDetail($settle);
+        util::success($respond);
+    }
+
+    public function actionGetList()
+    {
+        $get = Yii::$app->request->get();
+        $where = [];
+        if (isset($get['status']) && is_numeric($get['status'])) {
+            $where['status'] = $get['status'];
+        }
+        $customId = $get['customId'] ?? 0;
+        if (!empty($customId)) {
+            $custom = CustomClass::getById($customId, true);
+            if ($custom->shopId != $this->shopId) {
+                util::fail('不是你的客户');
+            }
+            $where['customId'] = $customId;
+        }
+        $where['shopId'] = $this->shopId;
+        $list = SettleClass::getMySettleList($where);
+        $totalAmount = SettleClass::sum(['shopId' => $this->shopId, 'status' => 2, 'customId' => $customId], 'actPrice');
+        $list['totalAmount'] = floatval($totalAmount);
+        util::success($list);
+    }
+
     //结清尾款 ssh 20220708
     public function actionConfirmSettle()
     {

+ 25 - 0
biz-hd/order/classes/SettleClass.php

@@ -7,6 +7,7 @@ use bizHd\shop\classes\MainClass;
 use bizHd\shop\classes\ShopMoneyChangeClass;
 use bizHd\work\classes\WorkClass;
 use common\components\dict;
+use common\components\imgUtil;
 use common\components\orderSn;
 use common\components\util;
 use Yii;
@@ -17,6 +18,30 @@ class SettleClass extends BaseClass
 
     public static $baseFile = '\bizHd\order\models\Settle';
 
+    public static function getMyDetail($settle)
+    {
+        $settleId = $settle['id'];
+        $osList = OrderSettleClass::getAllByCondition(['settleId' => $settleId], null, '*', null, true);
+        $ids = [];
+        if (!empty($osList)) {
+            foreach ($osList as $os) {
+                $ids[] = $os->orderId;
+            }
+        }
+        if (empty($ids)) {
+            util::fail('结账单空的');
+        }
+        $orderList = OrderClass::getAllByCondition(['id' => ['in', $ids]], null, '*');
+        $settle['orderNum'] = count($ids);
+        $settle['orderList'] = $orderList;
+        return $settle;
+    }
+
+    public static function getMySettleList($where)
+    {
+        return self::getList('*', $where, 'addTime DESC');
+    }
+
     //$side 0 表示花店创建结账单,1客户创建结账单,二者区别有花店有带$staff信息,客户没有
     //$params 预留参数
     public static function addSettle($orderData, $shop, $custom, $hd, $params = [])