KpiController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. $ownerIds = $this->getOwners()->pluck('id');
  39. return view('kpi.logisticsPunctuality.index', compact('ownerIds'));
  40. }
  41. public function orderOperationLog()
  42. {
  43. $ownerIds = $this->getOwners()->pluck('id');
  44. return view('kpi.orderOperationLog.index', compact('ownerIds'));
  45. }
  46. public function logisticReturnPunctuality()
  47. {
  48. $ownerIds = $this->getOwners()->pluck('id');
  49. return view('kpi.logisticReturnPunctuality.index', compact('ownerIds'));
  50. }
  51. /**
  52. * @return Builder[]|Collection
  53. */
  54. public function getOwners()
  55. {
  56. /** @var UserService $userService */
  57. $userService = app('UserService');
  58. $ownerIds = $userService->getPermittingOwnerIds(auth()->user());
  59. $owners = \App\Owner::query()->select(['id', 'name', 'code'])->whereIn('id', $ownerIds)->get();
  60. return $owners;
  61. }
  62. }