Exemplo n.º 1
0
 /**
  * View employees with loan
  *
  * @param  int  $id
  * @return Response
  */
 public function indexLoan($id)
 {
     $labor_id = Labor::where('employee_no', $id)->first()->id;
     $loans = Loan::where('labor_id', $labor_id)->get();
     $loanDetails = [];
     foreach ($loans as $loan) {
         $monthCounter = 0;
         $totalMonth = count(Labor::find($labor_id)->LoanMonths()->where('loan_id', $loan->id)->get()->toArray());
         $thisMonth = intval(Carbon::today()->format('ym'));
         foreach (Labor::find($labor_id)->LoanMonths()->where('loan_id', $loan->id)->get() as $loanMonth) {
             if (intval($loanMonth->deduction_date->format('ym')) < $thisMonth) {
                 $monthCounter++;
             }
         }
         $loanDetails[$loan->id]['months_left'] = $totalMonth - $monthCounter;
         $loanDetails[$loan->id]['amount_left'] = floatval($loan->deduction * ($totalMonth - $monthCounter));
         $loanDetails[$loan->id]['deducted'] = $loan->deduction * $monthCounter;
         $loanDetails[$loan->id]['next_month'] = Carbon::today()->format('F, Y');
     }
     //dd($loans);
     //dd($loans->first()->starting_date);
     return view('pages.index_loan', compact('loans', 'id', 'loanDetails'));
 }
Exemplo n.º 2
0
 /**
  * Update attendance of the specified labor
  *
  * @param  Request  $request
  * @param  int  $id
  * @return Response
  */
 public function updateAttendance(AttRequest $request, $id)
 {
     foreach (Labor::find($id)->attendance()->where('id', '=', $this->getDateId())->get() as $attendance) {
         $attendance->pivot->attended = $request->input('present');
         if ($attendance->holiday == 1) {
             $attendance->pivot->ot = intval($request->input('overtime')) * 1.2;
         } else {
             $attendance->pivot->ot = $request->input('overtime');
         }
         $attendance->pivot->bot = $request->input('bonus_ot');
         $attendance->pivot->save();
         //dd($attendance->pivot->attended);
     }
     return redirect('attendance/list');
 }