示例#1
0
 public function edit($id)
 {
     $salary = Salary::where(['id' => $id, 'status' => 1])->with(['employee', 'employee.designation'])->first();
     return view('payrolls.salaryGenerator.edit')->with(compact('salary'));
 }
示例#2
0
 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');
 }
示例#3
0
 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);
 }