/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Disciplina::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'cargaHoraria' => $this->cargaHoraria, 'creditos' => $this->creditos, 'possuiMonitoria' => $this->traducao_possui_monitoria]); $query->andFilterWhere(['like', 'codDisciplina', $this->codDisciplina])->andFilterWhere(['like', 'nomeDisciplina', $this->nomeDisciplina]); return $dataProvider; }
/** * Updates an existing DisciplinaPeriodo model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $model->scenario = 'default'; if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id]); } else { $lista = Disciplina::find()->all(); foreach ($lista as $l) { $l->nomeDisciplina = $l->codDisciplina . ' - ' . $l->nomeDisciplina; } $arrayDisciplinas = ArrayHelper::map($lista, 'id', 'nomeDisciplina'); return $this->render('update', ['model' => $model, 'arrayDisciplinas' => $arrayDisciplinas]); } }
/** * @return \yii\db\ActiveQuery */ public function getDisciplina() { return $this->hasOne(Disciplina::className(), ['id' => 'idDisciplina']); }
/** * @return \yii\db\ActiveQuery */ public function getDisciplinas() { return $this->hasMany(Disciplina::className(), ['IDCurso' => 'ID']); }
/** * Finds the Disciplina model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Disciplina the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Disciplina::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function actionGerarplanosemestral($id) { $modelPeriodo = DisciplinaPeriodo::find()->orderBy(['anoPeriodo' => SORT_DESC, 'numPeriodo' => SORT_DESC])->one(); $justi = PeriodoInscricaoMonitoria::find()->where(['id' => $id])->one(); $periodoletivo = $modelPeriodo->anoPeriodo . '/' . $modelPeriodo->numPeriodo; $dadosCabecalho = Periodo::find()->where(['codigo' => $periodoletivo])->one(); if ($dadosCabecalho != null) { $cssfile = file_get_contents('../web/css/estilo1.css'); $mpdf = new mPDF('utf-8', 'A4-L'); $mpdf->title = '1. Plano Semestral de Monitoria'; $mpdf->WriteHTML($cssfile, 1); $mpdf->SetHTMLHeader(' <img src="../web/img/cabecalho1.png" alt="Universidade Federal do Amazonas...." width="980" height="100"> '); $mpdf->SetHTMLFooter('<p> OBS.: Este plano foi aprovado em reunião departamental na data de ' . date('d') . ' / ' . date('m') . ' /' . date('Y') . '. Manaus, ' . date('d') . ' / ' . date('m') . ' /' . date('Y') . ' _______________________________________________ Chefe do Depto (com carimbo) </p> '); $mpdf->WriteHTML(' <br><br><br><br> <table id="cabecalho1" width="99%" height="100%"> <tr> <td bgcolor="#e6e6e6" width="11%">DEPARTAMENTO</td> <td width="40%">Coordenação Acadêmica</td> <td bgcolor="#e6e6e6" width="10%">UNIDADE</td> <td width="28%">Instituto de Computação - IComp</td> </tr> </table> <table id = "cabecalho2" width="21%" height="100%"> <tr> <td bgcolor="#e6e6e6" width="11%">PERÍODO LETIVO</td> <td width="10px">' . $modelPeriodo->anoPeriodo . '/' . $modelPeriodo->numPeriodo . ' </td> </tr> </table> '); // Tabela do meio do documento $mpdf->WriteHTML(' <br> <table id="plano_semestral" width="1000px" height="5"> <tr> <td bgcolor="#e6e6e6" width="389px" rowspan=2>DISCIPLINAS<br> (código e título, sem abreviações)</td> <td bgcolor="#e6e6e6" width="60px" rowspan=2>QTO</td> <td bgcolor="#e6e6e6" width="60px" rowspan=2>QAT</td> <td bgcolor="#e6e6e6" width="60px" colspan=2>LAB.</td> <td bgcolor="#e6e6e6" width="361px" rowspan=2>PROFESSOR<br>ORIENTADOR</td> <td bgcolor="#e6e6e6" width="70px" colspan=2>VAGAS<br>SOLICITADAS</td> </tr> <tr> <td bgcolor="#e6e6e6" width="3%">SIM</tr> <td bgcolor="#e6e6e6" width="3%">NÃO</tr> <td bgcolor="#e6e6e6" width="3%">B</tr> <td bgcolor="#e6e6e6" width="3%">NB</tr> </tr> </table> '); $disciplinas = Disciplina::find()->orderBy(['nomeDisciplina' => SORT_ASC])->all(); $contador = 0; // O find acima pega todas as disciplinas com nome distinto if ($disciplinas == null) { return $this->render('index'); } else { $contador = 0; foreach ($disciplinas as $disc) { $contTurmas = $vagasOfertadas = $vagasBolsistas = $vagasNaoBolsistas = 0; // l1t1 significa lab = 1, turma(qtde) = 1 $l1 = DisciplinaMonitoria::find()->where(['nomeDisciplina' => $disc->nomeDisciplina])->andWhere(['codDisciplina' => $disc->codDisciplina])->andWhere(['lab' => 1])->all(); $l0 = DisciplinaMonitoria::find()->where(['nomeDisciplina' => $disc->nomeDisciplina])->andWhere(['codDisciplina' => $disc->codDisciplina])->andWhere(['lab' => 0])->all(); if ($l1 != null) { $contL1 = count($l1); foreach ($l1 as $d1) { $contTurmas++; $vagasOfertadas = $d1->qtdVagas + $vagasOfertadas; $vagasBolsistas = $d1->qtdMonitorBolsista + $vagasBolsistas; $vagasNaoBolsistas = $d1->qtdMonitorNaoBolsista + $vagasNaoBolsistas; } if ($contL1 == 1) { foreach ($l1 as $d1) { $mpdf->WriteHTML(' <table id="plano_semestral" width="1000px" height="5"> <tr> <td width="387px" rowspan=2 style="max-width: 387px;">' . $d1->codDisciplina . ' -<br>' . $d1->nomeDisciplina . '</td> <td width="60px" rowspan=2>' . $contTurmas . '</td> <td width="60px" rowspan=2>' . $vagasOfertadas . '</td> <td width="30px">X</tr> <td width="30px"></tr> <td width="361px" rowspan=2>' . $d1->nomeProfessor . '</td> <td width="34px">' . $vagasBolsistas . '</tr> <td width="34px">' . $vagasNaoBolsistas . '</tr> </tr> </table> '); } $contador++; } else { $profsDisc = DisciplinaMonitoria::find()->select('nomeProfessor')->where(['nomeDisciplina' => $disc->nomeDisciplina])->andWhere(['codDisciplina' => $disc->codDisciplina])->andWhere(['lab' => 1])->distinct()->asArray()->all(); $contador = count($prosDisc) + $contador; $profs = $this->convert_array_imploding($profsDisc); $mpdf->WriteHTML(' <table id="plano_semestral" width="1000px" height="5"> <tr> <td width="387px" rowspan=2 style="max-width: 387px;">' . $d1->codDisciplina . ' -<br>' . $d1->nomeDisciplina . '</td> <td width="60px" rowspan=2>' . $contTurmas . '</td> <td width="60px" rowspan=2>' . $vagasOfertadas . '</td> <td width="30px">X</tr> <td width="30px"> </tr> <td width="361px" rowspan=2>' . $profs . '</td> <td width="34px">' . $vagasBolsistas . '</tr> <td width="34px">' . $vagasNaoBolsistas . '</tr> </tr> </table> '); } $contTurmas = $vagasOfertadas = $vagasBolsistas = $vagasNaoBolsistas = 0; } if ($l0 != null) { foreach ($l0 as $d0) { $contTurmas++; $vagasOfertadas = $d0->qtdVagas + $vagasOfertadas; $vagasBolsistas = $d0->qtdMonitorBolsista + $vagasBolsistas; $vagasNaoBolsistas = $d0->qtdMonitorNaoBolsista + $vagasNaoBolsistas; $contador++; } $contL0 = count($l0); if ($contL0 == 1) { foreach ($l0 as $d0) { $mpdf->WriteHTML(' <table id="plano_semestral" width="1000px" height="5"> <tr> <td width="387px" rowspan=2 style="max-width: 387px;">' . $d0->codDisciplina . ' -<br>' . $d0->nomeDisciplina . '</td> <td width="60px" rowspan=2>' . $contTurmas . '</td> <td width="60px" rowspan=2>' . $vagasOfertadas . '</td> <td width="30px"> </tr> <td width="30px">X</tr> <td width="361px" rowspan=2>' . $d0->nomeProfessor . '</td> <td width="34px">' . $vagasBolsistas . '</tr> <td width="34px">' . $vagasNaoBolsistas . '</tr> </tr> </table> '); $contador++; } } else { $profsDisc = DisciplinaMonitoria::find()->select('nomeProfessor')->where(['nomeDisciplina' => $disc->nomeDisciplina])->andWhere(['codDisciplina' => $disc->codDisciplina])->andWhere(['lab' => 0])->distinct()->asArray()->all(); $contador = count($prosDisc) + $contador; $profs = $this->convert_array_imploding($profsDisc); $mpdf->WriteHTML(' <table id="plano_semestral" width="1000px" height="5"> <tr> <td width="387px" rowspan=2 style="max-width: 387px;">' . $d0->codDisciplina . ' -<br>' . $d0->nomeDisciplina . '</td> <td width="60px" rowspan=2>' . $contTurmas . '</td> <td width="60px" rowspan=2>' . $vagasOfertadas . '</td> <td width="30px"> </tr> <td width="30px">X</tr> <td width="361px" rowspan=2>' . $profs . '</td> <td width="34px">' . $vagasBolsistas . '</tr> <td width="34px">' . $vagasNaoBolsistas . '</tr> </tr> </table> '); } } } # else FOR ( $d == null ) END } # foreach($disciplinas as $disc) END if ($contador >= 10) { $mpdf->AddPage(); $mpdf->WriteHTML('<br><br><br><br>'); } $mpdf->WriteHTML(' <br> <p>OBS.: é imprescindível o preenchimento dos campos acima para a análise pela Comissão de Monitoria</p> <p> LEGENDA: QTO= quantidade de turmas oferecidas no semestre<br> QAT= quantidade de alunos por turma<br> LAB.= existência de laboratório na disciplina<br> B= bolsista<br> NB= não bolsista </p> <p style="font-family: times; font-size: 12px;">JUSTIFICATIVAS:<br> ' . $justi->justificativa . ' '); $mpdf->Output(); exit; } else { return $this->render('index'); } }
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]); ?> <?php if (!$model->isNewRecord) { ?> <?php echo $form->field($model, 'numProcs')->textInput(['maxlength' => 15, 'style' => 'width:130px', 'readonly' => true]); ?> <?php } ?> <?php echo $form->field($model, 'IDDisc')->dropDownList(ArrayHelper::map(Disciplina::find()->orderBy('nomeDisciplina')->asArray()->all(), 'id', 'nomeDisciplina'), ['prompt' => 'Selecione a disciplina', 'style' => 'width:600px']); ?> <?php echo $form->field($model, 'file')->fileInput(); ?> <?php echo $form->field($model, 'semestreConclusao')->textInput(['style' => 'width:100px']); ?> <?php echo $form->field($model, 'anoConclusao')->textInput(['style' => 'width:100px']); ?> <?php echo $form->field($model, 'mediaFinal')->textInput(['style' => 'width:100px']); ?>
public function afterFind() { switch ($this->bolsa) { case 0: $this->traducao_bolsa = 'Não'; break; case 1: $this->traducao_bolsa = 'Sim'; break; } switch ($this->status) { case 0: $this->traducao_status = 'Aguardando Avaliação'; break; case 1: $this->traducao_status = 'Selecionado com bolsa'; break; case 2: $this->traducao_status = 'Selecionado sem bolsa'; break; case 3: $this->traducao_status = 'Não selecionado'; break; case 4: $this->traducao_status = 'Indeferido - Nota < 7'; break; case 5: $this->traducao_status = 'Indeferido - Coeficiente < 5'; break; case 6: $this->traducao_status = 'Indeferido - Não cursou a disciplina'; break; } $periodo = PeriodoInscricaoMonitoria::findOne(['id' => $this->IDperiodoinscr]); $this->IDperiodoinscr = $periodo->ano . '/' . $periodo->periodo; $disciplinaPeriodo = DisciplinaPeriodo::findOne($this->IDDisc); $disciplina = Disciplina::find()->where(['id' => $disciplinaPeriodo->idDisciplina])->one(); $this->nomeDisciplina = $disciplina->nomeDisciplina; $curso = Curso::find()->where(['id' => $disciplinaPeriodo->idCurso])->one(); $this->nomeCurso = $curso->nome; }
/** * @return \yii\db\ActiveQuery */ public function getIDDisc() { return $this->hasOne(Disciplina::className(), ['ID' => 'IDDisc']); }