Esempio n. 1
0
 public static function getProcessedVehiclesSum($start, $end)
 {
     $processedList = DB::select(DB::raw("SELECT e_v.vehicle_fk, COUNT(*) as quantity\n                                    FROM employees_vehicles AS e_v, invoices AS inv\n                                    WHERE inv.date >= '{$start}'\n                                    AND inv.date <= '{$end}'\n                                    AND inv.id = e_v.invoice_fk\n                                    AND inv.deleted_at IS NULL\n                                    AND e_v.deleted_at IS NULL\n                                    GROUP BY e_v.vehicle_fk"));
     $totalSum = 0;
     foreach ($processedList as $process) {
         $price = Vehicle::getEmployeesCut($process->vehicle_fk);
         $total = $price * $process->quantity;
         $totalSum += $total;
     }
     return $totalSum;
 }
Esempio n. 2
0
 public function displayEmployeeWages()
 {
     // If the start date is defined, get the salaries for that certain period, otherwise, get the total amount.
     if (null !== Input::get('startDate')) {
         $start = date("Y-m-d", strtotime(Input::get('startDate')));
         $end = date("Y-m-d", strtotime(Input::get('endDate')));
     } else {
         $start = "1970-01-01";
         $end = "3000-01-01";
     }
     $wageList = [];
     $processedVehiclesList = Employee::getTotalSalaries($start, $end);
     $employeesList = Employee::getEmployeesList();
     $totalEmployeeWagesSum = 0;
     foreach ($processedVehiclesList as $processed) {
         // Initiliaze if not set.
         if (!isset($wageList[$processed->employee_fk])) {
             $wageList[$processed->employee_fk] = 0;
         }
         $price = Vehicle::getEmployeesCut($processed->vehicle_fk);
         $total = $price * $processed->quantity;
         $wageList[$processed->employee_fk] += $total;
         $totalEmployeeWagesSum += $total;
     }
     //
     $employeeWages = [];
     foreach ($wageList as $employeeId => $wage) {
         foreach ($employeesList as $id => $name) {
             if ($id == $employeeId) {
                 $employeeWages[$name] = $wage;
             }
             if (!array_key_exists($id, $wageList)) {
                 $employeeWages[$name] = 0;
             }
         }
     }
     arsort($employeeWages);
     $startDate = date("d/m/Y", strtotime($start));
     $endDate = date("d/m/Y", strtotime($end));
     return View::make('employee.table')->with(['employeeWages' => $employeeWages, 'totalEmployeeWages' => $totalEmployeeWagesSum, 'startDate' => $startDate, 'endDate' => $endDate]);
 }