FranchiseeReceivableController.php 1008 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Http\Controllers\Concerns\ResolvesActiveUnit;
  4. use App\Models\StudentContractInstallment;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. class FranchiseeReceivableController extends Controller
  8. {
  9. use ResolvesActiveUnit;
  10. public function index(Request $request): JsonResponse
  11. {
  12. $unitId = $this->activeUnitId();
  13. if (!$unitId) {
  14. return $this->errorResponse(message: 'Unidade não ativa no contexto.', code: 400);
  15. }
  16. $query = StudentContractInstallment::with(['student'])
  17. ->where('unit_id', $unitId)
  18. ->orderBy('due_date', 'asc');
  19. if ($request->has('status')) {
  20. $query->where('status', $request->query('status'));
  21. }
  22. if ($request->has('student_id')) {
  23. $query->where('student_id', $request->query('student_id'));
  24. }
  25. $items = $query->get();
  26. return $this->successResponse(payload: $items);
  27. }
  28. }