示例#1
0
 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);
 }
示例#2
0
 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;
 }
示例#3
0
 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;
 }
示例#4
0
 public function relatorioAtendimentosAction()
 {
     $connection = Databases::connect();
     // Carrega dados da tela
     $tiposRelatoriosModel = new TiposRelatoriosModel();
     $tiposRelatoriosArray = $tiposRelatoriosModel->load($connection);
     // Carrega dados da tela
     $tiposApontamentosModel = new TiposApontamentosModel();
     $tiposApontamentosArray = $tiposApontamentosModel->load($connection);
     $empresasArray = array();
     if ($_SESSION['perfilCliente'] == 1) {
         $exibeEmpresaAberta = 0;
         $empresasModel = new EmpresasModel();
         $empresasVo = $empresasModel->loadById($connection, $_SESSION['empresaCodigo']);
         array_push($empresasArray, $empresasVo);
     } else {
         $exibeEmpresaAberta = 1;
         $empresasModel = new EmpresasModel();
         $empresasArray = $empresasModel->load($connection);
     }
     $situacoesModel = new SituacoesModel();
     $situacoesArray = $situacoesModel->load($connection);
     $tiposAvaliacoesArray = array();
     if ($_SESSION['perfilCliente'] == 1) {
         $exibeTipoAvaliacaoAberta = 0;
     } else {
         $exibeTipoAvaliacaoAberta = 1;
         $tiposAvaliacoesModel = new TiposAvaliacoesModel();
         $tiposAvaliacoesArray = $tiposAvaliacoesModel->load($connection);
     }
     // Carrega valores que usuário setou
     $periodoInicial = $this->getParametroTela('periodoInicial');
     $periodoFinal = $this->getParametroTela('periodoFinal');
     $tipoRelatorio = $this->getParametroTela('tipoRelatorio');
     $empresa = $this->getParametroTela('empresa');
     $situacao = $this->getParametroTela('situacao');
     $tipoApontamento = $this->getParametroTela('tipoApontamento');
     $tipoAvaliacao = $this->getParametroTela('tipoAvaliacao');
     $imprimir = $this->getParametroTela('imprimir');
     $submit = $this->getParametroTela('submit');
     // Define valores padrão
     if (Functions::isEmpty($periodoInicial)) {
         $periodoInicial = date('d/m/Y');
     }
     if (Functions::isEmpty($periodoFinal)) {
         $periodoFinal = date('d/m/Y');
     }
     if (Functions::isEmpty($tipoRelatorio)) {
         $tipoRelatorio = 'S';
     }
     if (Functions::isEmpty($tipoApontamento)) {
         $tipoApontamento = '1';
     }
     if (Functions::isEmpty($tipoAvaliacao)) {
         if ($_SESSION['perfilCliente'] == 1) {
             $tipoAvaliacao = '2';
         } else {
             $tipoAvaliacao = '1';
         }
     }
     if (Functions::isEmpty($imprimir)) {
         $imprimir = 0;
     }
     // Monta array de parâmetros
     $parametros = array('periodoInicial' => $periodoInicial, 'periodoFinal' => $periodoFinal, 'tiposRelatorios' => $tiposRelatoriosArray, 'tipoRelatorio' => $tipoRelatorio, 'exibeEmpresaAberta' => $exibeEmpresaAberta, 'empresas' => $empresasArray, 'empresa' => $empresa, 'situacoes' => $situacoesArray, 'situacao' => $situacao, 'tiposApontamentos' => $tiposApontamentosArray, 'tipoApontamento' => $tipoApontamento, 'exibeTipoAvaliacaoAberta' => $exibeTipoAvaliacaoAberta, 'tiposAvaliacoes' => $tiposAvaliacoesArray, 'tipoAvaliacao' => $tipoAvaliacao, 'chamados' => array(), 'atividades' => array(), 'mensagem' => "");
     $erro = false;
     // Validações adicionais de segurança para o perfil de cliente
     if ($_SESSION['perfilCliente'] == 1) {
         // Valida se cliente fez malandragem de trocar empresa
         if ($this->clienteSelecionouEmpresaInvalida($connection, $empresa)) {
             $erro = true;
             $mensagem = 'N' . 'Percebemos que você selecionou uma empresa diferente da sua. Por motivos de segurança, não exibiremos o resultado do relatório';
         }
     }
     // Se validações apuraram algum erro
     if ($erro) {
         if ($imprimir == 1) {
             $view = 'views/relatorioAtendimentosSinteticoImprimir.phtml';
         } else {
             $view = 'views/relatorioAtendimentosSintetico.phtml';
         }
         $parametros['mensagem'] = $mensagem;
         // Se relatório sintético
     } else {
         if ($tipoRelatorio == 'S') {
             if ($imprimir == 1) {
                 $view = 'views/relatorioAtendimentosSinteticoImprimir.phtml';
             } else {
                 $view = 'views/relatorioAtendimentosSintetico.phtml';
             }
             $chamadosModel = new ChamadosModel();
             $atividadesModel = new AtividadesModel();
             if ($submit == "Consultar" || $imprimir == 1) {
                 if ($tipoApontamento == 1 || $tipoApontamento == 2) {
                     $chamadosArray = $chamadosModel->loadRelatorioAtendimentosSintetico($connection, $periodoInicial, $periodoFinal, $empresa, $situacao, $tipoAvaliacao);
                 } else {
                     $chamadosArray = array();
                 }
                 if ($tipoApontamento == 1 || $tipoApontamento == 3) {
                     $atividadesArray = $atividadesModel->loadRelatorioAtendimentosSintetico($connection, $periodoInicial, $periodoFinal, $empresa, $situacao, $tipoAvaliacao);
                 } else {
                     $atividadesArray = array();
                 }
             } else {
                 $chamadosArray = array();
                 $atividadesArray = array();
             }
             $parametros['chamados'] = $chamadosArray;
             $parametros['atividades'] = $atividadesArray;
             // Se relatório analítico
         } else {
             if ($tipoRelatorio == 'A') {
                 if ($imprimir == 1) {
                     $view = 'views/relatorioAtendimentosAnaliticoImprimir.phtml';
                 } else {
                     $view = 'views/relatorioAtendimentosAnalitico.phtml';
                 }
                 $chamadosModel = new ChamadosModel();
                 $atividadesModel = new AtividadesModel();
                 if ($submit == "Consultar" || $imprimir == 1) {
                     if ($tipoApontamento == 1 || $tipoApontamento == 2) {
                         $chamadosArray = $chamadosModel->loadRelatorioAtendimentosAnalitico($connection, $periodoInicial, $periodoFinal, $empresa, $situacao, $tipoAvaliacao);
                     } else {
                         $chamadosArray = array();
                     }
                     if ($tipoApontamento == 1 || $tipoApontamento == 3) {
                         $atividadesArray = $atividadesModel->loadRelatorioAtendimentosAnalitico($connection, $periodoInicial, $periodoFinal, $empresa, $situacao, $tipoAvaliacao);
                     } else {
                         $atividadesArray = array();
                     }
                 } else {
                     $chamadosArray = array();
                     $atividadesArray = array();
                 }
                 $parametros['chamados'] = $chamadosArray;
                 $parametros['atividades'] = $atividadesArray;
             }
         }
     }
     Databases::disconnect($connection);
     // Exibe a tela
     $view = new View($view);
     $view->setParams($parametros);
     $view->showContents();
 }
示例#5
0
 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);
 }