소스 검색

零售的今日收入与昨日收入要与批发保持一致

shizhongqi 9 달 전
부모
커밋
2c679e49c5
1개의 변경된 파일64개의 추가작업 그리고 34개의 파일을 삭제
  1. 64 34
      app-hd/controllers/ConsoleController.php

+ 64 - 34
app-hd/controllers/ConsoleController.php

@@ -2,6 +2,7 @@
 
 namespace hd\controllers;
 
+use bizGhs\stat\classes\StatSaleClass;
 use bizHd\custom\classes\CustomClass;
 use bizHd\goods\classes\GoodsClass;
 use bizHd\order\classes\OrderClass;
@@ -113,22 +114,35 @@ class ConsoleController extends BaseController
                 $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
                 $orderCount = OrderClass::getCount($where);
 
-                $lsIncome = 0;
-                $hdOrderList = OrderClass::getAllByCondition($where, null, 'mainPay, forward, cash');
-                foreach ($hdOrderList as $hdKey => $hdOrder) {
-                    $actPrice = $hdOrder['mainPay'] ?? 0;
-                    $forward = $hdOrder['forward'] ?? 0;
-
-                    if ($forward == 1) { //零售售后付款
-                        // $lsAfterSale = bcadd($lsAfterSale, $actPrice, 2);
-                    } else {
-                        $cash = $hdOrder['cash'] ?? 0;
-                        $lsIncome = bcadd($actPrice, $lsIncome, 2);
-                        $lsIncome = bcadd($lsIncome, $cash, 2);
+                // $lsIncome = 0;
+                // $hdOrderList = OrderClass::getAllByCondition($where, null, 'mainPay, forward, cash');
+                // foreach ($hdOrderList as $hdKey => $hdOrder) {
+                //     $actPrice = $hdOrder['mainPay'] ?? 0;
+                //     $forward = $hdOrder['forward'] ?? 0;
+
+                //     if ($forward == 1) { //零售售后付款
+                //         // $lsAfterSale = bcadd($lsAfterSale, $actPrice, 2);
+                //     } else {
+                //         $cash = $hdOrder['cash'] ?? 0;
+                //         $lsIncome = bcadd($actPrice, $lsIncome, 2);
+                //         $lsIncome = bcadd($lsIncome, $cash, 2);
+                //     }
+                // }
+                $mainId = $this->mainId;
+                $respond = StatSaleClass::profile($mainId);
+                $incomeList = $respond['income'] ?? [];
+                $todaySale = 0;
+                if (!empty($incomeList)) {
+                    //这里有二个地方同时要修改,请搜索关键词:index_show_income
+                    foreach ($incomeList as $item) {
+                        if (isset($item['id']) && $item['id'] == 'allot') {
+                            continue;
+                        }
+                        $todaySale = bcadd($todaySale, $item['amount'], 2);
                     }
                 }
                 $cacheData = [
-                    'lsIncome' => $lsIncome,
+                    'lsIncome' => $todaySale,
                     'orderCount' => $orderCount,
                 ];
                 \Yii::$app->redis->executeCommand('SETEX', [$cacheKey, 1800, json_encode($cacheData, JSON_UNESCAPED_UNICODE)]);
@@ -141,30 +155,46 @@ class ConsoleController extends BaseController
                 $cacheData = json_decode($cache, true);
                 $yesterdayIncome = $cacheData['yesterdayIncome'];
             } else {
-                $period = dateUtil::formatTime('yesterday', '', '', true);
-                $start = $period['startTime'];
-                $end = $period['endTime'];
-                $currentStartDate = date('Y-m-d', strtotime($start));
-                $currentEndDate = date('Y-m-d', strtotime($end));
-                $currentStartTime = $currentStartDate . ' 00:00:00';
-                $currentEndTime = $currentEndDate . ' 23:59:59';
-                $where['time'] = ['between', [$start, $end]];
-                $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-                $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+                // $period = dateUtil::formatTime('yesterday', '', '', true);
+                // $start = $period['startTime'];
+                // $end = $period['endTime'];
+                // $currentStartDate = date('Y-m-d', strtotime($start));
+                // $currentEndDate = date('Y-m-d', strtotime($end));
+                // $currentStartTime = $currentStartDate . ' 00:00:00';
+                // $currentEndTime = $currentEndDate . ' 23:59:59';
+                // $where['time'] = ['between', [$start, $end]];
+                // $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
+                // $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+                // $yesterdayIncome = 0;
+                // $hdOrderList = OrderClass::getAllByCondition($where, null, 'mainPay, forward, cash');
+                // foreach ($hdOrderList as $hdKey => $hdOrder) {
+                //     $actPrice = $hdOrder['mainPay'] ?? 0;
+                //     $forward = $hdOrder['forward'] ?? 0;
+
+                //     if ($forward == 1) { //零售售后付款
+                //         // $lsAfterSale = bcadd($lsAfterSale, $actPrice, 2);
+                //     } else {
+                //         $cash = $hdOrder['cash'] ?? 0;
+                //         $yesterdayIncome = bcadd($actPrice, $yesterdayIncome, 2);
+                //         $yesterdayIncome = bcadd($yesterdayIncome, $cash, 2);
+                //     }
+                // }
+
+                $mainId = $this->mainId;
+                $_GET['searchTime'] = 'yesterday'; // 必须要有的,让其获取昨天的收入
+                $respond = StatSaleClass::profile($mainId);
+                $incomeList = $respond['income'] ?? [];
                 $yesterdayIncome = 0;
-                $hdOrderList = OrderClass::getAllByCondition($where, null, 'mainPay, forward, cash');
-                foreach ($hdOrderList as $hdKey => $hdOrder) {
-                    $actPrice = $hdOrder['mainPay'] ?? 0;
-                    $forward = $hdOrder['forward'] ?? 0;
-
-                    if ($forward == 1) { //零售售后付款
-                        // $lsAfterSale = bcadd($lsAfterSale, $actPrice, 2);
-                    } else {
-                        $cash = $hdOrder['cash'] ?? 0;
-                        $yesterdayIncome = bcadd($actPrice, $yesterdayIncome, 2);
-                        $yesterdayIncome = bcadd($yesterdayIncome, $cash, 2);
+                if (!empty($incomeList)) {
+                    //这里有二个地方同时要修改,请搜索关键词:index_show_income
+                    foreach ($incomeList as $item) {
+                        if (isset($item['id']) && $item['id'] == 'allot') {
+                            continue;
+                        }
+                        $yesterdayIncome = bcadd($yesterdayIncome, $item['amount'], 2);
                     }
                 }
+
                 $cacheData = [
                     'yesterdayIncome' => $yesterdayIncome,
                 ];