/**
  * 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]);
     }
 }
 public function actionIniciar($id)
 {
     $model = $this->findModel($id);
     //encerra a comunicacao que está em Circulação
     $session = Yii::$app->session;
     $connection = Yii::$app->db;
     $command = $connection->createCommand("UPDATE `db_processos`.`contratacao` SET `situacao_id` = '4' WHERE `id` = '" . $model->id . "'");
     $command->execute();
     $model->situacao_id = 4;
     if ($model->situacao_id == 4) {
         //ENVIANDO EMAIL PARA O GERENTE INFORMANDO SOBRE O PROCESSO  DE CONTRATAÇÃO QUE FOI INICIADO
         $sql_email = "SELECT emus_email FROM emailusuario_emus, colaborador_col, responsavelambiente_ream WHERE ream_codunidade = '" . $model->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 ' . $model->id . ' - ' . $model->situacao->descricao)->setTextBody('A solicitação de contratação de código: ' . $model->id . ' está com status de ' . $model->situacao->descricao . ' ')->setHtmlBody('<h4>Prezado(a) Gerente, <br><br>Existe uma solicitação de contratação de <strong style="color: #337ab7"">código: ' . $model->id . '</strong> com status de ' . $model->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 CRIADA COM SUCESSO
     Yii::$app->session->setFlash('success', '<strong>SUCESSO! </strong>A solicitação de Processo Seletivo foi <strong>INICIADA</strong>!</strong>');
     return $this->redirect(['index']);
 }
 /**
  * Updates an existing Contratacao model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param string $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $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 {
         $model = $this->findModel($id);
     }
     $sistemas = Sistemas::find()->where(['status' => 1])->all();
     //Retrieve the stored checkboxes
     $model->permissions = \yii\helpers\ArrayHelper::getColumn($model->getSistemasContratacao()->asArray()->all(), 'sistema_id');
     //USUÁRIOS APENAS IRÃO EDITAR AS SOLICITAÇÕES DE CONTRATAÇÃO COM STATUS DE 'EM ELABORAÇÃO' e 'EM CORREÇÃO'
     if ($model->situacao_id != 1 && $model->situacao_id != 2) {
         Yii::$app->session->setFlash('warning', '<strong>AVISO! </strong> Não é possível <strong>EDITAR</strong> a Solicitação de Contratação de código: ' . '<strong>' . $id . '</strong>' . ' pois a mesma está com status de  ' . '<strong>' . $model->situacao->descricao . '.</strong>');
         return $this->redirect(['index']);
     }
     $session = Yii::$app->session;
     $model->cod_colaborador = $session['sess_codcolaborador'];
     $model->colaborador = $session['sess_nomeusuario'];
     $model->cargo = $session['sess_cargo'];
     $model->cod_unidade_solic = $session['sess_codunidade'];
     $model->unidade = $session['sess_unidade'];
     $model->data_solicitacao = date('Y-m-d');
     $model->hora_solicitacao = date('H:i:s');
     $model->nomesituacao = $model->situacao->descricao;
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         //Quando a solicitação é enviada, atualiza a solicitação para RECEBIDO PELO GRH.
         $connection = Yii::$app->db;
         $command = $connection->createCommand("UPDATE `db_processos`.`contratacao` SET `situacao_id` = '3' WHERE `id` = '" . $model->id . "' AND `cod_unidade_solic` =" . $session['sess_codunidade']);
         $command->execute();
         //ENVIANDO EMAIL PARA OS RESPONSÁVEL DO PROCESSO SELETIVO INFORMANDO SOBRE O RECEBIMENTO DE UMA NOVA SOLICITAÇÃO DE CONTRATAÇÃO
         $sql_email = "SELECT emus_email FROM emailusuario_emus,colaborador_col,responsavelambiente_ream,responsaveldepartamento_rede WHERE ream_codunidade = '7' AND rede_coddepartamento = '82' AND rede_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 - ' . $model->unidade)->setTextBody('Existe uma solicitação de contratação de código: ' . $model->id . ' PENDENTE')->setHtmlBody('<h4>Prezado(a) Senhor(a), <br><br>Existe uma solicitação de contratação de <strong style="color: #337ab7"">código: ' . $model->id . '</strong> PENDENTE. <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 CRIADA COM SUCESSO
         Yii::$app->session->setFlash('success', '<strong>SUCESSO! </strong> A solicitação de Processo Seletivo de código <strong>' . $model->id . '</strong> foi enviada para a Gerência de Recursos Humanos!</strong>');
         return $this->redirect(['index']);
     } else {
         return $this->render('update', ['model' => $model, 'sistemas' => $sistemas]);
     }
 }
 public function actionCancelar($id)
 {
     $model = $this->findModel($id);
     //envia para correção a contratação que está em recebido pelo GRH
     $session = Yii::$app->session;
     $connection = Yii::$app->db;
     $command = $connection->createCommand("UPDATE `db_processos`.`contratacao` SET `situacao_id` = '6' WHERE `id` = '" . $model->id . "'");
     $command->execute();
     $model->situacao_id = 6;
     if ($model->situacao_id == 6) {
         //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 = '" . $model->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 ' . $model->id . ' - ' . $model->situacao->descricao)->setTextBody('A solicitação de contratação de código: ' . $model->id . ' está com status de ' . $model->situacao->descricao . ' ')->setHtmlBody('<h4>Prezado(a) Gerente, <br><br>Existe uma solicitação de contratação de <strong style="color: #337ab7"">código: ' . $model->id . '</strong> com status de ' . $model->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 FOI CANCELADA
     Yii::$app->getSession()->setFlash('success', ['type' => 'success', 'duration' => 5000, 'icon' => 'glyphicon glyphicon-ok', 'message' => 'A solicitação de Contratação foi CANCELADA', 'title' => 'Solicitação de Contratação', 'positonY' => 'top', 'positonX' => 'right']);
     return $this->redirect(['index']);
 }