public function masuk() { $absensi = new Absensi(); //$absensi->waktumasuk=Carbon::now(); $absensi->pegawai_id = \Auth::user()->idpegawai; $absensi->waktumasuk = Carbon::now(); if (Carbon::now()->hour > 8) { $absensi->statusmasuk = 'Terlambat'; } else { $absensi->statusmasuk = 'Tepat Waktu'; } $absensi->save(); flash()->overlay('Absen Masuk Sukses!'); return redirect('absensi'); }
public function upload_save(Request $request) { $this->validate($request, ['excel' => 'required']); $inputFileName = $request->excel; try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch (Exception $e) { die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage()); } $data_count = 0; $errors = 0; $semester = Semester::get_active_semester()->id; foreach ($objPHPExcel->getWorksheetIterator() as $sheet) { $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $start = false; for ($row = 1; $row <= $highestRow; $row++) { $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE); if (!$start) { // Start check if ($rowData[0][0] == "1" || $rowData[0][0] == "1.") { $start = true; } } if ($start) { $id_siswa = null; $data_count++; if (!empty($rowData[0][1])) { $siswa = Siswa::where('nis', $rowData[0][1])->first(); if (!$siswa) { $errors++; $id_siswa = null; continue; } $id_siswa = $siswa->id; } if (!$id_siswa) { continue; } $new = new Absensi(); $created = null; $check = Absensi::where('id_siswa', $id_siswa)->where('id_semester', $semester); $old = $check->first(); if ($old) { $created = $old->created_at; $check->delete(); } $new->id_siswa = $id_siswa; $new->id_semester = $semester; $new->sakit = $rowData[0][3] !== null ? $rowData[0][3] : null; $new->izin = $rowData[0][4] !== null ? $rowData[0][4] : null; $new->alpa = $rowData[0][5] !== null ? $rowData[0][5] : null; if ($created) { $new->created_at = $created; } try { $new->save(); } catch (\Illuminate\Database\QueryException $e) { $errors++; } } } } $message = "Upload file selesai. Terbaca ada {$data_count} data. "; $message .= $errors > 0 ? "Ada masalah dengan {$errors} data, dan tidak dapat dimasukkan ke dalam database." : "Semua data berhasil ditambahkan."; return redirect()->route('absensi')->with('message', $message); }