kpi统计图

This commit is contained in:
2025-09-17 17:29:31 +08:00
parent 2c1e4e35f3
commit 0adbfa30f7
@@ -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);
}