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; }
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(); }
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; }
private function carregarDadosEmExecucao($connection, $mensagem = "") { $usuario = $this->getParametroTela('usuario'); $model = new AtividadesModel(); $registros = $model->loadEmExecucao($connection, $usuario); return $this->trabalharDadosListar($registros, $mensagem); }