/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = EstadosEmocionais::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_estado_emocional' => $this->id_estado_emocional, 'id_tipo_estado_emocional' => $this->id_tipo_estado_emocional, 'id_usuario' => $this->id_usuario, 'data' => $this->data, 'criado_por' => $this->criado_por, 'criado_em' => $this->criado_em, 'modificado_por' => $this->modificado_por, 'modificado_em' => $this->modificado_em, 'ativo' => 1]); return $dataProvider; }
/** * Finds the EstadosEmocionais model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return EstadosEmocionais the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = EstadosEmocionais::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function actionAno($ano) { $meta = Configuracoes::findOne(1); $grafico = EstadosEmocionais::getGraficoAnoData($ano); return $this->render('ano', ['grafico' => $grafico, 'ano' => $ano, 'meta' => $meta->valor]); }
/** * @return \yii\db\ActiveQuery */ public function getEstadosEmocionais() { return $this->hasMany(EstadosEmocionais::className(), ['tipo_estado_emocional' => 'id_tipo_estado_emocional']); }
/** * @return \yii\db\ActiveQuery */ public function getEstadosEmocionais() { return $this->hasMany(EstadosEmocionais::className(), ['id_usuario' => 'id_usuario']); }
public static function getGraficoMesData($mes, $ano) { $consulta = "SELECT tipos_estados_emocionais.nome, count(estados_emocionais.id_tipo_estado_emocional) as total FROM estados_emocionais left outer join tipos_estados_emocionais on estados_emocionais.id_tipo_estado_emocional = tipos_estados_emocionais.id_tipo_estado_emocional WHERE estados_emocionais.ativo = 1 and tipos_estados_emocionais.privado = 0 and YEAR(estados_emocionais.data) = {$ano} and MONTH(estados_emocionais.data) = {$mes} GROUP BY tipos_estados_emocionais.nome"; $arrayGrafico = Yii::$app->db->createCommand($consulta)->queryAll(); $estadosNull = ['Bom' => 0, 'Regular' => 0, 'Ruim' => 0]; $meses = [1 => $estadosNull, 2 => $estadosNull, 3 => $estadosNull, 4 => $estadosNull, 5 => $estadosNull, 6 => $estadosNull, 7 => $estadosNull, 8 => $estadosNull, 9 => $estadosNull, 10 => $estadosNull, 11 => $estadosNull, 12 => $estadosNull]; $mesesNomes = [1 => 'Janeiro', 2 => 'Fevereiro', 3 => 'Março', 4 => 'Abril', 5 => 'Maio', 6 => 'Junho', 7 => 'Julho', 8 => 'Agosto', 9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro', 12 => 'Dezembro']; foreach ($arrayGrafico as $key => $value) { $nome = $value['nome']; $total = $value['total']; $meses[$mes][$nome] = $total; } $arrayCategorias = EstadosEmocionais::clearGraficoArray($meses, $mesesNomes); $arrayData = EstadosEmocionais::arrayByEstado($meses); $grafico = ['categorias' => $arrayCategorias, 'data' => $arrayData]; return $grafico; }
</li> <li> <a href="<?php echo Url::toRoute(["periodos-afastamento/index"]); ?> "> <img src="images/periodo-afastamento.png"> <p>Afastamentos</p> </a> </li> <li> <a href="<?php echo Url::toRoute(["usuarios/index"]); ?> "> <img src="images/usuarios.png"> <p>Usuários</p> </a> </li> </ul> </div> <?php $tipo_estado_emocional_ruim = TiposEstadosEmocionais::find()->select('id_tipo_estado_emocional')->where(['nome' => Yii::$app->params['estadosRuins']])->all(); $ids = []; foreach ($tipo_estado_emocional_ruim as $key => $value) { $ids[] = $value->id_tipo_estado_emocional; } $dataProvider = new ActiveDataProvider(['query' => EstadosEmocionais::find()->where(['id_tipo_estado_emocional' => $ids, 'motivo' => ""]), 'pagination' => ['pageSize' => 20]]); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], ['attribute' => 'tipoEstadoEmocional', 'label' => 'Estado Emocional', 'value' => 'tipoEstadoEmocional.imageUrl', 'format' => ['image', ['width' => '50', 'height' => '50']]], ['attribute' => 'usuario.nome_completo', 'label' => 'Colaborador'], ['attribute' => 'usuario.setor', 'label' => 'Setor'], ['attribute' => 'motivo'], ['attribute' => 'data', 'format' => ['date', 'dd/MM/Y']], ['class' => 'yii\\grid\\ActionColumn', 'header' => 'Resolver', 'template' => '{update}', 'controller' => 'estados-emocionais']]]);