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