public function checkEarnings($id) { $startDate = $start = Input::get('startDate'); $endDate = $end = Input::get('endDate'); $start = date('Y-m-d', strtotime($start)); $end = date('Y-m-d', strtotime($end)); // Get the owed sum for the given range. $salaryForRange = Employee::getSalaryRange($id, $start, $end); $rangeSum = 0; $rangeValetedVehicles = 0; foreach ($salaryForRange as $item) { $employeesCut = Vehicle::getEmployeesCut($item->vehicle_fk); $rangeSum = $rangeSum + $employeesCut * $item->quantity; // Calculate the number of processed vehicles. $rangeValetedVehicles += $item->quantity; } $employeeData = Employee::find($id); $processedVehicles = InvoiceElement::where('employee_fk', '=', $employeeData->id)->count(); $totalSalary = Employee::getSalary($id); // Get the rest of the information. $totalSum = 0; foreach ($totalSalary as $item) { $employeesCut = Vehicle::getEmployeesCut($item->vehicle_fk); $totalSum = $totalSum + $employeesCut * $item->quantity; } return View::make('employee.profile')->with(['employeeData' => $employeeData, 'processedVehicles' => $processedVehicles, 'totalSum' => $totalSum, 'rangeSum' => $rangeSum, 'startDate' => $startDate, 'endDate' => $endDate, 'rangeValetedVehicles' => $rangeValetedVehicles]); }
public function destroy($id) { $targetInvoice = Invoice::find($id); if ($targetInvoice) { $targetInvoice->delete(); InvoiceElement::where('invoice_fk', '=', $id)->delete(); return $this->index(); } else { return $this->index(); } }
public static function getTotalSalariesSum($start, $end) { return InvoiceElement::getProcessedVehiclesSum($start, $end); }
Route::resource('invoice', 'InvoiceController'); Route::get('invoice/{invoice}/pdf', ['as' => 'invoice.download', 'uses' => 'InvoiceController@download']); Route::resource('vehicle', 'VehicleController'); Route::resource('balance', 'BalanceController'); Route::post('balance/check', ['as' => 'balance.check', 'uses' => 'BalanceController@checkBalance']); Route::resource('expense', 'ExpenseController'); Route::get('backup', ['as' => 'database.backup', function () { DbExportHandler::migrate()->ignore('users')->seed(); return Redirect::to('home')->with('message', 'The database has been backed up.'); }]); Route::get('restore', ['as' => 'database.restore', function () { // Empty all tables bar the users Vehicle::truncate(); Expense::truncate(); Invoice::truncate(); InvoiceElement::truncate(); Employee::truncate(); // Seed the database from the latest seed file. Artisan::call('db:seed', ['--force' => true]); return Redirect::to('home')->with('message', 'The database has been emptied and has been restored from the latest backup.'); }]); }); Route::resource('/', 'SessionController@index'); Route::resource('sessions', 'SessionController'); Route::get('login', ['as' => 'login', 'uses' => 'SessionController@create']); Route::get('logout', ['as' => 'logout', 'uses' => 'SessionController@destroy']); // Remove this section once the admin account is set up. Route::get('/newAdmin', function () { return View::make('home.admin'); }); Route::post('/createAdmin', ['as' => 'create.admin', function () {