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); }