예제 #1
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;
 }
예제 #2
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;
 }
예제 #3
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);
 }