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/DaybookExport.php
<?php

namespace App\Exports;

use App\Models\User;
use App\Helpers\Frontend;
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;

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



    public function array(): array
    {
        $query = Feescollection::with('user', 'feesallot');

        $query->Join('users', 'users.id', '=', 'feescollections.user_id');
        $query->Join('users_admissions', 'users_admissions.user_unique_id', '=', 'users.user_unique_id');
        $query->Join('users_schools', 'users_schools.user_id', '=', 'users.id');
        $query->Join('schools', 'schools.id', '=', 'users_schools.school_id');

        $query->Join('feesallotments', 'feesallotments.id', '=', 'feescollections.feesallotment_id');
        $query->Join('classes', 'classes.id', '=', 'feesallotments.class_id');
        $query->Join('sections', 'sections.id', '=', 'feesallotments.section_id');

        // Receipt Number
        if (!empty($this->request->search)) {
            $query->where('invoice_no', $this->request->search);
        }

        // Date between
        if (!empty($this->request->start_date) && !empty($this->request->end_date)) {
            $query->whereBetween('payment_date', [$this->request->start_date, $this->request->end_date]);
        }

        // Receipt Number
        if (!empty($this->request->invoice_no)) {
            $query->where('invoice_no', $this->request->invoice_no);
        }

        // Class
        if (!empty($this->request->class)) {
            $query->where('classes.id', $this->request->class);
        }

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

        // School
        if (!empty($this->request->school)) {
            $query->where('schools.id', $this->request->school);
        }

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

        $items = $query->get(['feescollections.payment_date','feescollections.payment_status', 'feescollections.mode', 'users_admissions.id as roll_no', 'users_admissions.enrollment_no', 'feescollections.invoice_no', 'users_admissions.first_name', 'users_admissions.last_name', 'users_admissions.previous_admission_no', 'schools.school', 'classes.class', 'sections.section', 'feescollections.amount','feescollections.note', DB::raw('gstfromamount(feescollections.amount,feesallotments.tax_value) as gst')])->toArray();
        $itemsFinal = array();
        foreach ($items as $item) {
            $itm = array(
                'payment_date'  => $item['payment_date'],
                'payment_status'  => $item['payment_status'],
                'roll_no'       => $item['roll_no'],
                'enrollment_no' => $item['enrollment_no'],
                'invoice_no'    => $item['invoice_no'],
                'first_name'    => $item['first_name'],
                'last_name'     => $item['last_name'],
                'old_code'      => $item['previous_admission_no'],
                'school'        => $item['school'],
                'class'         => $item['class'],
                'section'       => $item['section'],
                'mode'          => $item['mode'],
                'net_amount'    => $item['amount'] - round($item['gst']),
                'cgst'          => round(round($item['gst']) / 2, 2),
                'sgst'          => round(round($item['gst']) / 2, 2),
                'amount'        => $item['amount'],
                'note'          => $item['note']
            );
            array_push($itemsFinal, $itm);
        }
        return $itemsFinal;
    }

    public function headings(): array
    {
        return [
            'payment_date',
            'payment_status',
            'roll_no',
            'enrollment_no',
            'invoice_no',
            'first_name',
            'last_name',
            'old_code',
            'center',
            'attempt',
            'batch',
            'mode',
            'net_amount',
            'cgst',
            'sgst',
            'amount',
            'Note'
        ];
    }
}

Anon7 - 2021