|
|
@@ -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]);
|
|
|
+ }
|
|
|
+
|
|
|
}
|