public function edit($id) { $salary = Salary::where(['id' => $id, 'status' => 1])->with(['employee', 'employee.designation'])->first(); return view('payrolls.salaryGenerator.edit')->with(compact('salary')); }
public function update($id, SalaryPaymentRequest $request) { try { DB::transaction(function () use($request, $id) { $inputs = $request->input(); $user = Auth::user(); $time = time(); $date = strtotime(date('d-m-Y')); $balance_type = Config::get('common.balance_type_intermediate'); $year = CommonHelper::get_current_financial_year(); $salaryPayment = SalaryPayment::find($id); $salary = Salary::where(['id' => $salaryPayment->salary_id, 'employee_id' => $salaryPayment->employee_id, 'workspace_id' => $salaryPayment->workspace_id])->first(); if ($salary->net > $inputs['salary'] && $salaryPayment->amount > $inputs['salary']) { //Decrease amount from Salary payment table $salaryPayment->amount -= $inputs['salary']; $salaryPayment->updated_by = $user->id; $salaryPayment->updated_at = $time; $salaryPayment->update(); //Update salaries table $salary->due = $salary->net - $inputs['salary']; $salary->paid = $inputs['salary']; $salary->payment_status = Config::get('common.salary_payment_status.partial'); $salary->update(); //Update Personal Account $personalAccount = PersonalAccount::where(['person_id' => $salaryPayment->employee_id, 'person_type' => Config::get('common.person_type_employee')])->first(); $personalAccount->balance += $salaryPayment->amount - $inputs['salary']; //ADD $personalAccount->updated_by = $user->id; $personalAccount->updated_at = $time; $personalAccount->save(); //Update Workspace Ledger $accountPayableWorkspaceData = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => 42000, 'balance_type' => $balance_type, 'year' => $year])->first(); $accountPayableWorkspaceData->balance += $salaryPayment->amount - $inputs['salary']; //Add Wage Payable $accountPayableWorkspaceData->updated_by = $user->id; $accountPayableWorkspaceData->updated_at = $time; $accountPayableWorkspaceData->update(); $accountPayableWorkspaceData = WorkspaceLedger::where(['workspace_id' => $user->workspace_id, 'account_code' => 11000, 'balance_type' => $balance_type, 'year' => $year])->first(); $accountPayableWorkspaceData->balance += $salaryPayment->amount - $inputs['salary']; //Add Cash $accountPayableWorkspaceData->updated_by = $user->id; $accountPayableWorkspaceData->updated_at = $time; $accountPayableWorkspaceData->update(); // General Journal Table Impact $generalJournal = GeneralJournal::where(['transaction_type' => Config::get('common.transaction_type.salary_payment'), 'reference_id' => $id, 'account_code' => 42000, 'workspace_id' => $user->workspace_id, 'year' => $year])->first(); $generalJournal->amount -= $salaryPayment->amount - $inputs['salary']; $generalJournal->updated_by = $user->id; $generalJournal->updated_at = $time; $generalJournal->save(); $generalJournal = GeneralJournal::where(['transaction_type' => Config::get('common.transaction_type.salary_payment'), 'reference_id' => $id, 'account_code' => 11000, 'workspace_id' => $user->workspace_id, 'year' => $year])->first(); $generalJournal->amount -= $salaryPayment->amount - $inputs['salary']; $generalJournal->updated_by = $user->id; $generalJournal->updated_at = $time; $generalJournal->save(); } }); } catch (\Exception $e) { Session()->flash('error_message', 'Salary payment update cannot successful. Please Try again.'); return Redirect::back(); } Session()->flash('flash_message', 'Salary payment update successfully.'); return redirect('salary_payment'); }
public function getEmployeePayment(Request $request) { $employee_id = $request->employee_id; $month = $request->month; $salary = Salary::where('employee_id', '=', $employee_id)->where('employee_type', '=', Config::get('common.employee_type.Regular'))->where('year', '=', CommonHelper::get_current_financial_year())->where('month', '=', $month)->where('status', '!=', 4)->first(); $employee = Employee::where('id', '=', $employee_id)->where('status', '=', 1)->with(['designation', 'workspace'])->first(); $ajaxView = view('ajaxView.employeeSalaryPayment')->with(compact('salary', 'employee'))->render(); return response()->json($ajaxView); }