shish 2 years ago
parent
commit
ae077e6d7d
2 changed files with 59 additions and 0 deletions
  1. 54 0
      app-ghs/controllers/OrderController.php
  2. 5 0
      biz-ghs/order/classes/OrderClass.php

+ 54 - 0
app-ghs/controllers/OrderController.php

@@ -2071,4 +2071,58 @@ class OrderController extends BaseController
         util::complete('修改成功');
     }
 
+    //应收款统计 ssh 20240528
+    public function actionAccountList()
+    {
+        $get = Yii::$app->request->get();
+        $mainId = $this->mainId;
+        $export = $get['export'] ?? 0;
+        $debt = isset($get['debt']) && is_numeric($get['debt']) ? $get['debt'] : -1;
+        $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'];
+        $ghsList = GhsClass::getAllByCondition(['ownShopId' => $this->shopId], null, 'id,name', 'id');
+        $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 = ['mainId' => $mainId, 'status' => 4];
+        if ($debt > -1) {
+            $where['debt'] = $debt;
+        }
+        $where['entryTime'] = ['between', [$currentStartTime, $currentEndTime]];
+        $orderList = OrderClass::getAllByCondition($where, null, '*');
+        $list = [];
+        $totalAmount = 0;
+        if (!empty($orderList)) {
+            foreach ($orderList as $orderInfo) {
+                $actPrice = $orderInfo['actPrice'] ?? 0;
+                $customId = $orderInfo['customId'] ?? 0;
+                if (isset($list[$customId])) {
+                    $list[$customId]['amount'] = bcadd($list[$customId]['amount'], $actPrice, 2);
+                    $list[$customId]['num'] = bcadd($list[$customId]['num'], 1);
+                } else {
+                    $name = $ghsList[$customId] && $ghsList[$customId]['name'] ? $ghsList[$customId]['name'] : '未命名';
+                    $list[$customId] = ['id' => $customId, 'name' => $name, 'amount' => $actPrice, 'num' => 1];
+                }
+                $totalAmount = bcadd($totalAmount, $actPrice, 2);
+            }
+            $list = array_values($list);
+        }
+        if ($export == 1) {
+            if (empty($list)) {
+                util::fail('没有数据需要导出');
+            }
+            ini_set('memory_limit', '2045M');
+            set_time_limit(0);
+            OrderClass::exportAccountList($list, $mainId);
+            util::stop();
+        }
+        util::success(['list' => $list, 'totalAmount' => $totalAmount]);
+    }
+
 }

+ 5 - 0
biz-ghs/order/classes/OrderClass.php

@@ -2141,4 +2141,9 @@ XL;
         return ['imgFile' => $imgFile];
     }
 
+    public static function exportAccountList($list, $mainId)
+    {
+
+    }
+
 }