Ejemplo n.º 1
0
 public function show(Request $request, $student_id)
 {
     $invoices = FinancialInvoice::with('item', 'semester')->where('student_id', $student_id);
     $student = Student::findOrFail($student_id);
     if ($request->has('semester_id')) {
         $invoices->where('semester_id', $request->input('semester_id'));
     }
     $invoices = $invoices->orderBy('created_at', 'ASC')->get();
     $has_search = count($request->all());
     $semesters = Semester::pluck('name', 'id');
     $total_debit = $invoices->sum(function ($invoice) {
         return $invoice->type == 'debit' ? $invoice->amount : 0;
     });
     $total_credit = $invoices->sum(function ($invoice) {
         return $invoice->type == 'credit' ? $invoice->amount : 0;
     });
     if ($request->has('partial')) {
         return view('financials::reports._list', compact('invoices', 'student', 'has_search', 'semesters', 'total_debit', 'total_credit'));
     }
     return view('financials::reports.show', compact('invoices', 'student', 'has_search', 'semesters', 'total_debit', 'total_credit'));
 }
Ejemplo n.º 2
0
    public function index(Request $request)
    {
        $exams = Exam::selectRaw('exams.*,COUNT(DISTINCT er.id) AS resultsCount,COUNT(DISTINCT eques.id) AS questionsCount')->leftJoin('exam_results AS er', function ($join) {
            $join->on('er.exam_id', '=', 'exams.id');
        })->leftJoin('exam_questions AS eques', function ($join) {
            $join->on('eques.exam_id', '=', 'exams.id');
        })->groupBy('exams.id')->orderBy('exams.id', 'desc');
        if (request('exam_subject')) {
            $exams->where('subject_id', request('exam_subject'));
        }
        if (request('exam_type')) {
            $exams->where('type', request('exam_type'));
        }
        if ($request->has('start_at')) {
            $exams->whereDate('start_at', '=', $request->input('start_at'));
        }
        if (request('exam_semester')) {
            $exams->where('exams.semester_id', request('exam_semester'));
        } else {
            //$exams->inCurrentSemester();
        }
        if (request('exam_year_term')) {
            $exams->whereIn('subject_id', explode(',', request('exam_year_term')));
        }
        $per_page = request('per_page') ? request('per_page') : 30;
        $exams = $exams->paginate($per_page);
        $exams->appends($request->except("page"));
        $subjects = Subject::lists('name', 'id')->toArray();
        $years = Year::lists('name', 'id')->toArray();
        $semesters = Semester::pluck('name', 'id')->toArray();
        $year_term = Year::join('academystructure_terms', 'academystructure_years.id', '=', 'academystructure_terms.year_id')->join('academystructure_departments', 'academystructure_terms.id', '=', 'academystructure_departments.term_id')->select(\DB::raw('CONCAT(academystructure_years.name, "-", academystructure_terms.name) as name,
										GROUP_CONCAT(DISTINCT(academystructure_departments.subject_ids)) as sid'))->groupBy('academystructure_terms.name', 'academystructure_years.name')->get()->toArray();
        $year_term_options;
        foreach ($year_term as $key => &$aa) {
            $a = implode(',', array_unique(array_merge(json_decode(str_replace('],[', ',', $aa['sid']), TRUE))));
            $year_term_options[$a] = $aa['name'];
        }
        return view('exams::exams.index', compact('exams', 'subjects', 'years', 'semesters', 'year_term_options'));
    }