Example #1
0
 private function carregarDadosListar($connection)
 {
     $model = new TiposSistemasModel();
     $registros = $model->loadByPerfil($connection, $_SESSION['perfilCodigo']);
     if ($_SESSION['perfilCliente'] == 1) {
         $naoClassificados = array();
         $usuariosModel = new UsuariosModel();
         $meusRegistros = $usuariosModel->loadMeusRegistrosPerfilCliente($connection, $_SESSION['usuarioCodigo']);
         $resumoGeral = $usuariosModel->loadResumoGeralPerfilCliente($connection, $_SESSION['usuarioCodigo']);
         $apontamentosAbertos = array();
     } else {
         $chamadosModel = new ChamadosModel();
         $naoClassificados = $chamadosModel->loadNaoClassificados($connection);
         $usuariosModel = new UsuariosModel();
         $meusRegistros = $usuariosModel->loadMeusRegistrosDemaisPerfis($connection, $_SESSION['usuarioCodigo']);
         $resumoGeral = $usuariosModel->loadResumoGeralDemaisPerfis($connection);
         $apontamentosModel = new ApontamentosModel();
         $apontamentosAbertos = $apontamentosModel->loadApontamentosAbertos($connection, $_SESSION['usuarioCodigo']);
     }
     return $this->trabalharDadosListar($registros, count($naoClassificados), $meusRegistros, $resumoGeral, $apontamentosAbertos);
 }
Example #2
0
 public function cancelarAction($mensagem = "")
 {
     $connection = Databases::connect();
     $id = $this->getParametroTela('id');
     $chamadoModel = new ChamadosModel();
     $chamadoVo = $chamadoModel->loadById($connection, $id);
     $apontamentoModel = new ApontamentosModel();
     $apontamento = $apontamentoModel->verificaSeAberto($connection, "C", $id);
     $apontamentoController = new ApontamentosController();
     $mensagem = $apontamentoController->validarIniciarApontamento(new AtividadesVo(), $chamadoVo, $apontamento, "C", $id);
     // Validações adicionais de segurança para o perfil de cliente
     if ($_SESSION['perfilCliente'] == 1) {
         if ($chamadoVo->getSituacao() != "") {
             // Solicitação número 2 do documento "Ajuste_Sistema_Chamados_Ver1_11.pdf"
             if ($chamadoVo->getSituacao()->getId() == $_SESSION['situacaoFinalizada']) {
                 $erro = true;
                 $mensagem = 'N' . 'Chamado se encontra finalizado e portanto não pode mais ser alterado.';
             }
             // Solicitação número 2 do documento "Ajuste_Sistema_Chamados_Ver1_11.pdf"
             if ($chamadoVo->getSituacao()->getId() == $_SESSION['situacaoCancelada']) {
                 $erro = true;
                 $mensagem = 'N' . 'Chamado se encontra cancelado e portanto não pode mais ser alterado.';
             }
         }
     }
     if (substr($mensagem, 0, 1) == 'S') {
         $situacaoModel = new SituacoesModel();
         $situacaoVo = $situacaoModel->loadById($connection, $_SESSION['situacaoCancelada']);
         // Cancelado
         $chamadoVo->setSituacao($situacaoVo);
         $chamadoModel->save($connection, $chamadoVo);
         $usuarioModel = new UsuariosModel();
         $usuarioVo = $usuarioModel->loadById($connection, $_SESSION['usuarioCodigo']);
         $chamadoHistoricoVo = new ChamadosHistoricosVo();
         $chamadoHistoricoVo->setChamado($chamadoVo);
         $chamadoHistoricoVo->setData(date('Y-m-d H:i'));
         $chamadoHistoricoVo->setUsuario($usuarioVo);
         $chamadoHistoricoVo->setObservacao("* Chamado cancelado");
         $chamadoHistoricoModel = new ChamadosHistoricosModel();
         $chamadoHistoricoModel->save($connection, $chamadoHistoricoVo);
         // Disparo de E-mail Comunicando
         $recipients = array();
         $subject = 'BasisIT :: Cancelamento de Chamado :: Número ' . $chamadoVo->getId() . ' :: ' . $chamadoVo->getEmpresa()->getDescricao();
         $txt = '<font color="red"><b>OBS: Este e-mail foi gerado automaticamente. Favor não responder para este endereço.</b></font><br /><br />';
         $txt = $txt . 'Informamos que houve uma nova interação no chamado ' . $chamadoVo->getId() . ' - ' . $chamadoVo->getAssunto() . '.<br /><br />';
         $txt = $txt . '<fieldset><legend><b>Descrição da Interação:</b></legend>* O chamado foi cancelado</fieldset>';
         // E-mail para o usuário que abriu o chamado vai sempre
         if (!Functions::isEmpty($chamadoVo->getUsuario()->getEmail())) {
             $to = $chamadoVo->getUsuario()->getEmail();
             array_push($recipients, $to);
         }
         if (!Functions::isEmpty($chamadoVo->getRequisitante()->getEmail()) && $chamadoVo->getRequisitante()->getEmail() != $chamadoVo->getUsuario()->getEmail()) {
             $to = $chamadoVo->getRequisitante()->getEmail();
             array_push($recipients, $to);
         }
         if (!Functions::isEmpty($chamadoVo->getAtendente()->getEmail()) && $chamadoVo->getAtendente()->getEmail() != $chamadoVo->getUsuario()->getEmail()) {
             $to = $chamadoVo->getAtendente()->getEmail();
             array_push($recipients, $to);
         }
         Functions::email($recipients, $subject, $txt);
     }
     $dados = $this->carregarDadosManter($connection, $id, $mensagem);
     Databases::disconnect($connection);
     $this->exibirTelaManter($dados);
 }
 public function relatorioApontamentosDiasDistintosAction()
 {
     $connection = Databases::connect();
     $model = new ApontamentosModel();
     $atividades = $model->loadApontamentosDiasDistintos($connection, "A");
     $chamados = $model->loadApontamentosDiasDistintos($connection, "C");
     Databases::disconnect($connection);
     $parametros = array('atividades' => $atividades, 'chamados' => $chamados);
     $view = new View('views/relatorioApontamentosDiasDistintos.phtml');
     $view->setParams($parametros);
     $view->showContents();
 }
 public function cancelarAction($mensagem = "")
 {
     $connection = Databases::connect();
     $id = $this->getParametroTela('id');
     $atividadeModel = new AtividadesModel();
     $atividadeVo = $atividadeModel->loadById($connection, $id);
     $usuarioModel = new UsuariosModel();
     $usuarioVo = $usuarioModel->loadById($connection, $_SESSION['usuarioCodigo']);
     $apontamentoModel = new ApontamentosModel();
     $apontamento = $apontamentoModel->verificaSeAberto($connection, "A", $id);
     $apontamentoController = new ApontamentosController();
     $mensagem = $apontamentoController->validarIniciarApontamento($atividadeVo, new ChamadosVo(), $apontamento, "A", $id);
     if (substr($mensagem, 0, 1) == 'S') {
         $situacaoModel = new SituacoesModel();
         $situacaoVo = $situacaoModel->loadById($connection, $_SESSION['situacaoCancelada']);
         // Cancelado
         $atividadeVo->setSituacao($situacaoVo);
         $atividadeModel->save($connection, $atividadeVo);
     }
     $dados = $this->carregarDadosManter($connection, $id, $mensagem);
     Databases::disconnect($connection);
     $this->exibirTelaManter($dados);
 }