/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return Response */ public function store(Request $request) { $rules = array('jenis_barang' => 'required', 'id_peminjam' => 'required|integer', 'waktu_rencana_kembali' => 'required'); $validator = Validator::make(Input::all(), $rules); // process the login if ($validator->fails()) { return $validator->messages()->toJson(); } else { //cek id pengguna $pengguna = Pengguna::find(Input::get('id_peminjam')); if (!$pengguna) { return "ID pengguna tidak ditemukan"; } // cek ketersediaan $alat_sesuai_jenis = Peralatan::where('jenis', '=', Input::get('jenis_barang'))->get(); $selected_id = -1; $now = Carbon::now()->addHours(7)->toDateTimeString(); $curTime = strtotime($now); if (!checkDateTime(Input::get('waktu_rencana_kembali'))) { return "Waktu rencana kembali tidak valid"; } if ($curTime >= strtotime(Input::get('waktu_rencana_kembali'))) { return "Waktu rencana kembali tidak valid"; } $waktu_rencana_kembali_time = strtotime(Input::get('waktu_rencana_kembali')); foreach ($alat_sesuai_jenis as $alat) { $available = true; if (strcmp($alat->status, "Baik") != 0 || strcmp($alat->ketersediaan, "Tersedia") != 0) { $available = false; break; } //cek di data booking $booking_of_alat = Booking::where('id_barang', '=', $alat->id)->get(); foreach ($booking_of_alat as $booking) { $booking_mulai_time = strtotime($booking->waktu_booking_mulai); $booking_selesai_time = strtotime($booking->waktu_booking_selesai); if ($curTime >= $booking_mulai_time && $curTime <= $booking_selesai_time || $waktu_rencana_kembali_time >= $booking_mulai_time && $waktu_rencana_kembali_time <= $booking_selesai_time || $booking_mulai_time >= $curTime && $booking_mulai_time <= $waktu_rencana_kembali_time || $booking_selesai_time >= $curTime && $booking_selesai_time <= $waktu_rencana_kembali_time) { $available = false; } } if ($available) { $selected_id = $alat->id; } } if ($selected_id < 1) { return "Tidak ada alat tersedia"; } else { //cek tanggal if (strtotime(Input::get('waktu_rencana_kembali')) <= strtotime(Input::get('waktu_pinjam'))) { return "Tanggal tidak valid"; } else { // store $transaksi = new transaksi(); $transaksi->id_barang = $selected_id; //ganti dengan jenis barang $transaksi->id_peminjam = Input::get('id_peminjam'); $transaksi->waktu_pinjam = $now; $transaksi->waktu_rencana_kembali = Input::get('waktu_rencana_kembali'); $transaksi->save(); //ubah ketersediaan peralatan $peralatan = Peralatan::find($selected_id); if (!$peralatan) { return "ID peralatan tidak ditemukan"; } $peralatan->ketersediaan = "Sedang Digunakan"; $peralatan->save(); return $transaksi->id; } } } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $rules = array('jenis_barang' => 'required', 'id_pembooking' => 'required|integer', 'waktu_booking_mulai' => 'required', 'waktu_booking_selesai' => 'required'); $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return $validator->messages()->toJson(); } else { if (!checkDateTime(Input::get('waktu_booking_mulai'))) { return "Waktu booking mulai tidak valid"; } if (!checkDateTime(Input::get('waktu_booking_selesai'))) { return "Waktu booking selesai tidak valid"; } if (strtotime(Input::get('waktu_booking_mulai')) >= strtotime(Input::get('waktu_booking_selesai'))) { return "Waktu booking mulai > waktu booking selesai"; } /* cek id pembooking */ $pengguna = Pengguna::find(Input::get('id_pembooking')); if (!$pengguna) { return "ID pengguna tidak ditemukan"; } $booking = Booking::find($id); if (!$booking) { return "Not Found"; } /* cek apakah jenis peralatan berubah * jika berubah, cari alat baru */ $id_barang_old = $booking->id_barang; $barang_old = Peralatan::find($id_barang_old); $jenis_barang_old = $barang_old->jenis; $selected_id = -1; if (strcmp(Input::get('jenis_barang'), $jenis_barang_old) == 0) { $selected_id = $id_barang_old; } else { //cari peralatan baru jika jenis berubah $alat_sesuai_jenis = Peralatan::where('jenis', '=', Input::get('jenis_barang'))->get(); $input_booking_mulai_time = strtotime(Input::get('waktu_booking_mulai')); $input_booking_selesai_time = strtotime(Input::get('waktu_booking_selesai')); foreach ($alat_sesuai_jenis as $alat) { $available = true; /* Cek di tabel booking */ $booking_of_alat = Booking::where('id_barang', '=', $alat->id)->get(); foreach ($booking_of_alat as $booking) { $booking_mulai_time = strtotime($booking->waktu_booking_mulai); $booking_selesai_time = strtotime($booking->waktu_booking_selesai); if ($input_booking_mulai_time > $booking_mulai_time && $input_booking_mulai_time < $booking_selesai_time || $input_booking_selesai_time > $booking_mulai_time && $input_booking_selesai_time < $booking_selesai_time || $booking_mulai_time > $input_booking_mulai_time && $booking_mulai_time < $input_booking_selesai_time || $booking_selesai_time > $input_booking_mulai_time && $booking_selesai_time < $input_booking_selesai_time) { $available = false; } } /* Cek di tabel transaksi */ if ($available) { $transaksi_of_alat = Transaksi::where('id_barang', '=', $alat->id)->get(); foreach ($transaksi_of_alat as $transaksi) { $transaksi_pinjam_time = $transaksi->waktu_pinjam; $transaksi_rencana_kembali_time = $transaksi->waktu_rencana_kembali; if ($input_booking_mulai_time > $transaksi_pinjam_time && $input_booking_mulai_time < $transaksi_rencana_kembali_time || $input_booking_selesai_time > $transaksi_pinjam_time && $input_booking_selesai_time < $transaksi_rencana_kembali_time || $transaksi_pinjam_time > $input_booking_mulai_time && $transaksi_pinjam_time < $input_booking_selesai_time || $transaksi_rencana_kembali_time > $input_booking_mulai_time && $transaksi_rencana_kembali_time < $input_booking_selesai_time) { $available = false; } } } if ($available) { $selected_id = $alat->id; } } } if ($selected_id < 1) { return "Tidak ada alat tersedia"; } else { /* cek tanggal */ if (strtotime(Input::get('waktu_booking_selesai')) <= strtotime(Input::get('waktu_booking_mulai'))) { return "Tanggal tidak valid"; } else { // store $booking->id_barang = $selected_id; $booking->id_pembooking = Input::get('id_pembooking'); $booking->waktu_booking_mulai = Input::get('waktu_booking_mulai'); $booking->waktu_booking_selesai = Input::get('waktu_booking_selesai'); $booking->save(); return $booking->id; } } } }
public function bulananPpk() { if (Request::get('monthFrom') < 10) { $dateFrom = Request::get('yearFrom') . '-0' . Request::get('monthFrom') . '-01'; } else { $dateFrom = Request::get('yearFrom') . '-' . Request::get('monthFrom') . '-01'; } if (Request::get('monthTo') < 10) { $dateTo = Request::get('yearTo') . '-0' . Request::get('monthTo') . '-01'; } else { $dateTo = Request::get('yearTo') . '-' . Request::get('monthTo') . '-01'; } $counts = []; $bil = 1; $units = Unit::find(\Auth::user()->unit); $kategoris = Kategori::where('unit', \Auth::user()->unit)->where('status', 'active')->get(); if (\Auth::user()->level->id == 1) { $kategoris = Kategori::where('status', 'active')->get(); } foreach ($kategoris as $kategori) { $peralatans = Peralatan::where('kategori_id', $kategori->id)->get(); foreach ($peralatans as $peralatan) { $count = Laporan::where('tarikh', '>=', $dateFrom)->where('tarikh', '<=', $dateTo)->where('peralatan_id', $peralatan->id)->count(); array_push($counts, ['kategori' => $kategori->nama, 'peralatan' => $peralatan->nama, 'count' => $count]); } } $bil = 1; $jumlah = 0; foreach ($counts as $count) { $jumlah += $count['count']; } // dd($counts); return View('members.supervisor.laporan.bulananPenempatan', compact('bil', 'counts', 'units', 'kategoris', 'jumlah')); }
/** * Display a listing of the resource. * * @return Response */ public function search($jenis) { return Peralatan::where('jenis', 'LIKE', '%' . $jenis . '%')->get(); }