Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // fungsi cek kehadiran dari worker disini
- public function cekkehadiran(Request $request) {
- $jadwal_id = null;
- $tipejadwal = null;
- $status_libur = false;
- $status_izin = false;
- $status_sakit = false;
- $status_cuti = false;
- $status_tap = false;
- //cek presensi
- $cekpresensi = Presensi::where('karyawan_id', $request->karyawan_id)->
- whereDate('tanggal_dan_waktu_tap', $request->tanggal)->
- first();
- if(isset($cekpresensi)) {
- $status_tap = true;
- } else {
- $status_tap = false;
- }
- //cek jadwal izin
- $jadwal_izin = JadwalIzin::where('karyawan_id', '=', $request->karyawan_id)->
- where('tanggal_mulai', '>=', date('Y-m-d', strtotime($request->tanggal)))->
- where('tanggal_selesai', '<=', date('Y-m-d', strtotime($request->tanggal)))->
- first();
- //cek jadwal ngeplus
- $jadwal_ngeplus = JadwalNgeplus::where('karyawan_id', '=', $request->karyawan_id)->
- where('tanggal_mulai', '>=', date('Y-m-d', strtotime($request->tanggal)))->
- where('tanggal_selesai', '<=', date('Y-m-d', strtotime($request->tanggal)))->
- first();
- //cek jadwal libur
- $jadwal_libur = JadwalLibur::where('karyawan_id', '=', $request->karyawan_id)->
- where('tanggal_mulai', '>=', date('Y-m-d', strtotime($request->tanggal)))->
- where('tanggal_selesai', '<=', date('Y-m-d', strtotime($request->tanggal)))->
- first();
- //cek jadwal rutin
- $jadwal_rutin = JadwalHariKerja::where('karyawan_id', '=', $request->karyawan_id)->get();
- if(count($jadwal_izin) > 0) {
- if($jadwal_izin->status == 'izin') {
- $status_izin = true;
- } else if($jadwal_izin->status == 'sakit') {
- $status_sakit = true;
- } else if($jadwal_izin->status == 'cuti') {
- $status_cuti = true;
- }
- $status_tap = false;
- $jadwal_id = $jadwal_izin->source_id;
- } else if(count($jadwal_ngeplus) > 0) {
- $status_tap = true;
- $tipejadwal = 'nge-plus';
- $jadwal_id = $jadwal_ngeplus->source_id;
- } else if(count($jadwal_libur) > 0) {
- $status_tap = false;
- $status_libur = true;
- $jadwal_id = $jadwal_libur->source_id;
- } else if(count($jadwal_rutin) > 0) {
- for($i = 0; $i < count($jadwal_rutin);$i++) {
- $hari = Carbon::parse($request->tanggal)->format('w');
- if($jadwal_rutin[$i]->checkbox_harikerja_senin == 1 && $hari == 1) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- } else if($jadwal_rutin[$i]->checkbox_harikerja_selasa == 1 && $hari == 2) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- } else if($jadwal_rutin[$i]->checkbox_harikerja_rabu == 1 && $hari == 3) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- } else if($jadwal_rutin[$i]->checkbox_harikerja_kamis == 1 && $hari == 4) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- } else if($jadwal_rutin[$i]->checkbox_harikerja_jumat == 1 && $hari == 5) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- } else if($jadwal_rutin[$i]->checkbox_harikerja_sabtu == 1 && $hari == 6) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- } else if($jadwal_rutin[$i]->checkbox_harikerja_minggu == 1 && $hari == 0) {
- $status_tap = true;
- $tipejadwal = 'rutin';
- $jadwal_id = $jadwal_rutin[$i]->source_id;
- }
- }
- }
- $result = array(
- "karyawan_id" => $request->karyawan_id,
- "jadwal_id" => $jadwal_id,
- "tipe_jadwal" => $tipejadwal,
- "status_libur" => $status_libur,
- "status_izin" => $status_izin,
- "status_sakit" => $status_sakit,
- "status_cuti" => $status_cuti,
- "status_tap" => $status_tap,
- "tanggal" => $request->tanggal
- );
- return Response::json($result);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement