public function save($connection, $vo) { if (Functions::isEmpty($vo->getId())) { $this->insert($connection, $vo); } else { $this->update($connection, $vo); } }
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); }
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 carregarDadosManter($connection, $id = "", $mensagem = "") { if (!Functions::isEmpty($id)) { $model = new TiposProdutosModel(); $tiposProdutos = $model->loadById($connection, $id); } else { $tiposProdutos = new TiposProdutosVo(); } return $this->trabalharDadosManter($tiposProdutos, $mensagem); }
private function carregarDadosManter($connection, $id = "", $mensagem = "") { if (!Functions::isEmpty($id)) { $model = new PrioridadesModel(); $prioridades = $model->loadById($connection, $id); } else { $prioridades = new PrioridadesVo(); } return $this->trabalharDadosManter($prioridades, $mensagem); }
public function save($connection, $vo) { if (!Functions::isEmpty($vo->getObservacao())) { if (Functions::isEmpty($vo->getId())) { $vo->setId($this->insert($connection, $vo)); } else { $vo->setId($this->update($connection, $vo)); } } $arquivo = $vo->getAnexo(); if (!Functions::isEmpty($arquivo["name"])) { $this->uploadFile($vo); } }
public function carregarDadosManter($connection, $id = "", $mensagem = "", $descricao = "", $situacao = "") { if (is_object($id)) { $perfil = $id; } else { if (!Functions::isEmpty($id)) { $model = new PerfisModel(); $perfil = $model->loadById($connection, $id); } else { $perfil = new PerfisVo(); } } $perfisPermissoesModel = new PerfisPermissoesModel(); $perfisPermissoes = $perfisPermissoesModel->loadByPerfil($connection, $perfil->getId(), $descricao, $situacao); return $this->trabalharDadosManter($perfil, $perfisPermissoes, $mensagem, $descricao, $situacao); }
private function carregarDadosManter($connection, $perfil, $id = "", $mensagem = "") { if (is_object($id)) { $vo = $id; } else { if (!Functions::isEmpty($id)) { $model = new PerfisPermissoesModel(); $vo = $model->loadById($connection, $id); } else { $vo = new PerfisPermissoesVo(); } } $perfisModel = new PerfisModel(); $perfis = $perfisModel->load($connection); $tiposSistemasModel = new TiposSistemasModel(); $tiposSistemas = $tiposSistemasModel->load($connection); return $this->trabalharDadosManter($perfil, $vo, $perfis, $tiposSistemas, $mensagem); }
public function loadClientesDeUmaEmpresa($connection, $apenasAtivos, $empresaCodigo) { $registros = array(); $query = " SELECT *\n FROM usuarios, perfis\n WHERE prf_cdiperfil = usu_cdiperfil\n AND prf_oplcliente = 1 "; if ($apenasAtivos == 1) { $query = $query . " AND usu_opldesativado = 1 "; } if (!Functions::isEmpty($empresaCodigo)) { $query = $query . " AND usu_cdiempresa = :usu_cdiempresa "; } $query = $query . " ORDER BY usu_dssnome "; $stmt = $connection->prepare($query); if (!Functions::isEmpty($empresaCodigo)) { $stmt->bindParam(':usu_cdiempresa', $empresaCodigo); } $stmt->execute(); $rows = $stmt->fetchAll(); foreach ($rows as $row) { $vo = $this->populateVo($connection, $row); array_push($registros, $vo); } return $registros; }
public function loadApontamentosDiasDistintos($connection, $tipoApontamento) { $cache = phpFastCache(); $apontamentosCache = $cache->get("ApontamentosDiasDistintos" . $tipoApontamento); if ($apontamentosCache != null) { return $apontamentosCache; } else { $registros = array(); $query = " SELECT *\n FROM apontamentos\n WHERE apo_dtdinicio NOT LIKE '%0000%'\n AND apo_dtdfim NOT LIKE '%0000%'\n AND DAY(apo_dtdinicio) <> DAY(apo_dtdfim) "; if (!Functions::isEmpty($tipoApontamento) && $tipoApontamento == "A") { $query .= " AND apo_cdiatividade IS NOT NULL "; } if (!Functions::isEmpty($tipoApontamento) && $tipoApontamento == "C") { $query .= " AND apo_cdichamado IS NOT NULL "; } $query .= " ORDER BY apo_cdiapontamento "; $stmt = $connection->prepare($query); $stmt->execute(); $rows = $stmt->fetchAll(); foreach ($rows as $row) { $vo = $this->populateVo($connection, $row); array_push($registros, $vo); } $cache->set("ApontamentosDiasDistintos" . $tipoApontamento, $registros, 60 * Functions::getParametro('cache')); return $registros; } }
private function validarFormulario($connection, $email, $senha) { if (Functions::isEmpty($email)) { return 'N' . 'Informe o campo "E-mail"'; } else { if (!Functions::isEmpty($email) && !Functions::isEmail($email)) { return 'N' . 'Valor para "E-mail" é inválido'; } else { if (Functions::isEmpty($senha)) { return 'N' . 'Informe o campo "Senha"'; } else { $vo = $this->efetuarLogin($connection, $email, $senha); if (Functions::isEmpty($vo->getId())) { return 'N' . 'Credenciais de acesso inválidas'; } else { return 'S' . 'Operação realizada com sucesso'; } } } } }
public function listarMinhaEmpresa($connection, $empresaCodigo = "", $usuarioCodigo = "", $situacaoCodigo = "") { $registros = array(); $query = " SELECT *\n\t\t FROM chamados\n\t\t WHERE 1 = 1 "; if (!Functions::isEmpty($empresaCodigo)) { $query .= " AND cha_cdiempresa = :empresaCodigo "; } if (!Functions::isEmpty($usuarioCodigo)) { $query .= " AND :usuarioCodigo IN (cha_cdiusuario, cha_cdiusuario_requisitante) "; } if (!Functions::isEmpty($situacaoCodigo)) { $query .= " AND cha_cdisituacao = :situacaoCodigo "; } $stmt = $connection->prepare($query); if (!Functions::isEmpty($empresaCodigo)) { $stmt->bindParam(':empresaCodigo', $empresaCodigo); } if (!Functions::isEmpty($usuarioCodigo)) { $stmt->bindParam(':usuarioCodigo', $usuarioCodigo); } if (!Functions::isEmpty($situacaoCodigo)) { $stmt->bindParam(':situacaoCodigo', $situacaoCodigo); } $stmt->execute(); $rows = $stmt->fetchAll(); foreach ($rows as $row) { $vo = $this->populateVo($connection, $row); array_push($registros, $vo); } return $registros; }
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); }
public function pararAction() { $connection = Databases::connect(); $atividade = $this->getParametroTela('atividade'); $chamado = $this->getParametroTela('chamado'); if (!Functions::isEmpty($atividade)) { $tipoApontamento = "A"; $controller = new AtividadesController(); $codigo = $atividade; } if (!Functions::isEmpty($chamado)) { $tipoApontamento = "C"; $controller = new ChamadosController(); $codigo = $chamado; } $apontamentoModel = new ApontamentosModel(); $apontamento = $apontamentoModel->loadUltimaAberta($connection, $_SESSION['usuarioCodigo'], $tipoApontamento); $mensagem = $this->validarPararApontamento($apontamento, $tipoApontamento, $codigo); if (substr($mensagem, 0, 1) == 'S') { $apontamento->setDataFim(date('d/m/Y H:i')); $apontamento->setObservacao($apontamento->getObservacao() . '<br />-<br />' . $this->getParametroTela('observacao')); $apontamento->setAvaliacao(9); $this->salvarRegistro($connection, $apontamento); } if (!Functions::isEmpty($this->getParametroTela('visualizar'))) { $codigo = $this->getParametroTela('visualizar'); } $dados = $controller->carregarDadosManter($connection, $codigo, $mensagem); Databases::disconnect($connection); $controller->exibirTelaManter($dados); }
public function ajaxExibeContatosUsuarioAction() { $usuarioCodigo = $this->getParametroTela('usuarioCodigo'); $connection = Databases::connect(); $usuarioModel = new UsuariosModel(); $usuario = $usuarioModel->loadById($connection, $usuarioCodigo); Databases::disconnect($connection); if (Functions::isEmpty($usuarioCodigo)) { $resultado = ' <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Contatos de Usuário</h4> </div> <div class="modal-body"> <p> Nenhum usuário foi selecionado. <br /> Selecione um usuário para visualizar seus contatos. </p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> </div> </div> </div>'; } else { $resultado = ' <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Contatos de ' . $usuario->getNome() . '</h4> </div> <div class="modal-body"> <p> <span class="glyphicon glyphicon-envelope"></span> ' . $usuario->getEmail() . '<br /> <span class="glyphicon glyphicon-phone-alt"></span> ' . $usuario->getFoneComercial() . '<br /> <span class="glyphicon glyphicon-phone"></span> ' . $usuario->getFoneCelular() . '<br /> </p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button> </div> </div> </div>'; } echo $resultado; }
static function toTime($time) { if (Functions::isEmpty($time)) { return "00:00:00"; } $time = str_replace(":", "", $time); $ss = substr($time, strlen($time) - 2, 2); $mm = substr($time, strlen($time) - 4, 2); $hh = substr($time, 0, strlen($time) - 4); if ($ss >= 60) { $ss = $ss - 60; $mm = $mm + 1; } if ($mm >= 60) { $mm = $mm - 60; $hh = $hh + 1; } $ss = str_pad($ss, 2, '0', STR_PAD_LEFT); $mm = str_pad($mm, 2, '0', STR_PAD_LEFT); $hh = str_pad($hh, 2, '0', STR_PAD_LEFT); return $hh . ':' . $mm . ":" . $ss; }
public function loadRelatorioAtendimentosAnalitico($connection, $periodoInicial, $periodoFinal, $empresa, $situacao, $tipoAvaliacao) { $registros = array(); $query = " SELECT at.ati_cdiatividade, at.ati_dtdcriacao\n , us.usu_dssnome, ep.emp_dssempresa\n , st.sit_dsssituacao, tt.tpt_dsstipoatividade\n , at.ati_dssassunto, at.ati_dsbobservacao\n , SEC_TO_TIME(SUM(TIME_TO_SEC(ap.apo_hrsfaturadas))) apo_hrsfaturadas\n FROM atividades at\n INNER JOIN apontamentos ap ON ap.apo_cdiatividade = at.ati_cdiatividade\n LEFT JOIN usuarios us ON us.usu_cdiusuario = at.ati_cdiusuario\n LEFT JOIN empresas ep ON ep.emp_cdiempresa = at.ati_cdiempresa\n LEFT JOIN situacoes st ON st.sit_cdisituacao = at.ati_cdisituacao\n LEFT JOIN tiposatividades tt ON tt.tpt_cditipoatividade = at.ati_cditipoatividade\n WHERE date_format(ap.apo_dtdinicio, '%Y-%m-%d') BETWEEN :periodoInicial AND :periodoFinal\n AND date_format(ap.apo_dtdfim , '%Y-%m-%d') BETWEEN :periodoInicial AND :periodoFinal "; if (!Functions::isEmpty($empresa)) { $query .= " AND ep.emp_cdiempresa = :empresa "; } if (!Functions::isEmpty($situacao)) { $query .= " AND st.sit_cdisituacao = :situacao "; } if (!Functions::isEmpty($tipoAvaliacao)) { if ($tipoAvaliacao == 1) { $query .= " AND ap.apo_cdimodofaturamento in (1,2,3) "; } else { if ($tipoAvaliacao == 2) { $query .= " AND ap.apo_cdimodofaturamento in (1,2) "; } else { if ($tipoAvaliacao == 3) { $query .= " AND ap.apo_cdimodofaturamento in (3) "; } } } } $query .= " GROUP BY at.ati_cdiatividade, at.ati_dtdcriacao\n , us.usu_dssnome, ep.emp_dssempresa\n , st.sit_dsssituacao, tt.tpt_dsstipoatividade\n , at.ati_dssassunto, at.ati_dsbobservacao\n ORDER BY at.ati_cdiatividade "; $stmt = $connection->prepare($query); if (!Functions::isEmpty($periodoInicial)) { $stmt->bindParam(':periodoInicial', Functions::toDateToSql($periodoInicial)); } if (!Functions::isEmpty($periodoFinal)) { $stmt->bindParam(':periodoFinal', Functions::toDateToSql($periodoFinal)); } if (!Functions::isEmpty($empresa)) { $stmt->bindParam(':empresa', $empresa); } if (!Functions::isEmpty($situacao)) { $stmt->bindParam(':situacao', $situacao); } $stmt->execute(); $rows = $stmt->fetchAll(); foreach ($rows as $row) { if (Functions::isEmpty($row->apo_hrsfaturadas)) { $horasFaturadas = '00:00:00'; } else { $horasFaturadas = $row->apo_hrsfaturadas; } $registro = array('atividadeCodigo' => $row->ati_cdiatividade, 'atividadeData' => Functions::toDate($row->ati_dtdcriacao), 'usuarioNome' => $row->usu_dssnome, 'empresaDescricao' => $row->emp_dssempresa, 'situacaoDescricao' => $row->sit_dsssituacao, 'tipoAtividadeDescricao' => $row->tpt_dsstipoatividade, 'atividadeAssunto' => $row->ati_dssassunto, 'atividadeObservacao' => $row->ati_dsbobservacao, 'horasFaturadas' => $horasFaturadas); array_push($registros, $registro); } return $registros; }
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(); }