KpiController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. public function logisticsPunctuality()
  37. {
  38. return view('kpi.logisticsPunctuality.index');
  39. }
  40. /**
  41. * @return Builder[]|Collection
  42. */
  43. public function getOwners()
  44. {
  45. /** @var UserService $userService */
  46. $userService = app('UserService');
  47. $ownerIds = $userService->getPermittingOwnerIds(auth()->user());
  48. $owners = \App\Owner::query()->select(['id', 'name', 'code'])->whereIn('id', $ownerIds)->get();
  49. return $owners;
  50. }
  51. }