예제 #1
0
 private function carregarDadosManter($connection, $id = "", $mensagem = "")
 {
     if (!Functions::isEmpty($id)) {
         $model = new EmpresasModel();
         $empresa = $model->loadById($connection, $id);
     } else {
         $empresa = new EmpresasVo();
     }
     return $this->trabalharDadosManter($empresa, $mensagem);
 }
예제 #2
0
 private function populateVo($connection, $row)
 {
     $perfilModel = new PerfisModel();
     $perfilVo = $perfilModel->loadById($connection, $row->usu_cdiperfil);
     $empresaModel = new EmpresasModel();
     $empresaVo = $empresaModel->loadById($connection, $row->usu_cdiempresa);
     $vo = new UsuariosVo();
     $vo->setId($row->usu_cdiusuario);
     $vo->setNome($row->usu_dssnome);
     $vo->setEmpresa($empresaVo);
     $vo->setSetor($row->usu_dsssetor);
     $vo->setPerfil($perfilVo);
     $vo->setFoneComercial($row->usu_dssfonecomercial);
     $vo->setFoneCelular($row->usu_dssfonecelular);
     $vo->setEmail($row->usu_dssemail);
     $vo->setSenha(Functions::decrypt($row->usu_dsssenha));
     $vo->setSituacao($row->usu_opldesativado);
     $vo->setObservacao($row->usu_dsbobservacao);
     return $vo;
 }
예제 #3
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;
 }
예제 #4
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;
 }
예제 #5
0
 public function salvarApontamentoParaAvaliacaoAction()
 {
     $connection = Databases::connect();
     if (Functions::isEmpty($this->getParametroTela('periodoInicial'))) {
         $periodoInicial = date('d/m/Y');
     } else {
         $periodoInicial = $this->getParametroTela('periodoInicial');
     }
     if (Functions::isEmpty($this->getParametroTela('periodoFinal'))) {
         $periodoFinal = date('d/m/Y');
     } else {
         $periodoFinal = $this->getParametroTela('periodoFinal');
     }
     if (Functions::isEmpty($this->getParametroTela('usuarioCodigo'))) {
         $usuario = new UsuariosVo();
     } else {
         $usuarioModel = new UsuariosModel();
         $usuario = $usuarioModel->loadById($connection, $this->getParametroTela('usuarioCodigo'));
     }
     if (Functions::isEmpty($this->getParametroTela('empresaCodigo'))) {
         $empresa = new EmpresasVo();
     } else {
         $empresaModel = new EmpresasModel();
         $empresa = $empresaModel->loadById($connection, $this->getParametroTela('empresaCodigo'));
     }
     if (Functions::isEmpty($this->getParametroTela('apontamentoAvaliacao'))) {
         $apontamentoAvaliacao = "";
     } else {
         $apontamentoAvaliacao = $this->getParametroTela('apontamentoAvaliacao');
     }
     if (Functions::isEmpty($this->getParametroTela('apontamentoTipo'))) {
         $apontamentoTipo = "";
     } else {
         $apontamentoTipo = $this->getParametroTela('apontamentoTipo');
     }
     if (Functions::isEmpty($this->getParametroTela('atividadeCodigo'))) {
         $atividadeCodigo = "";
     } else {
         $atividadeCodigo = $this->getParametroTela('atividadeCodigo');
     }
     if (Functions::isEmpty($this->getParametroTela('chamadoCodigo'))) {
         $chamadoCodigo = "";
     } else {
         $chamadoCodigo = $this->getParametroTela('chamadoCodigo');
     }
     $apontamentosCodigos = $_REQUEST['apontamentoCodigo'];
     $apontamentosDuracoes = $_REQUEST['apontamentoDuracao'];
     $apontamentosAvaliacoes = $_REQUEST['apontamentoAvaliacao'];
     $apontamentosFaturados = $_REQUEST['apontamentoFaturado'];
     $mensagem = $this->validarApontamentoParaAvaliacao($connection, $apontamentosCodigos, $apontamentosDuracoes, $apontamentosAvaliacoes, $apontamentosFaturados);
     if (substr($mensagem, 0, 1) == 'S') {
         $mensagem = "";
     }
     $registros = $this->carregarApontamentosParaAvaliacao($connection, $periodoInicial, $periodoFinal, $usuario, $empresa, $apontamentoAvaliacao, $apontamentoTipo, $atividadeCodigo, $chamadoCodigo, $mensagem);
     Databases::disconnect($connection);
     $this->exibirApontamentosParaAvaliacao($registros);
 }
예제 #6
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();
 }
예제 #7
0
 public function salvarCadastrarAction()
 {
     $connection = Databases::connect();
     $empresaModel = new EmpresasModel();
     $empresaVo = $empresaModel->loadById($connection, $this->getParametroTela('empresa'));
     $perfilModel = new PerfisModel();
     $perfilVo = $perfilModel->loadById($connection, $this->getParametroTela('perfil'));
     $vo = new UsuariosVo();
     $vo->setId($this->getParametroTela('id'));
     $vo->setNome($this->getParametroTela('nome'));
     $vo->setEmpresa($empresaVo);
     $vo->setSetor($this->getParametroTela('setor'));
     $vo->setPerfil($perfilVo);
     $vo->setFoneComercial($this->getParametroTela('foneComercial'));
     $vo->setFoneCelular($this->getParametroTela('foneCelular'));
     $vo->setEmail($this->getParametroTela('email'));
     $vo->setSenha($this->getParametroTela('senha'));
     $vo->setSituacao($this->getParametroTela('situacao'));
     $vo->setObservacao($this->getParametroTela('observacao'));
     // Se campo senha não for preenchido, mantém senha atual do usuário
     if (Functions::isEmpty($this->getParametroTela('senha'))) {
         $model = new UsuariosModel();
         $oldVo = $model->loadById($connection, $this->getParametroTela('id'));
         $vo->setSenha($oldVo->getSenha());
     }
     $mensagem = $this->validarFormulario($vo);
     if (substr($mensagem, 0, 1) == 'S') {
         $this->salvarRegistro($connection, $vo);
         $dados = $this->carregarDadosListar($connection, $mensagem);
         Databases::disconnect($connection);
         $this->exibirTelaListar($dados);
     } else {
         if (substr($mensagem, 0, 1) == 'N') {
             $dados = $this->carregarDadosManter($connection, $vo, $mensagem);
             Databases::disconnect($connection);
             $this->exibirTelaManter($dados);
         }
     }
 }
예제 #8
0
 public function salvarCadastrarAction()
 {
     $connection = Databases::connect();
     $situacoesModel = new SituacoesModel();
     $situacaoVo = $situacoesModel->loadById($connection, $this->getParametroTela('situacao'));
     $usuariosModel = new UsuariosModel();
     $usuarioVo = $usuariosModel->loadById($connection, $this->getParametroTela('usuario'));
     $empresasModel = new EmpresasModel();
     $empresaVo = $empresasModel->loadById($connection, $this->getParametroTela('empresa'));
     $tiposAtividadesModel = new TiposAtividadesModel();
     $tipoAtividadeVo = $tiposAtividadesModel->loadById($connection, $this->getParametroTela('tipoAtividade'));
     if (Functions::isEmpty($this->getParametroTela('id'))) {
         $modo = "I";
     } else {
         $modo = "A";
     }
     $vo = new AtividadesVo();
     $vo->setId($this->getParametroTela('id'));
     $vo->setData($this->getParametroTela('data'));
     $vo->setSituacao($situacaoVo);
     $vo->setUsuario($usuarioVo);
     $vo->setEmpresa($empresaVo);
     $vo->setTipoAtividade($tipoAtividadeVo);
     $vo->setAssunto($this->getParametroTela('assunto'));
     $vo->setObservacao($this->getParametroTela('observacao'));
     $mensagem = $this->validarFormulario($vo);
     if (substr($mensagem, 0, 1) == 'S') {
         $id = $this->salvarRegistro($connection, $vo);
         $vo->setId($id);
         if ($modo == "I") {
             $controller = new ApontamentosController();
             $mensagem = $controller->iniciar($connection, "A", $vo->getId(), "Iniciado automaticamente");
         }
     }
     $dados = $this->carregarDadosManter($connection, $vo, $mensagem);
     Databases::disconnect($connection);
     $this->exibirTelaManter($dados);
 }