From a2e6e79eb1f47b30934756677f5d61c0e0f6c447 Mon Sep 17 00:00:00 2001 From: lq Date: Wed, 30 Oct 2024 10:57:48 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=B8=AD=E6=8A=8A=E6=8C=89?= =?UTF-8?q?=E5=91=A8=E6=9F=A5=E7=9C=8B=E6=94=B9=E4=B8=BA=E6=8C=89=E6=97=A5?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/controllers/base/FinanceController.php | 54 ++++++++++++-------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/admin/controllers/base/FinanceController.php b/admin/controllers/base/FinanceController.php index 0feea3d..e5bdd42 100644 --- a/admin/controllers/base/FinanceController.php +++ b/admin/controllers/base/FinanceController.php @@ -549,12 +549,14 @@ class FinanceController extends BaseAdminController $timeType = \Yii::$app->request->get('time_type'); $month = []; $week = []; + $day = []; switch ($timeType) { case 1: $startTime = strtotime(date('Y-m-1 00:00:00')); $endTime = strtotime(date('Y-m-d H:i:s')); $week = $this->getWeekList($startTime, $endTime); + $day = $this->getDayList($startTime, $endTime); break; case 2: $startTime = strtotime(date('Y-1-1 00:00:00')); @@ -577,15 +579,16 @@ class FinanceController extends BaseAdminController throw new Exception('参数错误'); } $where = $this->getFinanceWhere($role, $admin); - $result = $this->getSleMoney($startTime, $endTime, $month, $week, $where); + $result = $this->getSleMoney($startTime, $endTime, $month, $week, $day, $where); - $year = date('Y'); - $week = array_map(function ($v) use($year) { - return $year.'-第' . $v . '周'; - }, $week); +// $year = date('Y'); +// $week = array_map(function ($v) use($year) { +// return $year.'-第' . $v . '周'; +// }, $week); return [ 'line' => [ - 'month' => !empty($month) ? $month : $week, +// 'month' => !empty($month) ? $month : $week, + 'month' => !empty($month) ? $month : $day, 'sale_money' => $result['sale_money'], 'legend' => $result['line_legend'], // 'buy_money' => $result['buy_money'], @@ -607,18 +610,6 @@ class FinanceController extends BaseAdminController */ public function getFinanceWhere($role, $admin) { -// $role = UserRoleEnum::SUPPLY; -// $admin->store_id = 2; -// $admin->province_id = 14; -// $admin->city_id = 1225; -// // F920I5RQ -// // AIV1W807 -// // X74G8Q5U -// // AIV1W807 -// // 6TXQ576X -// // F920I5RQ -// // U5v7s3b9 -// $admin->code = 'AIV1W807'; $where = []; switch ($role) { case UserRoleEnum::SUPER_ADMIN: @@ -661,10 +652,11 @@ class FinanceController extends BaseAdminController * @param $endTime * @param $month * @param $week + * @param $day * @param array $where * @return array[] */ - public function getSleMoney($startTime, $endTime, $month, $week, $where = []) + public function getSleMoney($startTime, $endTime, $month, $week, $day, $where = []) { // 根据$month列表的月份统计数据 $query = Reconciliation::find()->where(['between', 'created_at', $startTime, $endTime])->andWhere(['status' => 1])->select([ @@ -695,8 +687,10 @@ class FinanceController extends BaseAdminController // TODO 暂时不统计供货价 // $buyMoney = []; // 判断获取时间方法 - $dateStr = !empty($week) ? 'W' : 'Y-m'; - $dateArr = !empty($week) ? $week : $month; +// $dateStr = !empty($week) ? 'W' : 'Y-m'; +// $dateArr = !empty($week) ? $week : $month; + $dateStr = !empty($day) ? 'm-d' : 'Y-m'; + $dateArr = !empty($day) ? $day : $month; foreach ($model as $v) { $thisMonth = date($dateStr, $v['created_at']); @@ -873,4 +867,22 @@ class FinanceController extends BaseAdminController } return $weeks; } + + /** + * 获取选中的时间段有几周 + * + * @param $startTime + * @param $endTime + * @return array + */ + public function getDayList($startTime, $endTime) + { + $weeks = []; + $currentTime = $startTime; + while ($currentTime <= $endTime) { + $weeks[] = date('m-d', $currentTime); + $currentTime = strtotime('+1 day', $currentTime); + } + return $weeks; + } } \ No newline at end of file