shish 5 лет назад
Родитель
Сommit
e9bb4cee5b
2 измененных файлов с 57 добавлено и 5 удалено
  1. 4 5
      app-ghs/controllers/ConsoleController.php
  2. 53 0
      console/controllers/SaleController.php

+ 4 - 5
app-ghs/controllers/ConsoleController.php

@@ -2,6 +2,7 @@
 
 namespace ghs\controllers;
 
+use biz\stat\classes\StatSaleClass;
 use biz\stat\classes\StatStockOutClass;
 use biz\stat\services\StatOutService;
 use bizHd\stat\classes\StatViewClass;
@@ -29,10 +30,8 @@ class ConsoleController extends BaseController
         $customNum = isset($userData['riseUserNum']) ? $userData['riseUserNum'] : 0;
 
         //今天总收入-出库收入= 营业收入
-        $incomeData = StatIncomeService::getTodayNum($this->shopId);
-        $todayIncome = isset($incomeData['amount']) ? $incomeData['amount'] : 0.00;
-        $stockOutAmount = StatStockOutClass::getTodayAmount($this->shop);
-        $todayIncome = bcsub($todayIncome, $stockOutAmount, 2);
+        $sale = StatSaleClass::getByCondition(['shopId' => $this->shopId, 'time' => date('Ymd')]);
+        $todaySale = $sale['amount'] ?? 0;
 
         //2021.4.14 linqh 今日支出
         $outData = StatOutService::getTodayNum($this->shopId);
@@ -42,7 +41,7 @@ class ConsoleController extends BaseController
         $orderNum = $statOrder['riseNum'] ?? 0;
         $view = StatViewClass::getByCondition(['shopId' => $this->shopId, 'time' => date('Ymd')]);
         $viewNum = $view['riseNum'] ?? 0;
-        $todayData = ['income' => $todayIncome, 'order' => $orderNum, 'custom' => $customNum, 'expend' => $todayOut, 'view' => $viewNum];
+        $todayData = ['income' => $todaySale, 'order' => $orderNum, 'custom' => $customNum, 'expend' => $todayOut, 'view' => $viewNum];
 
         $incomeStat = [];
         if (httpUtil::isMiniProgram() == false) {

+ 53 - 0
console/controllers/SaleController.php

@@ -0,0 +1,53 @@
+<?php
+
+namespace console\controllers;
+
+use biz\shop\classes\ShopClass;
+use biz\stat\classes\StatSaleClass;
+use bizGhs\order\classes\OrderClass;
+use yii\console\Controller;
+use Yii;
+
+class SaleController extends Controller
+{
+
+    //销售数据更新 ./yii sale/update
+    public function actionUpdate()
+    {
+        $list = OrderClass::getAllByCondition(['status' => ['in', [2, 3, 4]]], 'id asc', '*', null, true);
+        if (!empty($list)) {
+            foreach ($list as $item) {
+                $orderSn = $item->orderSn ?? '';
+                $shopId = $item->shopId ?? 0;
+                $addTime = $item->addTime ?? '';
+
+                $connection = Yii::$app->db;
+                $transaction = $connection->beginTransaction();
+
+                $actPrice = $item->actPrice ?? 0;
+
+                try {
+
+                    $shop = ShopClass::getLockById($shopId);
+                    if (empty($shop)) {
+                        echo '没有找到店铺 ' . $shopId . ' ' . $orderSn . "\n";
+                        continue;
+                    }
+                    $totalSale = bcadd($actPrice, $shop->totalSale, 2);
+                    $shop->totalSale = $totalSale;
+                    $shop->totalOrderNum += 1;
+                    $shop->save();
+                    $date = date("Ymd", strtotime($addTime));
+                    StatSaleClass::replace($shop, $actPrice, $date);
+                    $transaction->commit();
+
+                } catch (\Exception $e) {
+                    $transaction->rollBack();
+                    $msg = $e->getMessage();
+                    echo "报错了:" . $msg . "\n";
+                }
+            }
+        }
+    }
+
+}