KpiController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Services\UserService;
  4. use Illuminate\Database\Eloquent\Builder;
  5. use Illuminate\Database\Eloquent\Collection;
  6. use Illuminate\Http\Request;
  7. class KpiController extends Controller
  8. {
  9. public function monthIndex(Request $request)
  10. {
  11. return view('kpi.month.index');
  12. }
  13. public function dayIndex(Request $request)
  14. {
  15. return view('kpi.day.index');
  16. }
  17. public function dayDetailIndex()
  18. {
  19. return view('kpi.dayDetail.index');
  20. }
  21. public function dayDetailCustomer()
  22. {
  23. $owners = $this->getOwners();
  24. return view('kpi.dayDetailCustomer.index', compact('owners'));
  25. }
  26. public function workCoefficientDayStatIndex()
  27. {
  28. $userWorkgroups = \App\UserWorkgroup::query()->select(["id", "name"])->get();
  29. return view('kpi.workCoefficientDayStat.index', compact('userWorkgroups'));
  30. }
  31. public function ownerPcsReport()
  32. {
  33. $ownerCodes = $this->getOwners()->pluck('code');
  34. return view('kpi.ownerPcsReport.index', compact('ownerCodes'));
  35. }
  36. /**
  37. * @return Builder[]|Collection
  38. */
  39. public function getOwners()
  40. {
  41. /** @var UserService $userService */
  42. $userService = app('UserService');
  43. $ownerIds = $userService->getPermittingOwnerIds(auth()->user());
  44. $owners = \App\Owner::query()->select(['id', 'name', 'code'])->whereIn('id', $ownerIds)->get();
  45. return $owners;
  46. }
  47. }