shish 4 лет назад
Родитель
Сommit
f75c37f1ff
2 измененных файлов с 40 добавлено и 20 удалено
  1. 22 7
      biz-ghs/stat/classes/StatKdClass.php
  2. 18 13
      biz-ghs/stat/classes/StatSaleClass.php

+ 22 - 7
biz-ghs/stat/classes/StatKdClass.php

@@ -5,10 +5,12 @@ namespace bizGhs\stat\classes;
 use biz\shop\classes\ShopAdminClass;
 use bizGhs\order\classes\OrderClass;
 use bizHd\order\classes\SettleClass;
+use common\components\dateUtil;
 use common\components\dict;
 use bizHd\order\classes\OrderClass as HdOrderClass;
 use bizGhs\clear\classes\ClearClass;
 use bizGhs\base\classes\BaseClass;
+use Yii;
 
 class StatKdClass extends BaseClass
 {
@@ -23,9 +25,21 @@ class StatKdClass extends BaseClass
 
         //批发开单 pf 零售开单 ls 批发结账 pfJz 零售尾款 lsWk
 
-        $todayDate = date('Y-m-d');
-        $todayStartTime = $todayDate . ' 00:00:00';
-        $todayEndTime = $todayDate . ' 23:59:59';
+
+        $get = Yii::$app->request->get();
+        $searchTime = isset($get['searchTime']) && !empty($get['searchTime']) ? $get['searchTime'] : 'today';
+        $startTime = $get['startTime'] ?? '';
+        $endTime = $get['endTime'] ?? '';
+        $period = dateUtil::formatTime($searchTime, $startTime, $endTime, 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';
+
         $staffList = ShopAdminClass::getAllByCondition(['mainId' => $mainId, 'isPt' => 0], null, '*', 'id', true);
         $kf = [];
         if (!empty($staffList)) {
@@ -126,7 +140,8 @@ class StatKdClass extends BaseClass
 
         //批发开单
         $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-        $where['payTime'] = ['between', [$todayStartTime, $todayEndTime]];
+        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+
         $ghsOrderList = OrderClass::getAllByCondition($where, null, '*');
         if (!empty($ghsOrderList)) {
             foreach ($ghsOrderList as $ghsKey => $ghsOrder) {
@@ -202,7 +217,7 @@ class StatKdClass extends BaseClass
 
         //零售开单
         $hdWhere = ['mainId' => $mainId, 'status' => ['in', [HdOrderClass::ORDER_STATUS_UN_SEND, HdOrderClass::ORDER_STATUS_SENDING, HdOrderClass::ORDER_STATUS_COMPLETE]]];
-        $hdWhere['payTime'] = ['between', [$todayStartTime, $todayEndTime]];
+        $hdWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
         $hdOrderList = HdOrderClass::getAllByCondition($hdWhere, null, '*');
         foreach ($hdOrderList as $hdKey => $hdOrder) {
             $payWay = $hdOrder['payWay'] ?? 0;
@@ -299,7 +314,7 @@ class StatKdClass extends BaseClass
 
         //批发结帐收入
         $clearWhere = ['ghsShopId' => $ghsShopId, 'status' => 2];
-        $clearWhere['payTime'] = ['between', [$todayStartTime, $todayEndTime]];
+        $clearWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
         $clearList = ClearClass::getAllByCondition($clearWhere, null, '*');
         if (!empty($clearList)) {
             foreach ($clearList as $cKey => $clear) {
@@ -365,7 +380,7 @@ class StatKdClass extends BaseClass
 
         //零售尾款收入
         $settleWhere = ['shopId' => $lsShopId, 'status' => 2];
-        $settleWhere['payTime'] = ['between', [$todayStartTime, $todayEndTime]];
+        $settleWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
         $settleList = SettleClass::getAllByCondition($settleWhere, null, '*');
 
         if (!empty($settleList)) {

+ 18 - 13
biz-ghs/stat/classes/StatSaleClass.php

@@ -27,13 +27,20 @@ class StatSaleClass extends BaseClass
         $get = Yii::$app->request->get();
         $where = [];
         $where['mainId'] = $mainId;
-        $searchTime = 'today';
-        if (!empty($searchTime)) {
-            $startTime = $get['startTime'] ?? '';
-            $endTime = $get['endTime'] ?? '';
-            $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true);
-            $where['time'] = ['between', [$period['startTime'], $period['endTime']]];
-        }
+        $searchTime = isset($get['searchTime']) && !empty($get['searchTime']) ? $get['searchTime'] : 'today';
+
+        $startTime = $get['startTime'] ?? '';
+        $endTime = $get['endTime'] ?? '';
+        $period = dateUtil::formatTime($searchTime, $startTime, $endTime, true);
+        $start = $period['startTime'];
+        $end = $period['endTime'];
+        $where['time'] = ['between', [$start, $end]];
+
+        $currentStartDate = date('Y-m-d', strtotime($start));
+        $currentEndDate = date('Y-m-d', strtotime($end));
+        $currentStartTime = $currentStartDate . ' 00:00:00';
+        $currentEndTime = $currentEndDate . ' 23:59:59';
+
         //出库
         $stockOut = StatStockOutClass::getSum($where);
         //采购入库
@@ -43,15 +50,13 @@ class StatSaleClass extends BaseClass
 
         $totalOrderNum = 0;
 
-        $todayDate = date('Y-m-d');
-        $todayStartTime = $todayDate . ' 00:00:00';
-        $todayEndTime = $todayDate . ' 23:59:59';
 
         //批发开单
         $pfIncome = 0;
         $pfSendCost = 0;
         $where = ['mainId' => $mainId, 'status' => ['in', [OrderClass::ORDER_STATUS_UN_SEND, OrderClass::ORDER_STATUS_SENDING, OrderClass::ORDER_STATUS_COMPLETE]]];
-        $where['payTime'] = ['between', [$todayStartTime, $todayEndTime]];
+        $where['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
+
         $ghsOrderList = OrderClass::getAllByCondition($where, null, '*');
         if (!empty($ghsOrderList)) {
             foreach ($ghsOrderList as $ghsKey => $ghsOrder) {
@@ -68,7 +73,7 @@ class StatSaleClass extends BaseClass
         $lsSendCost = 0;
         $lsServiceFee = 0;
         $hdWhere = ['mainId' => $mainId, 'status' => ['in', [HdOrderClass::ORDER_STATUS_UN_SEND, HdOrderClass::ORDER_STATUS_SENDING, HdOrderClass::ORDER_STATUS_COMPLETE]]];
-        $hdWhere['payTime'] = ['between', [$todayStartTime, $todayEndTime]];
+        $hdWhere['payTime'] = ['between', [$currentStartTime, $currentEndTime]];
         $hdOrderList = HdOrderClass::getAllByCondition($hdWhere, null, '*');
         foreach ($hdOrderList as $hdKey => $hdOrder) {
             $actPrice = $hdOrder['actPrice'] ?? 0;
@@ -80,7 +85,7 @@ class StatSaleClass extends BaseClass
             $totalOrderNum++;
         }
 
-        $condition = ['mainId' => $mainId, 'addTime' => ['between', [$todayStartTime, $todayEndTime]],];
+        $condition = ['mainId' => $mainId, 'addTime' => ['between', [$currentStartTime, $currentEndTime]],];
 
         $salary = 0;
         $salaryList = SalaryClass::getAllByCondition($condition, null, '*', null, true);