public function MahasiswaReport($mhs) { $matakuliah = AitkRMatakuliah::find()->where(['semester' => $mhs->semester])->andWhere(['jurusan' => NULL])->orWhere(['jurusan' => $mhs->jurusan])->all(); $tidkHadir = (int) AitkRequest::find()->where(["tipe_ijin" => "Tidak Hadir", 'status_dosen' => 1, "status_asrama" => 1, "mahasiswa_id" => $mhs->mahasiswa_id])->count(); $keluar = (int) AitkRequest::find()->where(["tipe_ijin" => "Keluar", 'status_dosen' => 1, "status_asrama" => 1, "mahasiswa_id" => $mhs->mahasiswa_id])->count(); $tidakHadir = AitkRequest::find()->where(["tipe_ijin" => "Tidak Hadir", 'status_dosen' => 1, "status_asrama" => 1, "mahasiswa_id" => $mhs->mahasiswa_id])->asArray()->all(); $arrIzin = array(); foreach ($tidakHadir as $arrayTidakHadir) { $arrIzin[] = AitkRequest::find()->where(["aitk_request.request_id" => $arrayTidakHadir['request_id'], 'aitk_request.status_dosen' => 1, "aitk_request.status_asrama" => 1])->joinWith('aitkMatakuliahizins', true, "INNER JOIN")->asArray()->all(); } $matakuliahIzinMhs = array(); foreach ($arrIzin as $izins) { foreach ($izins as $izin) { foreach ($izin['aitkMatakuliahizins'] as $sesiMatakuliah) { $matakuliahIzinMhs[] = $sesiMatakuliah; } } } $teoriId = array(); $prakId = array(); $lainnya = array(); foreach ($matakuliahIzinMhs as $mta) { if ($mta['sesi'] == "T") { $teoriId[] = $mta["matakuliah_id"]; } if ($mta['sesi'] == "P") { $prakId[] = $mta["matakuliah_id"]; } if ($mta['sesi'] == NULL) { $lainnya[] = $mta["matakuliah_id"]; } } $teoriId = array_count_values($teoriId); $prakId = array_count_values($prakId); $lainnya = array_count_values($lainnya); $totalTeori = array(); $totalPrak = array(); $totalLainnya = array(); $arrMatakuliah = array(); foreach ($matakuliah as $matkul) { $arrMatakuliah[] = $matkul['alias']; if (array_key_exists($matkul["matakuliah_id"], $teoriId)) { $totalTeori[] = $teoriId[$matkul["matakuliah_id"]]; } else { $totalTeori[] = 0; } if (array_key_exists($matkul["matakuliah_id"], $prakId)) { $totalPrak[] = $prakId[$matkul["matakuliah_id"]]; } else { $totalPrak[] = 0; } if (array_key_exists($matkul["matakuliah_id"], $lainnya)) { $totalLainnya[] = $lainnya[$matkul["matakuliah_id"]]; } else { $totalLainnya[] = 0; } } $arr = array(); $arr["totalTeori"] = $totalTeori; $arr["totalPrak"] = $totalPrak; $arr["totalLainnya"] = $totalLainnya; $arr["tidkHadir"] = $tidkHadir; $arr["keluar"] = $keluar; $arr["arrMatakuliah"] = $arrMatakuliah; return $arr; }
/** * @return \yii\db\ActiveQuery */ public function getMatakuliah() { return $this->hasOne(AitkRMatakuliah::className(), ['matakuliah_id' => 'matakuliah_id']); }
<?php } ?> <div class="body-content"> <?php $matakuliah = AitkDosenmatakuliah::find()->where(['dosen_id' => $dosen->dosen_id])->all(); $arrMatakuliahId = array(); $arrMatakuliah = array(); $arrTotalJam = array(); $arrayObjMatkul = array(); foreach ($matakuliah as $matkul) { $arrMatakuliahId[] = $matkul['matakuliah_id']; $arrayObjMatkul[] = AitkRMatakuliah::findOne($matkul['matakuliah_id']); } $totalTeori = array(); $totalPrak = array(); $totalLainnya = array(); foreach ($arrayObjMatkul as $ObjMatakuliah) { $arrMatakuliah[] = $ObjMatakuliah['alias']; $arrTotalJam[] = $ObjMatakuliah['jumlah_jam']; $totalTeori[] = (int) AitkMatakuliahizin::find()->where(['matakuliah_id' => $ObjMatakuliah['matakuliah_id'], 'sesi' => 'T'])->count(); $totalPrak[] = (int) AitkMatakuliahizin::find()->where(['matakuliah_id' => $ObjMatakuliah['matakuliah_id'], 'sesi' => 'P'])->count(); $totalLainnya[] = (int) AitkMatakuliahizin::find()->where(['matakuliah_id' => $ObjMatakuliah['matakuliah_id'], 'sesi' => NULL])->count(); } ?> <div class="row">
/** * @return \yii\db\ActiveQuery */ public function getMatakuliahs() { return $this->hasMany(AitkRMatakuliah::className(), ['matakuliah_id' => 'matakuliah_id'])->viaTable('aitk_dosenmatakuliah', ['dosen_id' => 'dosen_id']); }
</div> <div class="matakuliahIzin" style="display:none"> <?php echo $form->field($model, 'matakuliahList')->checkboxList(ArrayHelper::map(AitkRMatakuliah::find()->where(['semester' => $semester])->all(), 'matakuliah_id', 'matakuliah'), ['item' => function ($index, $label, $name, $checked, $value) { return Html::checkbox($name, $checked, ['value' => $value, 'label' => '<label for="' . $label . '">' . $label . '</label>', 'labelOptions' => ['class' => 'ckbox ckbox-primary checkbox-inline'], 'id' => current(explode(' ', $label)), 'class' => 'matakuliahIzinList']); }]); for ($i = 0; $i < $count; $i++) { $this->registerJs('$(\'' . '#' . current(explode(' ', $arrMatkul[$i])) . '\').click(function(){ if($("' . '#' . current(explode(' ', $arrMatkul[$i])) . '").is(\':checked\')) { $(".jamMatakuliah").show(); // checked $("#sesi' . current(explode(' ', $arrMatkul[$i])) . '").show(); // checked } else { $(".matakuliahIzinList").each(function() { $("#sesi' . current(explode(' ', $arrMatkul[$i])) . '").hide(); // checked }); }
</div> <div class="matakuliahIzin" style="display:none"> <?php echo $form->field($model, 'matakuliahList')->checkboxList(ArrayHelper::map(AitkRMatakuliah::find()->where(['semester' => $semester])->andWhere(['jurusan' => NULL])->orWhere(['jurusan' => $mahasiswaLogin->jurusan])->all(), 'matakuliah_id', 'alias'), ['item' => function ($index, $label, $name, $checked, $value) { return Html::checkbox($name, $checked, ['value' => $value, 'label' => '<label for="' . $label . '">' . $label . '</label>', 'labelOptions' => ['class' => 'ckbox ckbox-primary checkbox-inline'], 'id' => current(explode(' ', $label)), 'class' => 'matakuliahIzinList']); }]); for ($i = 0; $i < $count; $i++) { $this->registerJs('$(\'' . '#' . current(explode(' ', $arrMatkul[$i])) . '\').click(function(){ if($("' . '#' . current(explode(' ', $arrMatkul[$i])) . '").is(\':checked\')) { $(".jamMatakuliah").show(); // checked $("#sesi' . current(explode(' ', $arrMatkul[$i])) . '").show(); // checked } else { $(".matakuliahIzinList").each(function() { $("#sesi' . current(explode(' ', $arrMatkul[$i])) . '").hide(); // checked }); }