done lms mutu soal
This commit is contained in:
parent
f77eb9aeb1
commit
decc83cc92
@ -131,30 +131,30 @@ class SoalController extends Controller
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$validated = $validator->validate();
|
||||
$jawabanUtama = $validated['jawaban'] ?? [];
|
||||
$soalId = $validated['lms_mutu_soal_id'];
|
||||
|
||||
$detailIds = array_map('intval', array_keys($jawabanUtama));
|
||||
$detailMeta = SoalDetail::whereIn('id', $detailIds)
|
||||
$allDetails = SoalDetail::where('lms_mutu_soal_id', $soalId)
|
||||
->get(['id', 'soal'])
|
||||
->keyBy('id');
|
||||
|
||||
$jawabanBaru = null;
|
||||
$jawabanUtama = $validated['jawaban'] ?? [];
|
||||
$jawabanLainnya = $validated['jawaban_lainnya'] ?? [];
|
||||
$namaResponden = null;
|
||||
$jawabanBaru = null;
|
||||
$unitKerja = null;
|
||||
$pegawai = session('pegawai') ?? [];
|
||||
$pegawaiId = is_array($pegawai) ? ($pegawai['id'] ?? null) : 1;
|
||||
|
||||
DB::connection('dbLmsMutu')->transaction(function () use (&$jawabanBaru, $validated, $jawabanUtama, $jawabanLainnya, $detailMeta, &$namaResponden, &$unitKerja, $pegawaiId) {
|
||||
DB::connection('dbLmsMutu')->transaction(function () use (&$jawabanBaru, $validated, $jawabanUtama, $jawabanLainnya, $allDetails, &$namaResponden, &$unitKerja, $pegawaiId) {
|
||||
$jawabanBaru = Jawaban::create([
|
||||
'lms_mutu_soal_id' => $validated['lms_mutu_soal_id'],
|
||||
'pegawai_id' => $pegawaiId,
|
||||
'tanggal_isi' => Carbon::now()->addHour(7),
|
||||
]);
|
||||
|
||||
foreach ($jawabanUtama as $detailId => $answer) {
|
||||
foreach ($allDetails as $detailId => $detail) {
|
||||
$answer = $jawabanUtama[$detailId] ?? null;
|
||||
|
||||
if (is_array($answer)) {
|
||||
$answer = json_encode($answer);
|
||||
}
|
||||
@ -163,18 +163,12 @@ class SoalController extends Controller
|
||||
$answer = $jawabanLainnya[$detailId];
|
||||
}
|
||||
|
||||
if ($answer === null || $answer === '') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$detailIdInt = (int) $detailId;
|
||||
$pertanyaan = null;
|
||||
if ($detailMeta->has($detailIdInt)) {
|
||||
$decoded = json_decode($detailMeta[$detailIdInt]->soal, true);
|
||||
$pertanyaan = Str::lower(trim($decoded['soal'] ?? ''));
|
||||
}
|
||||
$decoded = json_decode($detail->soal, true);
|
||||
$pertanyaan = Str::lower(trim($decoded['soal'] ?? ''));
|
||||
|
||||
if ($pertanyaan) {
|
||||
|
||||
if ($pertanyaan && $answer) {
|
||||
if (Str::contains($pertanyaan, 'nama/inisial responden')) {
|
||||
$namaResponden = $answer;
|
||||
}
|
||||
@ -186,7 +180,7 @@ class SoalController extends Controller
|
||||
|
||||
JawabanDetail::create([
|
||||
'lms_mutu_jawaban_id' => $jawabanBaru->id,
|
||||
'lms_mutu_soal_detail_id' => $detailIdInt,
|
||||
'lms_mutu_soal_detail_id' => (int) $detailId,
|
||||
'jawaban' => $answer,
|
||||
]);
|
||||
}
|
||||
|
||||
@ -54,13 +54,9 @@
|
||||
<h5 class="fw-semibold mb-2">{{ $soal->judul_soal ?? 'Tanpa Judul' }}</h5>
|
||||
<p class="text-muted flex-grow-1">{{ \Illuminate\Support\Str::limit(strip_tags($soal->keterangan_soal ?? 'Belum ada keterangan'), 120) }}</p>
|
||||
<div class="mt-3 d-flex justify-content-between align-items-center">
|
||||
@if ($sudahDikerjakan)
|
||||
<span class="text-success fw-semibold">Terisi</span>
|
||||
@else
|
||||
<a href="{{ route('soal.index', ['start' => 1, 'soal_id' => $soal->id]) }}" class="btn btn-primary btn-sm btn-start">
|
||||
Mulai Isi
|
||||
<a href="{{ route('soal.index', ['start' => 1, 'soal_id' => $soal->id]) }}" class="btn {{ $sudahDikerjakan ? 'text-success fw-semibold' : 'btn-primary btn-sm btn-start'}} ">
|
||||
{{ $sudahDikerjakan ? 'Terisi' : 'Mulai Isi' }} Mulai Isi
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user