Example #1
0
 public static function reports_total_on_item($fee_element_id, $search_by)
 {
     $table = 'fee_sch_' . session()->get('current_session') . '_' . session()->get('current_term');
     $total = 0;
     $fee_schedules = DB::table($table)->where('fee_element_id', $fee_element_id)->lists('amount', 'fee_schedule_code');
     foreach ($fee_schedules as $fee_schedule_code => $amount) {
         $none_exempted_fee_elements = 0;
         $exempted_fee_elements = 0;
         $invoices = \DB::table('invoices_' . \Session::get('current_session') . '_' . \Session::get('current_term'))->where('fee_schedule_code', $fee_schedule_code)->get();
         $none_exempted_fee_elements = count($invoices);
         foreach ($invoices as $invoice) {
             if (null !== $invoice->exempted_fee_elements) {
                 if (in_array($fee_element_id, json_decode($invoice->exempted_fee_elements))) {
                     $exempted_fee_elements++;
                 }
             }
         }
         $total += ($none_exempted_fee_elements - $exempted_fee_elements) * $amount;
     }
     return $total;
 }