assalamulaikum laporan progress sub domainnya sudah bisa diakses: https://newpmb.danova.id yang diupload modul auth sama pergantian thema alamat modul auth https://newpmb.danova.id/auth/manage username:superuser password:*Masuk123 registime nya bagaimana pengurangan kuota 4 va kolau ndak ada gelombang yang aktif stusa nya ndak ada $row_data_page = RowTables::all(); $year_data = Years::all(); $gelombang_data = Gelombang::with(['year'])->get(); $row_page = $row_data_page[0]->row; $request_row_page = $request->row; $search = $request->search; $gelombang = $request->gelombang; $year = $request->year; $query_pendaftar = SiswaProfile::query(); // paging by row // pencarian by nama mhs // filter by gelombang // filter by tahun if ($request_row_page != null) { $row_page = $request_row_page; } if ($search != null) { $query_pendaftar->where('name', 'like', "%{$search}%"); } if ($gelombang != null) { $query_pendaftar->whereHas('user.study_plans', function ($query) use ($gelombang) { return $query->where('gelombang_id', $gelombang); }); } // kalo tidak ada yang aktif peserta tidak ditampilkan $gelombang_aktif = $gelombang_data->where('status', true)->first(); if ($gelombang == null) { // dd($gelombang_aktif); if ($gelombang_aktif != null) { $query_pendaftar->whereHas('user.study_plan', function ($query) use ($gelombang_aktif) { return $query->where('gelombang_id', $gelombang_aktif->id); }); } else { $query_pendaftar->whereHas('user.study_plan', function ($query) use ($gelombang_aktif) { return $query->where('gelombang_id', null); }); } } if ($year != null) { $query_pendaftar->whereHas('user.study_plans.gelombang.year', function ($query) use ($year) { return $query->where('id', $year); }); } ppwa akademik sama masing prodi : cuman lihat bagian prodi $gelombang = Gelombang::where('status', '=', true) // ->where('id', '=', $id_gelombang) // ->whereHas('sesi_ujian) ->first(); $sesi_ujians = $gelombang->sesi_ujian()->get(); try { // mangambil sesi ujian foreach ($sesi_ujians as $sesi_ujian) { $peserta = 0; $siswa_sesi = []; $limit = $sesi_ujian->capasity - $sesi_ujian->jumlah_pendaftar; $study_plans_query = StudyPlan::query(); $study_plans_query->where('gelombang_id', $gelombang->id); $study_plans_query->whereDoesntHave('jadwal_ujian'); $study_plans_query->whereHas("first_prodi.test", function ($query) { return $query->where('is_cbt', '=', true); }); $study_plans_query->whereHas("second_prodi.test", function ($query) { return $query->where('is_cbt', '=', true); }); $study_plans_query->whereRelation('user.bayar_daftar.struck_daftar', 'accept', true); $study_plans = $study_plans_query->with('user')->limit($limit)->get(); foreach ($study_plans as $study_plan) { // cek apa prodi punya test cbt ++$peserta; $pin = random_int(100000, 999999); $siswa_sesi_satu = [ "study_plan_id" => $study_plan->id, "sesi_id" => $sesi_ujian->id, "pin" => $pin, ]; // kirim sms bahwa siswa sudah mendapat pin // SMSHelper::sendSMSText($study_plan->user->no_hp, "Info PMB UMMAT PIN anda sudah digit Generate silahkan cek dashboard"); array_push($siswa_sesi, $siswa_sesi_satu); } $sesi_ujian->jumlah_pendaftar = $peserta; $sesi_ujian->save(); JadwalUjian::insert($siswa_sesi); } return ResponseFormatter::response(true, [ 'message' => 'Berhasil Merubah Data', ], Response::HTTP_OK); } catch (Exception $error) { if (isset($error->validator)) { return ResponseFormatter::response(false, [ 'message' => 'Gagal menambahkan data', 'error' => $error->validator->getMessageBag(), ], $error->status); } return ResponseFormatter::response(false, [ 'message' => 'Gagal menambahkan data', 'error' => $error, ], 500); } $gelombang = Gelombang::where('status', '=', true) // ->where('id', '=', $id_gelombang) // ->whereHas('sesi_ujian) ->first(); $sesi_ujians = $gelombang->sesi_ujian()->get(); // try { // mangambil sesi ujian $siswa_sesi = []; $sesi_ujians->each(function ($sesi_ujian, $key) use ($gelombang, $siswa_sesi) { $peserta = 0; $limit = $sesi_ujian->capasity - $sesi_ujian->jumlah_pendaftar; $study_plans_query = StudyPlan::query(); $study_plans_query->where('gelombang_id', $gelombang->id); $study_plans_query->whereDoesntHave('jadwal_ujian'); $study_plans_query->whereHas("first_prodi.test", function ($query) { return $query->where('is_cbt', '=', true); }); $study_plans_query->whereHas("second_prodi.test", function ($query) { return $query->where('is_cbt', '=', true); }); $study_plans_query->whereRelation('user.bayar_daftar.struck_daftar', 'accept', true); $study_plans = $study_plans_query->with('user')->limit($limit)->get(); $study_plans->each(function ($study_plan, $key) use ($peserta, $sesi_ujian) { // cek apa prodi punya test cbt ++$peserta; $pin = random_int(100000, 999999); $siswa_sesi_satu = [ "study_plan_id" => $study_plan->id, "sesi_id" => $sesi_ujian->id, "pin" => $pin, ]; // kirim sms bahwa siswa sudah mendapat pin // SMSHelper::sendSMSText($study_plan->user->no_hp, "Info PMB UMMAT PIN anda sudah digit Generate silahkan cek dashboard"); array_push($siswa_sesi, $siswa_sesi_satu); // dd($siswa_sesi); }); $sesi_ujian->jumlah_pendaftar = $peserta; $sesi_ujian->save(); }); dd($siswa_sesi); JadwalUjian::insert($siswa_sesi); // return ResponseFormatter::response(true, [ // 'message' => 'Berhasil Merubah Data', // ], Response::HTTP_OK); // } catch (Exception $error) { // if (isset($error->validator)) { // return ResponseFormatter::response(false, [ // 'message' => 'Gagal menambahkan data', // 'error' => $error->validator->getMessageBag(), // ], $error->status); // } // return ResponseFormatter::response(false, [ // 'message' => 'Gagal menambahkan data', // 'error' => $error, // ], 500); // }