private function carregarDadosManter($connection, $id = "", $mensagem = "") { if (!Functions::isEmpty($id)) { $model = new SituacoesModel(); $situacao = $model->loadById($connection, $id); } else { $situacao = new SituacoesVo(); } return $this->trabalharDadosManter($situacao, $mensagem); }
private function populateVo($connection, $row) { $usuarioModel = new UsuariosModel(); $usuarioVo = $usuarioModel->loadById($connection, $row->cha_cdiusuario); $requisitanteVo = $usuarioModel->loadById($connection, $row->cha_cdiusuario_requisitante); $atendenteVo = $usuarioModel->loadById($connection, $row->cha_cdiusuario_atendente); $situacaoModel = new SituacoesModel(); $situacaoVo = $situacaoModel->loadById($connection, $row->cha_cdisituacao); $empresaModel = new EmpresasModel(); $empresaVo = $empresaModel->loadById($connection, $row->cha_cdiempresa); $categoriaModel = new CategoriasModel(); $categoriaVo = $categoriaModel->loadById($connection, $row->cha_cdicategoria); $tipoAmbienteModel = new TiposAmbientesModel(); $tipoAmbienteVo = $tipoAmbienteModel->loadById($connection, $row->cha_cditipoambiente); $tipoProdutoModel = new TiposProdutosModel(); $tipoProdutoVo = $tipoProdutoModel->loadById($connection, $row->cha_cditipoproduto); $modulosModel = new ModulosModel(); $moduloVo = $modulosModel->loadById($connection, $row->cha_cdimodulo); $prioridadeModel = new PrioridadesModel(); $prioridadeVo = $prioridadeModel->loadById($connection, $row->cha_cdiprioridade); $vo = new ChamadosVo(); $vo->setId($row->cha_cdichamado); $vo->setUsuario($usuarioVo); $vo->setRequisitante($requisitanteVo); $vo->setAtendente($atendenteVo); $vo->setData(Functions::toDate($row->cha_dtdcriacao)); $vo->setSituacao($situacaoVo); $vo->setEmpresa($empresaVo); $vo->setCategoria($categoriaVo); $vo->setTipoAmbiente($tipoAmbienteVo); $vo->setTipoProduto($tipoProdutoVo); $vo->setModulo($moduloVo); $vo->setPrioridade($prioridadeVo); $vo->setImpacto($row->cha_oplimpacto); $vo->setUsuariosAfetados($row->cha_nuiusuariosafetados); $vo->setAreasAfetadas($row->cha_nuiareasafetadas); $vo->setPrevisaoTermino(Functions::toDate($row->cha_dtdprevisaotermino)); $vo->setAssunto($row->cha_dssassunto); $vo->setObservacao($row->cha_dsbobservacao); return $vo; }
private function populateVo($connection, $row) { $situacaoModel = new SituacoesModel(); $situacaoVo = $situacaoModel->loadById($connection, $row->ati_cdisituacao); $usuarioModel = new UsuariosModel(); $usuarioVo = $usuarioModel->loadById($connection, $row->ati_cdiusuario); $empresaModel = new EmpresasModel(); $empresaVo = $empresaModel->loadById($connection, $row->ati_cdiempresa); $tipoAtividadeModel = new TiposAtividadesModel(); $tipoAtividadeVo = $tipoAtividadeModel->loadById($connection, $row->ati_cditipoatividade); $vo = new AtividadesVo(); $vo->setId($row->ati_cdiatividade); $vo->setSituacao($situacaoVo); $vo->setData(Functions::toDate($row->ati_dtdcriacao)); $vo->setUsuario($usuarioVo); $vo->setEmpresa($empresaVo); $vo->setTipoAtividade($tipoAtividadeVo); $vo->setAssunto($row->ati_dssassunto); $vo->setObservacao($row->ati_dsbobservacao); return $vo; }
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 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); }