IMMREX7
<?php
namespace App\Http\Controllers\School\Hostel;
use Illuminate\Http\Request;
use App\Http\Controllers\School\SchoolController;
use DB;
use Auth;
use Carbon\Carbon;
use Session;
use PDF;
class HostelFeeReportController extends SchoolController {
public function paidFees(Request $request) {
$today_date = Carbon::today()->format('Y-m-d');
if ($request->has('fromDate') && $request->fromDate != null) {
$from_date = Carbon::createFromFormat('d-m-Y', $request->fromDate);
}
if ($request->has('toDate') && $request->toDate != null) {
$to_date = Carbon::createFromFormat('d-m-Y', $request->toDate);
}
$classes = \App\ClassM::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->orderBy('idClass')->get()->pluck('className', 'idClass')->toArray();
$feeHeaders = \App\HostelFeehead::where('idSchool', '=', Auth::guard('school')->user()->idSchool)->groupBy('feeheadName')
->orderBy('toDate')->get()->pluck('feeheadName', 'idHostelFeehead')->toArray();
if ($request->has('feeHeaders') && count($request->feeHeaders) > 0) {
$transactionIds = DB::table('hostel_transaction_details')->whereIn('hostel_transaction_details.idHostelFeehead', $request->feeHeaders)->get()->pluck('idHostelTransaction')->toArray();
;
$transactions = DB::table('hostel_transaction')
->leftJoin('hostel_excess_transaction', 'hostel_transaction.idHostelExcessTransaction', '=', 'hostel_excess_transaction.idExcessTransaction')
->join('students', 'hostel_transaction.idStudent', '=', 'students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_transaction.idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('hostel_transaction.idFinancialYear', '=', Session::get('idFinancialYear'))
->where(function($query) {
$query->whereNull('status');
$query->orWhere('status', '=', 'In-Process');
$query->orWhere('status', '=', 'Cleared');
$query->orWhere('status', '=', 'Success');
})
->whereIn('hostel_transaction.idHostelTransaction', $transactionIds)
->select('ecNo', 'hostel_transaction.idHostelTransaction', 'hostel_transaction.idFinancialYear', 'students.idClass', 'students.idStudent', 'students.idSection', 'firstName', 'middleName', 'contactPersonMobile', 'lastName', 'className', 'sectionName', 'father_fname', 'father_mobile', 'father_lname', 'receiptNo', 'paymentMode', 'totalPaid', 'penaltyAmount', 'discount', 'fine', 'penaltyRemarks', 'excessAmount', 'paymentDate', 'chequeNo');
} else {
$transactions = DB::table('hostel_transaction')
->leftJoin('hostel_excess_transaction', 'hostel_transaction.idHostelExcessTransaction', '=', 'hostel_excess_transaction.idExcessTransaction')
->join('students', 'hostel_transaction.idStudent', '=', 'students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_transaction.idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('hostel_transaction.idFinancialYear', '=', Session::get('idFinancialYear'))
->where(function($query) {
$query->whereNull('status');
$query->orWhere('status', '=', 'In-Process');
$query->orWhere('status', '=', 'Cleared');
$query->orWhere('status', '=', 'Success');
})
->select('ecNo', 'hostel_transaction.idHostelTransaction', 'hostel_transaction.idFinancialYear', 'students.idClass', 'students.idStudent', 'students.idSection', 'firstName', 'middleName', 'contactPersonMobile', 'lastName', 'className', 'sectionName', 'father_fname', 'father_mobile', 'father_lname', 'receiptNo', 'paymentMode', 'totalPaid', 'penaltyAmount', 'discount', 'fine', 'penaltyRemarks', 'excessAmount', 'paymentDate', 'chequeNo');
}
if ($request->toDate != null && $request->fromDate != null) {
$transactions = $transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $to_date->format('Y-m-d')])->get();
} else if ($request->has('fromDate') && $request->fromDate != null) {
$transactions = $transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $today_date])->get();
} else if ($request->has('toDate') && $request->toDate != null) {
$transactions = $transactions->whereDate('paymentDate', '<=', $to_date)->get();
} else if ($request->has('sections') && count($request->sections) > 0) {
$transactions = $transactions->whereIn('students.idSection', $request->sections)->get();
} else if ($request->has('classes') && count($request->classes) > 0) {
$transactions = $transactions->whereIn('students.idClass', $request->classes)->get();
} else if ($request->has('paymentMode')) {
if ($request->paymentMode = "All")
$transactions = $transactions->get();
else
$transactions = $transactions->where('paymentMode', '=', $request->paymentMode)->get();
}else {
$transactions = $transactions->get();
}
return view('schools.hostel.fee_paid', compact('feeHeaders', 'classes', 'transactions', 'lesser_transactions'));
}
public function lessPaidFees(Request $request) {
$today_date = Carbon::today()->format('Y-m-d');
if ($request->has('fromDate') && $request->fromDate != null) {
$from_date = Carbon::createFromFormat('d-m-Y', $request->fromDate);
}
if ($request->has('toDate') && $request->toDate != null) {
$to_date = Carbon::createFromFormat('d-m-Y', $request->toDate);
}
$classes = \App\ClassM::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->orderBy('idClass')->get()->pluck('className', 'idClass')->toArray();
$feeHeaders = \App\HostelFeehead::where('idSchool', '=', Auth::guard('school')->user()->idSchool)->groupBy('feeheadName')
->orderBy('toDate')->get()->pluck('feeheadName', 'idHostelFeehead')->toArray();
if ($request->has('feeHeaders') && count($request->feeHeaders) > 0) {
$lesser_transactionIds = DB::table('hostel_lesser_transaction_details')->whereIn('hostel_lesser_transaction_details.idFeehead', $request->feeHeaders)->get()->pluck('idHostelLesserTransaction')->toArray();
;
$lesser_transactions = DB::table('hostel_lesser_transaction')
->leftJoin('hostel_excess_transaction', 'hostel_lesser_transaction.idHostelExcessTransaction', '=', 'hostel_excess_transaction.idExcessTransaction')
->join('students', 'hostel_lesser_transaction.idStudent', '=', 'students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_lesser_transaction.idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('hostel_lesser_transaction.idFinancialYear', '=', Session::get('idFinancialYear'))
->where(function($query) {
$query->whereNull('status');
$query->orWhere('status', '=', 'In-Process');
$query->orWhere('status', '=', 'Cleared');
$query->orWhere('status', '=', 'Success');
})
->whereIn('hostel_lesser_transaction.idHostelLesserTransaction', $lesser_transactionIds)
->select('ecNo', 'hostel_lesser_transaction.idHostelLesserTransaction', 'hostel_lesser_transaction.idFinancialYear', 'students.idClass', 'students.idStudent', 'students.idSection', 'firstName', 'middleName', 'contactPersonMobile', 'lastName', 'className', 'sectionName', 'father_fname', 'father_mobile', 'father_lname', 'receiptNo', 'paymentMode', 'totalPaid', 'penaltyAmount', 'discount', 'fine', 'penaltyRemarks', 'excessAmount', 'paymentDate', 'chequeNo');
} else {
$lesser_transactions = DB::table('hostel_lesser_transaction')
->leftJoin('hostel_excess_transaction', 'hostel_lesser_transaction.idHostelExcessTransaction', '=', 'hostel_excess_transaction.idExcessTransaction')
->join('students', 'hostel_lesser_transaction.idStudent', '=', 'students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_lesser_transaction.idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('hostel_lesser_transaction.idFinancialYear', '=', Session::get('idFinancialYear'))
->where(function($query) {
$query->whereNull('status');
$query->orWhere('status', '=', 'In-Process');
$query->orWhere('status', '=', 'Cleared');
$query->orWhere('status', '=', 'Success');
})
->select('ecNo', 'hostel_lesser_transaction.idHostelLesserTransaction', 'hostel_lesser_transaction.idFinancialYear', 'students.idClass', 'students.idStudent', 'students.idSection', 'firstName', 'middleName', 'contactPersonMobile', 'lastName', 'className', 'sectionName', 'father_fname', 'father_mobile', 'father_lname', 'receiptNo', 'paymentMode', 'totalPaid', 'penaltyAmount', 'discount', 'fine', 'penaltyRemarks', 'excessAmount', 'paymentDate', 'chequeNo');
}
if ($request->toDate != null && $request->fromDate != null) {
$lesser_transactions = $lesser_transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $to_date->format('Y-m-d')])->get();
} else if ($request->has('fromDate') && $request->fromDate != null) {
$lesser_transactions = $lesser_transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $today_date])->get();
} else if ($request->has('toDate') && $request->toDate != null) {
$lesser_transactions = $lesser_transactions->whereDate('paymentDate', '<=', $to_date)->get();
} else if ($request->has('sections') && count($request->sections) > 0) {
$lesser_transactions = $lesser_transactions->whereIn('students.idSection', $request->sections)->get();
} else if ($request->has('classes') && count($request->classes) > 0) {
$lesser_transactions = $lesser_transactions->whereIn('students.idClass', $request->classes)->get();
} else if ($request->has('paymentMode')) {
if ($request->paymentMode = "All")
$lesser_transactions = $lesser_transactions->get();
else
$lesser_transactions = $lesser_transactions->where('paymentMode', '=', $request->paymentMode)->get();
}else {
$lesser_transactions = $lesser_transactions->get();
}
return view('schools.hostel.less_fee_paid', compact('classes', 'feeHeaders', 'lesser_transactions'));
}
public function pendingDues(Request $request) {
$today_date = Carbon::today()->format('Y-m-d');
if ($request->has('fromDate') && $request->fromDate != null) {
$from_date = Carbon::createFromFormat('d-m-Y', $request->fromDate);
}
if ($request->has('toDate') && $request->toDate != null) {
$to_date = Carbon::createFromFormat('d-m-Y', $request->toDate);
}
$classes = \App\ClassM::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->orderBy('idClass')->get()->pluck('className', 'idClass')->toArray();
$students = DB::table('hostel_students')
->join('hostel_floors','hostel_students.idFloor','=','hostel_floors.idFloor')
->join('hostel_rooms','hostel_students.idRoom','=','hostel_rooms.idRoom')
->join('hostel_beds','hostel_students.idBed','=','hostel_beds.idBed')
->join('students','hostel_students.idStudent','=','students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_students.idSchool', '=', Auth::guard('school')->user()->idSchool)
->select('hostel_students.idStudent','classes.idClass','sections.idSection','ecNo', 'firstName', 'lastName', 'middleName','floorName','bedName','roomName','father_fname', 'father_lname', 'father_mobile', 'className', 'sectionName');
if ($request->has('sections') && count($request->sections) > 0) {
$students = $students->whereIn('idSection', $request->sections)->get();
} else if ($request->has('classes') && count($request->classes) > 0) {
$students = $students->whereIn('idClass', $request->classes)->get();
} else {
$students = $students->get();
}
return view('schools.hostel.pending_fee', compact('classes', 'students'));
}
public function cancelledReceipts(Request $request) {
$today_date = Carbon::today()->format('Y-m-d');
if ($request->has('fromDate') && $request->fromDate != null) {
$from_date = Carbon::createFromFormat('d-m-Y', $request->fromDate);
}
if ($request->has('toDate') && $request->toDate != null) {
$to_date = Carbon::createFromFormat('d-m-Y', $request->toDate);
}
$classes = \App\ClassM::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->orderBy('idClass')->get()->pluck('className', 'idClass')->toArray();
$transactions = DB::table('hostel_transaction')
->leftJoin('hostel_excess_transaction', 'hostel_transaction.idHostelExcessTransaction', '=', 'hostel_excess_transaction.idExcessTransaction')
->join('students', 'hostel_transaction.idStudent', '=', 'students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_transaction.idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('hostel_transaction.idFinancialYear', '=', Session::get('idFinancialYear'))
->where('status', '=', 'Cancelled')
->select('hostel_transaction.remarks', 'ecNo', 'hostel_transaction.idHostelTransaction', 'hostel_transaction.idFinancialYear', 'students.idClass', 'students.idStudent', 'students.idSection', 'firstName', 'middleName', 'contactPersonMobile', 'lastName', 'className', 'sectionName', 'father_fname', 'father_mobile', 'father_lname', 'receiptNo', 'paymentMode', 'totalPaid', 'penaltyAmount', 'discount', 'fine', 'penaltyRemarks', 'excessAmount', 'paymentDate');
$lesser_transactions = DB::table('hostel_lesser_transaction')
->leftJoin('hostel_excess_transaction', 'hostel_lesser_transaction.idHostelExcessTransaction', '=', 'hostel_excess_transaction.idExcessTransaction')
->join('students', 'hostel_lesser_transaction.idStudent', '=', 'students.idStudent')
->join('classes', 'students.idClass', '=', 'classes.idClass')
->join('sections', 'students.idSection', '=', 'sections.idSection')
->where('hostel_lesser_transaction.idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('hostel_lesser_transaction.idFinancialYear', '=', Session::get('idFinancialYear'))
->where('status', '=', 'Cancelled')
->select('hostel_lesser_transaction.remarks', 'ecNo', 'hostel_lesser_transaction.idHostelLesserTransaction', 'hostel_lesser_transaction.idFinancialYear', 'students.idClass', 'students.idStudent', 'students.idSection', 'firstName', 'middleName', 'contactPersonMobile', 'lastName', 'className', 'sectionName', 'father_fname', 'father_mobile', 'father_lname', 'receiptNo', 'paymentMode', 'totalPaid', 'penaltyAmount', 'discount', 'fine', 'penaltyRemarks', 'excessAmount', 'paymentDate');
if ($request->toDate != null && $request->fromDate != null) {
$transactions = $transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $to_date->format('Y-m-d')])->get();
$lesser_transactions = $lesser_transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $to_date->format('Y-m-d')])->get();
} else if ($request->has('fromDate') && $request->fromDate != null) {
$transactions = $transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $today_date])->get();
$lesser_transactions = $lesser_transactions->whereBetween('paymentDate', [$from_date->format('Y-m-d'), $today_date])->get();
} else if ($request->has('toDate') && $request->toDate != null) {
$transactions = $transactions->whereDate('paymentDate', '<=', $to_date)->get();
$lesser_transactions = $lesser_transactions->whereDate('paymentDate', '<=', $to_date)->get();
} else if ($request->has('sections') && count($request->sections) > 0) {
$transactions = $transactions->whereIn('students.idSection', $request->sections)->get();
$lesser_transactions = $lesser_transactions->whereIn('students.idSection', $request->sections)->get();
} else if ($request->has('classes') && count($request->classes) > 0) {
$transactions = $transactions->whereIn('students.idClass', $request->classes)->get();
$lesser_transactions = $lesser_transactions->whereIn('students.idClass', $request->classes)->get();
} else if ($request->has('paymentMode')) {
$transactions = $transactions->where('paymentMode', '=', $request->paymentMode)->get();
$lesser_transactions = $lesser_transactions->where('paymentMode', '=', $request->paymentMode)->get();
} else {
$transactions = $transactions->get();
$lesser_transactions = $lesser_transactions->get();
}
return view('schools.hostel.cancelled-receipts', compact('classes', 'transactions','lesser_transactions'));
}
}
Copyright © 2021 -