/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Contratacao::find()->orderBy(['id' => SORT_DESC]); $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->joinWith(['situacao']); $query->andFilterWhere(['id' => $this->id, 'data_solicitacao' => $this->data_solicitacao, 'hora_solicitacao' => $this->hora_solicitacao, 'cod_colaborador' => $this->cod_colaborador, 'colaborador' => $this->colaborador, 'cargo' => $this->cargo, 'cod_unidade_solic' => $this->cod_unidade_solic, 'unidade' => $this->unidade, 'quant_pessoa' => $this->quant_pessoa, 'substituicao' => $this->substituicao, 'periodo' => $this->periodo, 'tempo_periodo' => $this->tempo_periodo, 'aumento_quadro' => $this->aumento_quadro, 'obs_aumento' => $this->obs_aumento, 'deficiencia' => $this->deficiencia, 'fundamental_comp' => $this->fundamental_comp, 'fundamental_inc' => $this->fundamental_inc, 'medio_comp' => $this->medio_comp, 'medio_inc' => $this->medio_inc, 'tecnico_comp' => $this->tecnico_comp, 'tecnico_inc' => $this->tecnico_inc, 'superior_comp' => $this->superior_comp, 'superior_inc' => $this->superior_inc, 'pos_comp' => $this->pos_comp, 'pos_inc' => $this->pos_inc, 'windows' => $this->windows, 'word' => $this->word, 'excel' => $this->excel, 'internet' => $this->internet, 'experiencia' => $this->experiencia, 'jornada_horas' => $this->jornada_horas, 'recrutamento_id' => $this->recrutamento_id, 'selec_curriculo' => $this->selec_curriculo, 'selec_dinamica' => $this->selec_dinamica, 'selec_prova' => $this->selec_prova, 'selec_entrevista' => $this->selec_entrevista, 'situacao_id' => [4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]]); $query->andFilterWhere(['like', 'situacao_contratacao.descricao', $this->situacao_id])->andFilterWhere(['like', 'colaborador', $this->colaborador])->andFilterWhere(['like', 'cargo', $this->cargo])->andFilterWhere(['like', 'unidade', $this->unidade])->andFilterWhere(['like', 'motivo', $this->motivo])->andFilterWhere(['like', 'obs_aumento', $this->obs_aumento])->andFilterWhere(['like', 'nome_substituicao', $this->nome_substituicao])->andFilterWhere(['like', 'obs_deficiencia', $this->obs_deficiencia])->andFilterWhere(['like', 'data_ingresso', $this->data_ingresso])->andFilterWhere(['like', 'tecnico_area', $this->tecnico_area])->andFilterWhere(['like', 'superior_area', $this->superior_area])->andFilterWhere(['like', 'pos_area', $this->pos_area])->andFilterWhere(['like', 'dominio_atividade', $this->dominio_atividade])->andFilterWhere(['like', 'experiencia_tempo', $this->experiencia_tempo])->andFilterWhere(['like', 'experiencia_atividade', $this->experiencia_atividade])->andFilterWhere(['like', 'jornada_obs', $this->jornada_obs])->andFilterWhere(['like', 'principais_atividades', $this->principais_atividades])->andFilterWhere(['like', 'selec_teste', $this->selec_teste]); return $dataProvider; }
/** * Creates a new ContratacaoJustificativas model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $session = Yii::$app->session; if (!isset($session['sess_codusuario']) && !isset($session['sess_codcolaborador']) && !isset($session['sess_codunidade']) && !isset($session['sess_nomeusuario']) && !isset($session['sess_coddepartamento']) && !isset($session['sess_codcargo']) && !isset($session['sess_cargo']) && !isset($session['sess_setor']) && !isset($session['sess_unidade']) && !isset($session['sess_responsavelsetor'])) { return $this->redirect('http://portalsenac.am.senac.br'); } //VERIFICA SE O COLABORADOR É GERENTE OU SE FAZ PARTE DA EQUIPE DE SELEÇÃO PARA REALIZAR A SOLICITAÇÃO if ($session['sess_responsavelsetor'] == 0 && $session['sess_coddepartamento'] != 82) { $this->layout = 'main-acesso-negado'; return $this->render('/site/acesso_negado'); } else { $session = Yii::$app->session; } $model = new ContratacaoJustificativas(); $model->id_contratacao = $session['sess_contratacao']; $model->usuario = $session['sess_nomeusuario']; if ($model->load(Yii::$app->request->post()) && $model->save()) { //envia para correção a contratação que está em recebido pelo GRH $sql_contratacao = "SELECT * FROM contratacao WHERE id = '" . $model->id_contratacao . "' "; $contratacao = Contratacao::findBySql($sql_contratacao)->one(); $connection = Yii::$app->db; $command = $connection->createCommand("UPDATE `db_processos`.`contratacao` SET `situacao_id` = '2' WHERE `id` = '" . $contratacao->id . "'"); $command->execute(); $contratacao->situacao_id = 2; if ($contratacao->situacao_id == 2) { //ENVIANDO EMAIL PARA O GERENTE INFORMANDO SOBRE O PROCESSO DE CONTRATAÇÃO QUE FOI ENVIADO PARA CORREÇÃO $sql_email = "SELECT emus_email FROM emailusuario_emus, colaborador_col, responsavelambiente_ream WHERE ream_codunidade = '" . $contratacao->cod_unidade_solic . "' AND ream_codcolaborador = col_codcolaborador AND col_codusuario = emus_codusuario"; $email_solicitacao = Emailusuario::findBySql($sql_email)->all(); foreach ($email_solicitacao as $email) { $email_gerente = $email["emus_email"]; Yii::$app->mailer->compose()->setFrom(['*****@*****.**' => 'Contratação - Senac AM'])->setTo($email_gerente)->setSubject('Solicitação de Contratação ' . $contratacao->id . ' - ' . $contratacao->situacao->descricao)->setTextBody('A solicitação de contratação de código: ' . $contratacao->id . ' está com status de ' . $contratacao->situacao->descricao . ' ')->setHtmlBody('<h4>Prezado(a) Gerente, <br><br>Existe uma solicitação de contratação de <strong style="color: #337ab7"">código: ' . $contratacao->id . '</strong> com status de ' . $contratacao->situacao->descricao . '. <br> Por favor, não responda esse e-mail. Acesse http://portalsenac.am.senac.br para ANALISAR a solicitação de contratação. <br><br> Atenciosamente, <br> Contratação de Pessoal - Senac AM.</h4>')->send(); } } //MENSAGEM DE CONFIRMAÇÃO DA SOLICITAÇÃO DE CONTRATAÇÃO ENVIADA PARA CORRECAO Yii::$app->getSession()->setFlash('success', ['type' => 'success', 'duration' => 5000, 'icon' => 'glyphicon glyphicon-ok', 'message' => 'A solicitação de Contratação foi ENVIADA PARA CORREÇÃO', 'title' => 'Solicitação de Contratação', 'positonY' => 'top', 'positonX' => 'right']); return $this->redirect(['contratacao-em-andamento/index']); } else { return $this->renderAjax('create', ['model' => $model]); } }
/** * Finds the Contratacao model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param string $id * @return Contratacao the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Contratacao::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
use kartik\helpers\Html; use kartik\widgets\DatePicker; use kartik\widgets\ActiveForm; use yii\widgets\MaskedInput; use yii\helpers\ArrayHelper; use app\models\Recrutamento; use app\models\Contratacao; use app\models\Sistemas; use app\models\SistemasContratacao; ?> <?php $session = Yii::$app->session; $id = $_GET['id']; $sql = 'SELECT * FROM contratacao WHERE id =' . $id . ' '; $model = Contratacao::findBySql($sql)->one(); ?> <body> <div class="panel panel-primary"> <div class="panel-body"> <div class="row"> <!-- INFORMÇÕES DO CANDIDATO --> <table class="table table-condensed table-hover" style="margin-top: -15px"> <thead> <tr class="default"> <th colspan="4" style="text-align: center;"><img src="../web/css/img/logo.png" width="80" height="35" alt="logo" /></th> <th colspan="9" style="text-align: center; vertical-align:inherit"> DETALHES DA SOLICITAÇÃO DE CONTRATAÇÃO DE PESSOAL</th> </tr> </thead>
/** * @return \yii\db\ActiveQuery */ public function getContratacaos() { return $this->hasMany(Contratacao::className(), ['situacao_id' => 'cod_situacao']); }
/** * @return \yii\db\ActiveQuery */ public function getContratacao() { return $this->hasOne(Contratacao::className(), ['id' => 'contratacao_id']); }
/** * @return \yii\db\ActiveQuery */ public function getContratacaos() { return $this->hasMany(Contratacao::className(), ['recrutamento_id' => 'idrecrutamento']); }