level; if (strtoupper($level) == 'SUPERADMIN' || strtoupper($level) == 'GENERAL MANAGER' || strtoupper($level) == 'FINANCE MANAGER' || strtoupper($level) == 'SUPPLY CHAIN MANAGER' || strtoupper($level) == 'MARKETING MANAGER' || strtoupper($level) == 'PROJECT MANAGER') { $upah = UpahProject::orderBy('id', 'desc')->get(); } else { $upah = UpahProject::where('id_user', Auth::user()->id)->orderBy('id', 'desc')->get(); } return view('staff.absensi-reports', compact('upah')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $project = Project::whereHas('daily_report')->select('id', 'name')->whereDoesntHave('upahProject')->OrderBy('date', 'desc')->get(); return view('staff.create-absensi-report', compact('project')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $id_project = $request->get('id_project'); $id_database_pekerja = $request->get('id_database_pekerja'); $upah_get = $request->get('upah'); $upah = new UpahProject(); $upah->id_user = Auth::user()->id; $upah->id_project = $id_project; $upah->created_at = date('Y-m-d H:i:s'); $upah->save(); $id_upah = $upah->id; for ($i = 0; $i <= count($id_database_pekerja) - 1; $i++) { $detail_upah = new DetailUpahProject(); $detail_upah->id_upah_project = $id_upah; $detail_upah->id_database_pekerja = $id_database_pekerja[$i]; $detail_upah->jml_upah_project = str_replace(',', '.', $upah_get[$i]); $detail_upah->save(); } return redirect()->route('absensi.index')->with('msg', 'Upah Pekerja Berhasil Ditambahkan'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $id_project = $id; $tanggal = DailyReport::select('created_at')->where('id_project', $id_project)->get(); $pekerja = DatabasePekerja::where('id_project', $id_project)->get(); return view('staff.detail-absensi-report', compact('tanggal', 'pekerja')); } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit($id) { $id_project = $id; $tanggal = DailyReport::select('created_at')->where('id_project', $id_project)->get(); $pekerja = DatabasePekerja::where('id_project', $id_project)->get(); return view('staff.edit-absensi-report', compact('tanggal', 'pekerja', 'id_project')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $id_project = $id; $id_upah = UpahProject::where('id_project', $id_project)->first()->id; $id_database_pekerja = $request->get('id_database_pekerja'); $upah_get = $request->get('upah'); for ($i = 0; $i <= count($id_database_pekerja) - 1; $i++) { $detail_upah = DetailUpahProject::where([['id_upah_project', $id_upah], ['id_database_pekerja', $id_database_pekerja[$i]]])->first(); $detail_upah->jml_upah_project = str_replace(',', '.', $upah_get[$i]); $detail_upah->save(); } return redirect()->route('absensi.index')->with('msg', 'Upah Pekerja Berhasil Disimpan'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { UpahProject::destroy($id); return redirect()->route('absensi.index')->with('msg', 'Absensi Report Berhasil Dihapus'); } public function getAbsensi(Request $request) { $id_project = $request->get('id_project'); $tanggal = DailyReport::select('created_at')->where('id_project', $id_project)->get(); $pekerja = DatabasePekerja::where('id_project', $id_project)->get(); echo '
'; foreach ($tanggal as $t) { echo ''; } echo ''; $pekerja_row = ''; $i = 0; foreach ($pekerja as $p) { $pekerja_row .= ''; $pekerja_row .= ''; $pekerja_row .= ''; foreach ($tanggal as $d) { $check = $this->_checkAbsen($p->id, $d->created_at, $i); $pekerja_row .= ''; } $pekerja_row .= ''; $pekerja_row .= ''; $pekerja_row .= ''; $i++; } echo $pekerja_row; echo '
Nama Pekerja Skill ' . date('d-m-Y', strtotime($t->created_at)) . ' Upah Total Upah
' . $p->nama . '' . $p->keahlian . '' . $check . '
'; } private function _checkAbsen($id_pekerja, $tanggal, $i) { $row = Absensi::where([['id_database_pekerja', $id_pekerja], ['created_at', '>=', date('Y-m-d H:i:s', strtotime($tanggal))], ['created_at', '<', date('Y-m-d H:i:s', strtotime('+1 days', strtotime($tanggal)))]])->count(); if ($row > 0) { return ''; } else if ($row < 1) { return ''; } } public static function checkIfAbsen($id_pekerja, $tanggal) { $row = Absensi::where([['id_database_pekerja', $id_pekerja], ['created_at', '>=', date('Y-m-d H:i:s', strtotime($tanggal))], ['created_at', '<', date('Y-m-d H:i:s', strtotime('+1 days', strtotime($tanggal)))]])->count(); if ($row > 0) { return ''; } else if ($row < 1) { return ''; } } public static function checkIfAbsenEdit($id_pekerja, $tanggal, $a) { $row = Absensi::where([['id_database_pekerja', $id_pekerja], ['created_at', '>=', date('Y-m-d H:i:s', strtotime($tanggal))], ['created_at', '<', date('Y-m-d H:i:s', strtotime('+1 days', strtotime($tanggal)))]])->count(); if ($row > 0) { return ''; } else if ($row < 1) { return ''; } } }