OrderIssuePerformanceController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Owner;
  4. use App\Services\OrderIssuePerformanceService;
  5. use App\Services\OrderIssueWorkLoadService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Gate;
  9. class OrderIssuePerformanceController extends Controller
  10. {
  11. public function __construct()
  12. {
  13. app()->singleton('orderIssueWorkLoadService', OrderIssueWorkLoadService::class);
  14. app()->singleton('service', OrderIssuePerformanceService::class);
  15. }
  16. public function index(Request $request)
  17. {
  18. if (!Gate::allows('订单管理-问题件-绩效统计')) {
  19. return redirect(url('/'));
  20. }
  21. $service = app('orderIssuePerformanceService');
  22. $performance = $service->paginate($request->all());
  23. $options = ['timeFrame' => $request->input('timeFrame'), 'create_start' => $request->input('create_start') ?? '', 'create_end' => $request->input('create_end') ?? ''];
  24. return view('order.issue.performance', compact('performance', 'options'));
  25. }
  26. public function export(Request $request)
  27. {
  28. $service = app('orderIssuePerformanceService');
  29. return $service->exportPerformance($request->all());
  30. }
  31. public function workLoadPage(Request $request)
  32. {
  33. if (!Gate::allows('订单管理-问题件-工作量')) {
  34. return redirect(url('/'));
  35. }
  36. $workLoadService = app('orderIssueWorkLoadService');
  37. $workLoads = $workLoadService->paginate($request->all());
  38. $users = $workLoadService->getUsers();
  39. $owners = $workLoadService->getOwners();
  40. $options =$workLoadService->getOptions($request->all());
  41. return view('order/issue/workload', compact('workLoads', 'owners', 'users','options'));
  42. }
  43. public function exportWorkLoad(Request $request)
  44. {
  45. $workLoadService = app('orderIssueWorkLoadService');
  46. return $workLoadService->exportWorkLoad($request->all());
  47. }
  48. }