From 0adbfa30f71175a9ad051c060578d1ae278fe8dd Mon Sep 17 00:00:00 2001 From: "WIN-C27C5MSVTPO\\16961" <1696136552@qq.com> Date: Wed, 17 Sep 2025 17:29:31 +0800 Subject: [PATCH] =?UTF-8?q?kpi=E7=BB=9F=E8=AE=A1=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StatisticsController.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/app/admin/targets/controller/StatisticsController.php b/app/admin/targets/controller/StatisticsController.php index d032e2e..14745c0 100644 --- a/app/admin/targets/controller/StatisticsController.php +++ b/app/admin/targets/controller/StatisticsController.php @@ -74,16 +74,21 @@ class StatisticsController extends BaseController $ranking = SalesMonthlyTargets::select('corp_id', 'user_id', 'month', Db::raw('SUM(achieved) AS achieved')) ->where($where) ->groupBy('corp_id', 'user_id', 'month') + ->orderBy('user_id', 'asc') ->orderBy('month', 'asc') ->get(); $result = []; foreach ($ranking as $key => $value) { - $result[$value['user_id']]['month'][] = $value; - $ranking[$key]['corp_name'] = Corp::where(['id' => $value['corp_id']])->value('name'); - $ranking[$key]['user_name'] = User::where(['id' => $value['user_id']])->value('name'); + $result[$value['user_id']]['month'][$value['month']] = $value['achieved']; + $result[$value['user_id']]['user_id'] = $value['user_id']; + $result[$value['user_id']]['corp_id'] = $value['corp_id']; } foreach ($result as $key => $value) { - $result[$key]['user_name'] = User::where(['id' => $key])->value('name'); + for($i = 1; $i <= 12; $i++){ + $result[$key]['month'][$i] = $result[$key]['month'][$i]??0; + } + $result[$key]['corp_name'] = Corp::where(['id' => $value['corp_id']])->value('name'); + $result[$key]['user_name'] = User::where(['id' => $value['user_id']])->value('name'); } return $this->success($result); } @@ -115,7 +120,7 @@ class StatisticsController extends BaseController array_multisort($sort, SORT_DESC, SORT_NUMERIC, $achieved); foreach ($achieved as $key => $value) { - $achieved[$key]['progressh'] = $value['progressh'].'%'; + $achieved[$key]['progressh'] = $value['progressh']; } return $this->success($achieved); } @@ -140,7 +145,8 @@ class StatisticsController extends BaseController $achieved[$key]['corp_name'] = Corp::where(['id' => $value['corp_id']])->value('name'); $achieved[$key]['user_name'] = User::where(['id' => $value['user_id']])->value('name'); $target = SalesAnnualTargets::where(['user_id' => $value['user_id']])->value('annual_target'); - $achieved[$key]['annual_target'] = empty($target)?0:$target; + $achieved[$key]['annual_target'] = empty($target) ? 0 : $target; + $achieved[$key]['total'] = [intval($value['achieved']), $achieved[$key]['annual_target']]; } return $this->success($achieved); }