Exemplo n.º 1
0
 private function populateVo($connection, $row)
 {
     $chamadoModel = new ChamadosModel();
     $chamadoVo = $chamadoModel->loadById($connection, $row->chh_cdichamado);
     $usuarioModel = new UsuariosModel();
     $usuarioVo = $usuarioModel->loadById($connection, $row->chh_cdiusuario);
     $vo = new ChamadosHistoricosVo();
     $vo->setId($row->chh_cdichamadohistorico);
     $vo->setChamado($chamadoVo);
     $vo->setUsuario($usuarioVo);
     $vo->setData(Functions::toDateTime($row->chh_dtddata));
     $vo->setObservacao($row->chh_dsbobservacao);
     $vo->setAnexo($row->chh_dsbanexo);
     return $vo;
 }
Exemplo n.º 2
0
 private function populateVo($connection, $row)
 {
     if (!$row) {
         return new ApontamentosVo();
     }
     $usuarioModel = new UsuariosModel();
     $usuarioVo = $usuarioModel->loadById($connection, $row->apo_cdiusuario);
     $atividadeModel = new AtividadesModel();
     $atividadeVo = $atividadeModel->loadById($connection, $row->apo_cdiatividade);
     $chamadoModel = new ChamadosModel();
     $chamadoVo = $chamadoModel->loadById($connection, $row->apo_cdichamado);
     $vo = new ApontamentosVo();
     $vo->setId($row->apo_cdiapontamento);
     $vo->setUsuario($usuarioVo);
     $vo->setAtividade($atividadeVo);
     $vo->setChamado($chamadoVo);
     $vo->setDataInicio(Functions::toDateTime($row->apo_dtdinicio));
     $vo->setDataFim(Functions::toDateTime($row->apo_dtdfim));
     $vo->setObservacao($row->apo_dsbobservacao);
     $vo->setAvaliacao($row->apo_cdimodofaturamento);
     $vo->setApontado(Functions::toTime($row->apo_hrsapontadas));
     $vo->setFaturado(Functions::toTime($row->apo_hrsfaturadas));
     return $vo;
 }
Exemplo n.º 3
0
 public function iniciar($connection, $tipoApontamento, $codigo, $observacao)
 {
     if ($tipoApontamento == "A") {
         $atividadeModel = new AtividadesModel();
         $atividadeVo = $atividadeModel->loadById($connection, $codigo);
         $chamadoVo = new ChamadosVo();
     }
     if ($tipoApontamento == "C") {
         $chamadoModel = new ChamadosModel();
         $chamadoVo = $chamadoModel->loadById($connection, $codigo);
         $atividadeVo = new AtividadesVo();
     }
     $usuarioModel = new UsuariosModel();
     $usuarioVo = $usuarioModel->loadById($connection, $_SESSION['usuarioCodigo']);
     $apontamentoModel = new ApontamentosModel();
     $apontamento = $apontamentoModel->loadUltimaAberta($connection, $usuarioVo->getId(), $tipoApontamento);
     $mensagem = $this->validarIniciarApontamento($atividadeVo, $chamadoVo, $apontamento, $tipoApontamento, $codigo);
     if (substr($mensagem, 0, 1) == 'S') {
         $apontamento->setAtividade($atividadeVo);
         $apontamento->setChamado($chamadoVo);
         $apontamento->setUsuario($usuarioVo);
         $apontamento->setDataInicio(date('d/m/Y H:i'));
         $apontamento->setDataFim("");
         $apontamento->setObservacao($observacao);
         $apontamento->setAvaliacao(9);
         $this->salvarRegistro($connection, $apontamento);
     }
     return $mensagem;
 }
Exemplo n.º 4
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);
 }