public function add($id) { $input = Request::all(); $peminjam = Peminjam::select('id')->where('nim/nip', $input['nipnim'])->first(); $rules = array('nipnim' => 'required|exists:peminjam,nim/nip'); $validator = Validator::make($input, $rules); if ($validator->fails()) { return view('error'); } else { $check = 0; /* Cek apakah barang sedang dipinjam oleh orang lain */ $check += Transaksi::where('id_alat', $id)->where('dikembalikan', '0000-00-00 00:00:00')->count(); /* Cek apakah barang sudah dibooking oleh orang lain, kalo dibooking orang tersebut, boleh */ $check += Booking::where('id_alat', $id)->where('id_pengguna', '<>', $peminjam->id)->where('mulai', '<=', date('Y-m-d H:i:s', time()))->where('selesai', '>=', date('Y-m-d H:i:s', time()))->count(); /* Cek apakah barang sedang dipelihara */ $check += Pemeliharaan::where('id_alat', $id)->where('mulai', '<=', date('Y-m-d H:i:s', time()))->where('selesai', '0000-00-00 00:00:00')->count(); if ($check == 0) { $transaksi = new Transaksi(); $transaksi->id_alat = $id; $transaksi->id_pengguna = $peminjam->id; $transaksi->dipinjam = date('Y-m-d H:i:s', time()); $transaksi->save(); return redirect('/dipinjam'); } else { return view('error'); } } }
public function alat($id) { $alat = Alat::where('alat.id', '=', $id)->join('penyimpanan', 'penyimpanan.id_alat', '=', 'alat.id')->join('lokasi', 'lokasi.id', '=', 'penyimpanan.id_lokasi')->select('alat.id as id', 'alat.nama as nama', 'lokasi.nama as lokasi', 'kode')->get(); $is_available = Alat::where('alat.id', '=', $id)->whereNotExists(function ($query) { $query->select(DB::raw(1))->from('transaksi')->where('dikembalikan', '0000-00-00 00:00:00')->whereRaw('transaksi.id_alat = alat.id'); })->whereNotExists(function ($query) { $query->select(DB::raw(1))->from('booking')->where('mulai', '<=', date('Y-m-d H:i:s', time()))->where('selesai', '>=', date('Y-m-d H:i:s', time()))->whereRaw('booking.id_alat = alat.id'); })->whereNotExists(function ($query) { $query->select(DB::raw(1))->from('pemeliharaan')->where('selesai', '0000-00-00 00:00:00')->whereRaw('pemeliharaan.id_alat = alat.id'); })->count(); $is_maintenance = Alat::where('alat.id', '=', $id)->whereNotExists(function ($query) { $query->select(DB::raw(1))->from('pemeliharaan')->where('selesai', '0000-00-00 00:00:00')->whereRaw('pemeliharaan.id_alat = alat.id'); })->count(); $history_t = Transaksi::where('id_alat', '=', $id)->join('peminjam', 'transaksi.id_pengguna', '=', 'peminjam.id')->select('dipinjam', 'dikembalikan', 'nim/nip as id', 'nama')->get(); $history_m = Pemeliharaan::where('id_alat', '=', $id)->get(); return view('deskripsialat', ['alat' => $alat, 'is_available' => $is_available, 'is_maintenance' => $is_maintenance, 'history_t' => $history_t, 'history_m' => $history_m]); }
public function add($id) { $input = Request::all(); $peminjam = Peminjam::select('id')->where('nim/nip', $input['nipnim'])->first(); $rules = array('nipnim' => 'required|exists:peminjam,nim/nip', 'mulai' => 'required', 'selesai' => 'required'); $validator = Validator::make($input, $rules); if ($validator->fails()) { //return $this->failed(array('message' => $validator->messages())); echo "Validation"; return view('error'); } else { $booking_mulai = date('Y-m-d H:i:s', strtotime($input['mulai'])); $booking_selesai = date('Y-m-d H:i:s', strtotime($input['selesai'])); $check = 0; /* Cek apakah barang sedang dipinjam oleh orang lain */ $check += Transaksi::where('id_alat', $id)->where('dikembalikan', '0000-00-00 00:00:00')->count(); /* Cek apakah barang sudah dibooking oleh orang lain */ $check += Booking::where('id_alat', $id)->where(function ($query) use($booking_mulai, $booking_selesai) { $query->where(function ($query) use($booking_mulai, $booking_selesai) { $query->where('mulai', '>=', $booking_mulai)->where('mulai', '<=', $booking_selesai)->where('selesai', '>=', $booking_selesai); })->orwhere(function ($query) use($booking_mulai, $booking_selesai) { $query->where('mulai', '<=', $booking_mulai)->where('selesai', '>', $booking_mulai)->where('mulai', '<', $booking_selesai)->where('selesai', '>=', $booking_selesai); })->orwhere(function ($query) use($booking_mulai, $booking_selesai) { $query->where('mulai', '<=', $booking_mulai)->where('selesai', '>=', $booking_mulai)->where('selesai', '<=', $booking_selesai); })->orwhere(function ($query) use($booking_mulai, $booking_selesai) { $query->where('mulai', '>=', $booking_mulai)->where('selesai', '<=', $booking_selesai); }); })->count(); /* Cek apakah barang sedang dipelihara */ $check += Pemeliharaan::where('id_alat', $id)->where('mulai', '<=', $booking_mulai)->where('selesai', '0000-00-00 00:00:00')->count(); if ($check == 0) { $booking = new Booking(); $booking->id_alat = $id; $booking->id_pengguna = $peminjam->id; $booking->mulai = $booking_mulai; $booking->selesai = $booking_selesai; $booking->save(); //return $this->success(); return redirect('/dibooking'); } else { //return $this->failed(array('message' => "Barang belum dikembalikan")); echo "Barang belum dikembalikan" . $id; return view('error'); } } }
public function del($id) { Pemeliharaan::where('id_alat', $id)->where('selesai', '0000-00-00 00:00:00')->update(['selesai' => date('Y-m-d H:i:s', time())]); return redirect('/dipelihara'); }