public function inserir(SubAtividade &$sa, Atividade $atividade) { $id = $this->getId("SA"); $this->con->executar("INSERT INTO " . BDPrefixo . $this->tabela . "(id, atividade, titulo) VALUES('" . $id . "','" . $atividade->getId() . "','" . $sa->titulo . "')"); $temp = new SubAtividade($id); $temp->titulo = $sa->titulo; $sa = $temp; }
public function deletar(Atividade $at) { $where = "WHERE id = '" . $at->getId() . "'"; while ($sa = $at->getSubAtividade->listar()) { $at->getSubAtividade()->deletar($sa); } $this->con->deletar(BDPrefixo . $this->tabela, $where); }
public function alterar(Atividade $obj) { $strSQL = "UPDATE ADM_ATV_ATIVIDADES SET "; $strSQL .= "ATV_Descricao = '" . $obj->getDescricao() . "', "; $strSQL .= "ATV_ExigeData = '" . $obj->getExigeData() . "', "; $strSQL .= "ATV_Status = '" . $obj->getStatus() . "' "; $strSQL .= "WHERE ATV_ID = " . $obj->getId() . " "; return Db::getInstance()->executar($strSQL); }
public function __construct($atividade_cdg = null) { parent::__construct($atividade_cdg, 1); $this->atividade_cdg = isset($atividade_cdg) ? $atividade_cdg : -1; if ($this->atividade_cdg != -1) { $this->carregar_atividade(); } }
/** * Validate a given value * @param $label Identifies the value to be validated in case of exception * @param $value Value to be validated in case of 00:00 */ public function validate($label, $value, $parameters = NULL) { if (trim($value)) { $ultima = Atividade::retornaHoraUltimaAtividade($parameters['user'], $parameters['data']); if ($ultima) { $HoraSaida = new DateTime($value); $HoraAtividade = new DateTime($ultima); if ($HoraAtividade > $HoraSaida) { throw new Exception("Horário de saída inferior a hora final da ultima atividade"); } } } }
private function factory($arrStrDados) { $obj = new AtividadeMembro(); $objMembro = new Membro(); if (isset($arrStrDados["PES_ID"])) { $objMembro->setId($arrStrDados["PES_ID"]); } if (isset($arrStrDados["PES_Nome"])) { $objMembro->setNome($arrStrDados["PES_Nome"]); } $obj->setMembro($objMembro); $objAtividade = new Atividade(); if (isset($arrStrDados["ATV_ID"])) { $objAtividade->setId($arrStrDados["ATV_ID"]); } if (isset($arrStrDados["ATV_Descricao"])) { $objAtividade->setDescricao($arrStrDados["ATV_Descricao"]); } if (isset($arrStrDados["ATV_ExigeData"])) { $objAtividade->setExigeData($arrStrDados["ATV_ExigeData"]); } if (isset($arrStrDados["ATV_Status"])) { $objAtividade->setStatus($arrStrDados["ATV_Status"]); } $obj->setAtividade($objAtividade); if (isset($arrStrDados["ATM_Desde"])) { $intTotOcorrencia = substr_count($arrStrDados["ATM_Desde"], "/"); if ($intTotOcorrencia > 0) { //veio com / então retira $obj->setDataDesde(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["ATM_Desde"])); } else { $intTotOcorrencia2 = substr_count($arrStrDados["ATM_Desde"], "-"); if ($intTotOcorrencia2 > 0) { $obj->setDataDesde(DataHelper::getInstance()->converterDataBancoParaDataUsuario($arrStrDados["ATM_Desde"])); } else { $obj->setDataDesde(null); } } } if (isset($arrStrDados["ATM_Ate"])) { $intTotOcorrencia = substr_count($arrStrDados["ATM_Ate"], "/"); if ($intTotOcorrencia > 0) { //veio com / então retira $obj->setDataAte(DataHelper::getInstance()->converterDataUsuarioParaDataBanco($arrStrDados["ATM_Ate"])); } else { $intTotOcorrencia2 = substr_count($arrStrDados["ATM_Ate"], "-"); if ($intTotOcorrencia2 > 0) { $obj->setDataAte(DataHelper::getInstance()->converterDataBancoParaDataUsuario($arrStrDados["ATM_Ate"])); } else { $obj->setDataAte(null); } } } return $obj; }
/** * Painel do participante * @return void */ public function indexAction() { if (!Zend_Auth::getInstance()->hasIdentity()) { $this->_redirect('participantes/cadastrar'); } elseif (Zend_Auth::getInstance()->getIdentity()->sRole == 'admin') { $this->_redirect('administrador'); } $idUsuario = Zend_Auth::getInstance()->getIdentity()->id; $usuario = Usuario::build()->find($idUsuario)->current(); // Atividades submetidas $this->view->atividadesSubmetidas = Atividade::build()->findByPalestrante($idUsuario); // Atividades que esta inscrito $this->view->atividadesInscrito = Atividade::build()->findByParticipante($idUsuario); // Vagas ocupadas/inscrições $this->view->vagasOcupadas = Inscricao::build()->countByAtividade(); }
/** * Painel do administrador * @return void */ public function indexAction() { $idUsuario = Zend_Auth::getInstance()->getIdentity()->id; // Atividades submetidas $this->view->atividadesSubmetidas = Atividade::build()->fetchAll('situacao = ' . Atividade::SUBMETIDO, 'nome'); // Atividades $this->view->atividades = Atividade::build()->findAll(); // Atividades rejeitadas $this->view->atividadesRejeitadas = Atividade::build()->fetchAll('situacao = ' . Atividade::REJEITADO, 'nome'); // Usuários cadastrados $this->view->qtUsuarios = Usuario::build()->fetchAll()->count(); // Usuários cadastrados $this->view->qtInscricoes = Inscricao::build()->fetchAll()->count(); // Vagas ocupadas/inscrições $this->view->vagasOcupadas = Inscricao::build()->countByAtividade(); //Atividades que o admin está inscritos $this->view->atividadesInscrito = Atividade::build()->findByParticipante($idUsuario); }
<?php include_once dirname(__FILE__) . '/../../inc/config.inc.php'; include_once dirname(__FILE__) . '/../../model/Inscricao.class.php'; include_once dirname(__FILE__) . '/../../model/Atividade.class.php'; include_once dirname(__FILE__) . '/../../inc/mensagens.inc.php'; session_start(); if (!isset($_SESSION['usuario'])) { header("location: /" . $config['PATH'] . "/admin/form_login.php?syserror=AUTENTICACAO_NECESSARIA"); exit; } $atividade = Atividade::find($_GET['id']); $inscricoes = Inscricao::find_by_atividade($_GET['id']); ?> <!DOCTYPE HTML> <html lang="pt-br"> <head> <?php include_once dirname(__FILE__) . '/../../inc/head.inc.php'; ?> <script type="text/javascript"> function marcar_todos() { $("input[type='checkbox']").attr('checked', true); } function desmarcar_todos() { $("input[type='checkbox']").attr('checked', false); } </script> </head>
/** * * Retorna JSON de todas as pessoas desta atividade * @param integer $id - identificador da Atividade */ public function actionTokenPessoa($id) { $model = new Atividade(); $model = Atividade::model()->findByPk($id); if ($model == null) { throw new CHttpException('404'); } echo '['; $num = count($model->pessoas); foreach ($model->pessoas as $i => $p) { echo "{\"id\": \"" . $p->cod_pessoa . "\", \"name\": \"" . $p->nome . "\"}"; if ($i < $num - 1) { echo ','; } } echo ']'; }
/** * method onGenerate() * Executed whenever the user clicks at the generate button */ function onGenerate() { try { // open a transaction with database 'atividade' TTransaction::open('atividade'); // get the form data into an active record $formdata = $this->form->getData(); $validador = new TDuasDatasValidator(); $validador->validate('Datas', '', array($formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-01')); $meses = $this->colecaoMeses($formdata); $tickets = null; $arrayTickets = null; if ($formdata->cliente_id > 0) { $cliente = Pessoa::getPessoasEntidade($formdata->cliente_id); $retorno = Ticket::getTicketsCliente($cliente); $arrayTickets = $retorno; $tickets = implode(",", $retorno); } $criteria = new TCriteria(); $criteria->add(new TFilter("origem", "=", 1)); $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100)); $criteria->add(new TFilter("ativo", "=", 1)); $criteria->add(new TFilter("usuario", "is not ")); $repo = new TRepository('Pessoa'); $pessoas = $repo->load($criteria); $criteria = new TCriteria(); $criteria->add(new TFilter('data_atividade', '<', $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01'), TExpression::OR_OPERATOR); $criteria->add(new TFilter('data_atividade', '>', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final)), TExpression::OR_OPERATOR); $repository = new TRepository('Atividade'); $count = $repository->count($criteria); $format = $formdata->output_type; if ($count > 0) { $widths = array(); switch ($format) { case 'html': $tr = new TTableWriterHTML($widths); $break = '<br />'; break; case 'pdf': $tr = new TTableWriterPDF($widths); $break = '<br />'; break; case 'rtf': if (!class_exists('PHPRtfLite_Autoloader')) { PHPRtfLite::registerAutoloader(); } $tr = new TTableWriterRTF($widths); $break = '<br />'; break; } // create the document styles $tr->addStyle('title', 'Arial', '10', 'B', '#ffffff', '#6B6B6B'); $tr->addStyle('datap', 'Arial', '10', '', '#000000', '#E5E5E5'); $tr->addStyle('datai', 'Arial', '10', '', '#000000', '#ffffff'); $tr->addStyle('header', 'Times', '16', 'B', '#4A5590', '#C0D3E9'); $tr->addStyle('footer', 'Times', '12', 'BI', '#4A5590', '#C0D3E9'); $colunas = count($meses) * 4 + 2; $arrayMeses = $this->string->array_meses(); // add a header row $tr->addRow(); $tr->addCell('RELATORIO XPTO', 'center', 'header', $colunas); // add a header row $tr->addRow(); $tr->addCell('Indicadores', 'center', 'header', $colunas); // add a header row $i = 0; $tr->addRow(); $tr->addCell('', 'center', 'header'); foreach ($meses as $mes) { $i++; $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header'); $tr->addCell('%', 'center', 'header'); $tr->addCell(' ', 'center', 'datai'); } $tr->addCell('TOTAL', 'center', 'header'); $tr->addCell('%', 'center', 'header'); // add a carga horaria row $i = 0; $totalHorario = null; $arrayHorario = array(); $tr->addRow(); $tr->addCell(utf8_decode('Carga horária mensal:'), 'left', 'datap'); foreach ($meses as $mes) { $criteria = new TCriteria(); $criteria->add(new TFilter("mes", "=", substr($mes, 3, 2))); $criteria->add(new TFilter("ano", "=", substr($mes, 6, 4))); if ($formdata->colaborador_id > 0) { $criteria->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id)); } $repo = new TRepository('CargaHoraria'); $cargaHoraria = $repo->load($criteria); $horario = null; foreach ($cargaHoraria as $carga) { $horario += $this->string->time_to_sec($carga->horario); } $totalHorario += $horario; $arrayHorario[$i] = $horario; $horario = $this->string->sec_to_time($horario); $tr->addCell($this->string->retira_segundos($horario), 'center', 'datap'); $tr->addCell('100%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } $totalHorario = $this->string->sec_to_time($totalHorario); $tr->addCell($this->string->retira_segundos($totalHorario), 'center', 'datap'); $tr->addCell('100%', 'center', 'datap'); //add horas ponto total row $i = 0; $totalPontoTotal = null; $arrayPontoTotal = array(); $tr->addRow(); $tr->addCell(utf8_decode('Horas ponto total:'), 'left', 'datap'); foreach ($meses as $mes) { if ($formdata->colaborador_id > 0) { $totalPonto = $this->retornaPonto($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4)); $totalPontoTotal += $this->string->time_to_sec($totalPonto); $arrayPontoTotal[$i] = $this->string->time_to_sec($totalPonto); } else { foreach ($pessoas as $pessoa) { $totalPonto += $this->string->time_to_sec($this->retornaPonto($pessoa->pessoa_codigo, substr($mes, 3, 2), substr($mes, 6, 4))); } $totalPontoTotal += $totalPonto; $arrayPontoTotal[$i] = $totalPonto; $totalPonto = $this->string->sec_to_time($totalPonto); } $tr->addCell($this->string->retira_segundos($totalPonto), 'center', 'datap'); $tr->addCell(round($arrayPontoTotal[$i] * 100 / $arrayHorario[$i]) . '%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } $totalPontoTotal = $this->string->sec_to_time($totalPontoTotal); $tr->addCell($this->string->retira_segundos($totalPontoTotal), 'center', 'datap'); $tr->addCell(round($this->string->time_to_sec($totalPontoTotal) * 100 / $this->string->time_to_sec($totalHorario)) . '%', 'center', 'datap'); //add horas ponto util row $i = 0; $totalPontoUtil = null; $arrayPontoUtil = array(); $tr->addRow(); $tr->addCell(utf8_decode('Horas ponto util:'), 'left', 'datap'); foreach ($meses as $mes) { $cri = new TCriteria(); if ($formdata->colaborador_id > 0) { $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id)); } $cri->add(new TFilter("ticket_id", "IN", array(328, 514))); $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2))); $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4))); $repo = new TRepository('Atividade'); $ausencias = $repo->count($cri); $tempo = 0; if ($ausencias) { $horas = $repo->load($cri); foreach ($horas as $h) { $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio); } } $pontoUtil = $arrayPontoTotal[$i] - $tempo; $arrayPontoUtil[$i] = $pontoUtil; $totalPontoUtil += $pontoUtil; $pontoUtil = $this->string->sec_to_time($pontoUtil); $tr->addCell($this->string->retira_segundos($pontoUtil), 'center', 'datap'); $tr->addCell(round($arrayPontoUtil[$i] * 100 / $arrayHorario[$i]) . '%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } $totalPontoUtil = $this->string->sec_to_time($totalPontoUtil); $tr->addCell($this->string->retira_segundos($totalPontoUtil), 'center', 'datap'); $tr->addCell(round($this->string->time_to_sec($totalPontoUtil) * 100 / $this->string->time_to_sec($totalHorario)) . '%', 'center', 'datap'); //add atividades indicador total $i = 0; $totalAtividadeTotal = null; $arrayAtividadeTotal = array(); $tr->addRow(); $tr->addCell(utf8_decode('Horas atividade (indicador total):'), 'left', 'datap'); foreach ($meses as $mes) { $total = Atividade::retornaTotalAtividadesColaborador($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4), $tickets); $arrayAtividadeTotal[$i] = $this->string->time_to_sec($total); $totalAtividadeTotal += $this->string->time_to_sec($total); $tr->addCell($this->string->retira_segundos($total), 'center', 'datap'); $tr->addCell(round($arrayAtividadeTotal[$i] * 100 / $arrayPontoTotal[$i]) . '%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } $totalAtividadeTotal = $this->string->sec_to_time($totalAtividadeTotal); $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'datap'); $tr->addCell(round($this->string->time_to_sec($totalAtividadeTotal) * 100 / $this->string->time_to_sec($totalPontoTotal)) . '%', 'center', 'datap'); //add atividades indicador util $i = 0; $tr->addRow(); $tr->addCell(utf8_decode('Horas atividade (indicador util):'), 'left', 'datap'); foreach ($meses as $mes) { $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]); $tr->addCell($this->string->retira_segundos($total), 'center', 'datap'); $tr->addCell(round($arrayAtividadeTotal[$i] * 100 / $arrayPontoUtil[$i]) . '%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } //$totalAtividadeTotal = $this->string->sec_to_time($totalAtividadeTotal); $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'datap'); $tr->addCell(round($this->string->time_to_sec($totalAtividadeTotal) * 100 / $this->string->time_to_sec($totalPontoUtil)) . '%', 'center', 'datap'); // division row $tr->addRow(); $tr->addCell($break, 'center', 'datai', $colunas); // add a header row $tr->addRow(); $tr->addCell(utf8_decode('Ausências'), 'center', 'header', $colunas); // add a header row $i = 0; $tr->addRow(); $tr->addCell('', 'center', 'header'); foreach ($meses as $mes) { $i++; $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header'); $tr->addCell('%', 'center', 'header'); $tr->addCell(' ', 'center', 'datai'); } $tr->addCell('TOTAL', 'center', 'header'); $tr->addCell('%', 'center', 'header'); // add atestado medico row $i = 0; $totalAtestados = null; $arrayAtestados = array(); $tr->addRow(); $tr->addCell(utf8_decode('Atestado médico:'), 'left', 'datap'); foreach ($meses as $mes) { $atestados = Atividade::retornaAtestados($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4)); $arrayAtestados[$i] = $this->string->time_to_sec($atestados); $totalAtestados += $this->string->time_to_sec($atestados); $tr->addCell($this->string->retira_segundos($atestados), 'center', 'datap'); $tr->addCell(round($arrayAtestados[$i] * 100 / $arrayPontoTotal[$i]) . '%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } $totalAtestados = $this->string->sec_to_time($totalAtestados); $tr->addCell($this->string->retira_segundos($totalAtestados), 'center', 'datap'); $tr->addCell(round($this->string->time_to_sec($totalAtestados) * 100 / $this->string->time_to_sec($totalPontoTotal)) . '%', 'center', 'datap'); // add ausencias row $i = 0; $totalAusencias = null; $arrayAusencias = array(); $tr->addRow(); $tr->addCell(utf8_decode('Ausências:'), 'left', 'datap'); foreach ($meses as $mes) { $ausencias = Atividade::retornaAusencias($formdata->colaborador_id, substr($mes, 3, 2), substr($mes, 6, 4)); $arrayAusencias[$i] = $this->string->time_to_sec($ausencias); $totalAusencias += $this->string->time_to_sec($ausencias); $tr->addCell($this->string->retira_segundos($ausencias), 'center', 'datap'); $tr->addCell(round($arrayAusencias[$i] * 100 / $arrayPontoTotal[$i]) . '%', 'center', 'datap'); $tr->addCell(' ', 'center', 'datai'); $i++; } $totalAusencias = $this->string->sec_to_time($totalAusencias); $tr->addCell($this->string->retira_segundos($totalAusencias), 'center', 'datap'); $tr->addCell(round($this->string->time_to_sec($totalAusencias) * 100 / $this->string->time_to_sec($totalPontoTotal)) . '%', 'center', 'datap'); // division row $tr->addRow(); $tr->addCell($break, 'center', 'datai', $colunas); // add a header row $tr->addRow(); $tr->addCell(utf8_decode('Tipo Atividades'), 'center', 'header', $colunas); // add Tipo Atividades row $i = 0; $tr->addRow(); $tr->addCell('', 'center', 'header'); foreach ($meses as $mes) { $i++; $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header'); $tr->addCell('%', 'center', 'header'); $tr->addCell(' ', 'center', 'datai'); } $tr->addCell('TOTAL', 'center', 'header'); $tr->addCell('%', 'center', 'header'); // verifica tipos de atividades do periodo $colour = FALSE; $tipoAtividades = array(); $objects = Atividade::retornaTiposAtividadesPeriodo($formdata->colaborador_id, $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final), $tickets); $i = 1; foreach ($objects as $row) { $tipoAtividades[$i] = $row['tipo_atividade_id']; $i++; } foreach ($tipoAtividades as $ati) { // adiciona as linhas por tipo de atividade $style = $colour ? 'datap' : 'datai'; $i = 0; $totalAtividade = null; $arrayAtividade = array(); $tipoAtv = new TipoAtividade($ati); $tr->addRow(); $tr->addCell(utf8_decode($tipoAtv->nome . ':'), 'left', $style); foreach ($meses as $mes) { $cri = new TCriteria(); if ($formdata->colaborador_id > 0) { $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id)); } if ($tickets) { $cri->add(new TFilter("ticket_id", "IN", $arrayTickets)); } $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2))); $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4))); $cri->add(new TFilter("tipo_atividade_id", "=", $ati)); $repo = new TRepository('Atividade'); $count = $repo->count($cri); $tempo = 0; if ($count) { $horas = $repo->load($cri); foreach ($horas as $h) { $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio); } } $arrayAtividade[$i] = $tempo; $totalAtividade += $tempo; $tempo = $this->string->sec_to_time($tempo); $tr->addCell($this->string->retira_segundos($tempo), 'center', $style); $tr->addCell(round($arrayAtividade[$i] * 100 / $arrayAtividadeTotal[$i]) . '%', 'center', $style); $tr->addCell(' ', 'center', 'datai'); $i++; $colour = !$colour; } $totalAtividade = $this->string->sec_to_time($totalAtividade); $tr->addCell($this->string->retira_segundos($totalAtividade), 'center', $style); $tr->addCell(round($this->string->time_to_sec($totalAtividade) * 100 / $this->string->time_to_sec($totalAtividadeTotal)) . '%', 'center', $style); } //row total $i = 0; $tr->addRow(); $tr->addCell(utf8_decode('<b>Total:</b>'), 'left', 'footer'); foreach ($meses as $mes) { $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]); $tr->addCell($this->string->retira_segundos($total), 'center', 'footer'); $tr->addCell('100%', 'center', 'footer'); $tr->addCell(' ', 'center', 'datai'); $i++; } $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'footer'); $tr->addCell('100%', 'center', 'footer'); // division row $tr->addRow(); $tr->addCell($break, 'center', 'datai', $colunas); // add Por Sistema row $tr->addRow(); $tr->addCell(utf8_decode('Por sistema'), 'center', 'header', $colunas); $i = 0; $tr->addRow(); $tr->addCell('', 'center', 'header'); foreach ($meses as $mes) { $i++; $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header'); $tr->addCell('%', 'center', 'header'); $tr->addCell(' ', 'center', 'datai'); } $tr->addCell('TOTAL', 'center', 'header'); $tr->addCell('%', 'center', 'header'); // verifica tipos de atividades do periodo $colour = FALSE; $tipoSistemas = array(); $objects = Atividade::retornaSistemasPeriodo($formdata->colaborador_id, $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final), $tickets); $i = 1; foreach ($objects as $row) { $tipoSistemas[$i] = $row['sistema_id']; $i++; } foreach ($tipoSistemas as $sis) { // adiciona as linhas por tipo de atividade $style = $colour ? 'datap' : 'datai'; $i = 0; $totalSistema = null; $arraySistema = array(); $sistema = new Sistema($sis); $tr->addRow(); $tr->addCell(utf8_decode($sistema->nome . ':'), 'left', $style); foreach ($meses as $mes) { $cri = new TCriteria(); if ($formdata->colaborador_id > 0) { $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id)); } if ($tickets) { $cri->add(new TFilter("ticket_id", "IN", $arrayTickets)); } $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2))); $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4))); $cri->add(new TFilter("sistema_id", "=", $sis)); $cri->add(new TFilter("ticket_id", "not in", array(328, 514))); $repo = new TRepository('Atividade'); $count = $repo->count($cri); $tempo = 0; if ($count) { $horas = $repo->load($cri); foreach ($horas as $h) { $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio); } } $arraySistema[$i] = $tempo; $totalSistema += $tempo; $tempo = $this->string->sec_to_time($tempo); $tr->addCell($this->string->retira_segundos($tempo), 'center', $style); $tr->addCell(round($arraySistema[$i] * 100 / $arrayAtividadeTotal[$i]) . '%', 'center', $style); $tr->addCell(' ', 'center', 'datai'); $i++; $colour = !$colour; } $totalSistema = $this->string->sec_to_time($totalSistema); $tr->addCell($this->string->retira_segundos($totalSistema), 'center', $style); $tr->addCell(round($this->string->time_to_sec($totalSistema) * 100 / $this->string->time_to_sec($totalAtividadeTotal)) . '%', 'center', $style); } //row total $i = 0; $tr->addRow(); $tr->addCell(utf8_decode('<b>Total:</b>'), 'left', 'footer'); foreach ($meses as $mes) { $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]); $tr->addCell($this->string->retira_segundos($total), 'center', 'footer'); $tr->addCell('100%', 'center', 'footer'); $tr->addCell(' ', 'center', 'datai'); $i++; } $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'footer'); $tr->addCell('100%', 'center', 'footer'); // division row $tr->addRow(); $tr->addCell($break, 'center', 'datai', $colunas); // add Por Cliente row $tr->addRow(); $tr->addCell(utf8_decode('Por Cliente'), 'center', 'header', $colunas); $i = 0; $tr->addRow(); $tr->addCell('', 'center', 'header'); foreach ($meses as $mes) { $i++; $tr->addCell(substr(strtoupper($arrayMeses[intval(substr($mes, 3, 2))]), 0, 3), 'center', 'header'); $tr->addCell('%', 'center', 'header'); $tr->addCell(' ', 'center', 'datai'); } $tr->addCell('TOTAL', 'center', 'header'); $tr->addCell('%', 'center', 'header'); // monta array de clientes $tipoClientes = array(); $objects = Atividade::retornaClientesPeriodo($formdata->colaborador_id, $formdata->ano_atividade_inicial . '-' . str_pad($formdata->mes_atividade_inicial, 2, '0', STR_PAD_LEFT) . '-01', $formdata->ano_atividade_final . '-' . str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, str_pad($formdata->mes_atividade_final, 2, '0', STR_PAD_LEFT), $formdata->ano_atividade_final), $tickets); foreach ($objects as $row) { $cliente = new Pessoa($row['solicitante_id']); if ($cliente->origem == 1) { $ind = $cliente->codigo_cadastro_origem; } else { $ind = 999; } $tipoClientes[$ind] += $this->string->time_to_sec($row['sum']); } arsort($tipoClientes); $colour = FALSE; foreach ($tipoClientes as $key => $value) { $style = $colour ? 'datap' : 'datai'; $i = 0; $totalClientes = null; $arrayClientes = array(); $labelCliente = ''; if ($key == '999') { $labelCliente = '999 - ECS'; } else { $entidade = new Entidade($key); $labelCliente = str_pad($key, 3, '0', STR_PAD_LEFT) . ' - ' . $entidade->entnomfan; } $tr->addRow(); $tr->addCell(utf8_decode($labelCliente), 'left', $style); foreach ($meses as $mes) { $cri = new TCriteria(); if ($formdata->colaborador_id > 0) { $cri->add(new TFilter("colaborador_id", "=", $formdata->colaborador_id)); } if (!$tickets) { $cliente = Pessoa::getPessoasEntidade($key); $retorno = Ticket::getTicketsCliente($cliente); $arrayTickets = $retorno; } $cri->add(new TFilter("ticket_id", "IN", $arrayTickets)); $cri->add(new TFilter("extract('month' from data_atividade)", "=", substr($mes, 3, 2))); $cri->add(new TFilter("extract('year' from data_atividade)", "=", substr($mes, 6, 4))); $cri->add(new TFilter("ticket_id", "not in", array(328, 514))); $repo = new TRepository('Atividade'); $count = $repo->count($cri); $tempo = 0; if ($count) { $horas = $repo->load($cri); foreach ($horas as $h) { $tempo += $this->string->time_to_sec($h->hora_fim) - $this->string->time_to_sec($h->hora_inicio); } } $arrayClientes[$i] = $tempo; $totalClientes += $tempo; $tempo = $this->string->sec_to_time($tempo); $tr->addCell($this->string->retira_segundos($tempo), 'center', $style); $tr->addCell(round($arrayClientes[$i] * 100 / $arrayAtividadeTotal[$i]) . '%', 'center', $style); $tr->addCell(' ', 'center', 'datai'); $i++; $colour = !$colour; } $totalClientes = $this->string->sec_to_time($totalClientes); $tr->addCell($this->string->retira_segundos($totalClientes), 'center', $style); $tr->addCell(round($this->string->time_to_sec($totalClientes) * 100 / $this->string->time_to_sec($totalAtividadeTotal)) . '%', 'center', $style); } //row total $i = 0; $tr->addRow(); $tr->addCell(utf8_decode('<b>Total:</b>'), 'left', 'footer'); foreach ($meses as $mes) { $total = $this->string->sec_to_time($arrayAtividadeTotal[$i]); $tr->addCell($this->string->retira_segundos($total), 'center', 'footer'); $tr->addCell('100%', 'center', 'footer'); $tr->addCell(' ', 'center', 'datai'); $i++; } $tr->addCell($this->string->retira_segundos($totalAtividadeTotal), 'center', 'footer'); $tr->addCell('100%', 'center', 'footer'); // stores the file if (!file_exists("app/output/Atividade.{$format}") or is_writable("app/output/Atividade.{$format}")) { $tr->save("app/output/Atividade.{$format}"); } else { throw new Exception(_t('Permission denied') . ': ' . "app/output/Atividade.{$format}"); } // open the report file parent::openFile("app/output/Atividade.{$format}"); // shows the success message new TMessage('info', 'Report generated. Please, enable popups in the browser (just in the web).'); } else { new TMessage('error', 'No records found'); } // fill the form with the active record data $this->form->setData($formdata); // close the transaction TTransaction::close(); } catch (Exception $e) { // shows the exception error message new TMessage('error', '<b>Error</b> ' . $e->getMessage()); // undo all pending operations TTransaction::rollback(); } }
/** * method Delete() * Delete a record */ function Delete($param) { try { // print_r($param); $key = $param['id']; // get the parameter $key TTransaction::open('atividade'); // open a transaction with database $object = new Atividade($key, FALSE); // instantiates the Active Record $object->delete(); // deletes the object from the database TTransaction::close(); // close the transaction $action = new TAction(array('AtividadeList', 'onReload')); new TMessage('info', TAdiantiCoreTranslator::translate('Record deleted'), $action); // success message } catch (Exception $e) { new TMessage('error', '<b>Error</b> ' . $e->getMessage()); // shows the exception error message TTransaction::rollback(); // undo all pending operations } }
include_once dirname(__FILE__) . '/../inc/helper.inc.php'; include_once dirname(__FILE__) . '/../model/Participante.class.php'; include_once dirname(__FILE__) . '/../model/Atividade.class.php'; include_once dirname(__FILE__) . '/../model/Inscricao.class.php'; if (!inscricoes_abertas()) { header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=INSCRICOES_ENCERRADAS"); exit; } $minicurso_id = $_GET['minicurso_id']; session_start(); if (!isset($_SESSION['participante'])) { header("location: /" . $config['PATH'] . "/inscricoes/form_login.php?minicurso_id={$minicurso_id}&info=INSCRICAO_MINICURSO"); exit; } $participante = $_SESSION['participante']; $minicurso = Atividade::find($minicurso_id); if (!$minicurso->temVagasDisponiveis()) { header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=VAGAS_ESGOTADAS"); exit; } $inscricoes = $participante->getInscricoes(); foreach ($inscricoes as $inscricao) { if ($inscricao->atividade->id == $minicurso_id) { header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=JA_INSCRITO_MINICURSO"); exit; } } /*if(Inscricao::verificar_conflito($participante, $minicurso)) { header("location: /" . $config['PATH'] . "/minicursos/index.php?syserror=CONFLITO_HORARIOS"); exit; }*/
/** * * Retorna as atividades que acabam em 6 meses que um determinado * usuário É RESPONS�VEL * @param Pessoa $user * @return Atividade[] */ public static function getAllRespByUser($user) { if ($user == null) { //Se a pessoa não contém login retorna um array vazio return array(); } $cod_pessoa = $user->cod_pessoa; $criteria = new CDbCriteria(); $criteria->addCondition("t.cod_pessoa = {$cod_pessoa}", 'AND'); $criteria->addCondition("t.estagio = false", 'AND'); $criteria->order = 't.data_fim ASC, t.nome_atividade ASC'; return Atividade::model()->findALL($criteria); }
<?php } ?> </div> <?php } else { ?> <p><b>Não participa de nenhuma atividade no momento</b></p> <?php } ?> </div> <?php $atividades_responsavel = Atividade::getAllRespByUser($user); ?> <div class="view-left"> <?php if (count($atividades_responsavel) > 0) { ?> <p><b>Atividades o qual é responsável (<?php echo count($atividades_responsavel); ?> )</b> </p> <div class="view-scroll"> <?php foreach ($atividades_responsavel as $a) { ?> <div class="view <?php echo $a->class;
include_once '../../config.php'; include ROOT . "model/atividade.php"; include ROOT . "view/vhead.php"; if (isset($_SESSION['ALUNO_CDG'])) { require_once ROOT . 'control/login/verificar_autenticacao_aluno.php'; } if (isset($_GET['q'])) { $questao_atual = $_GET['q']; } else { echo "ERRO 01 - QUESTAO NAO CARREGADA"; } if (trim($questao_atual) == '') { echo "ERRO 01 - QUESTAO NAO CARREGADA"; } $ativ = new Atividade(isset($_SESSION['ATIVIDADE_ATUAL']) ? $_SESSION['ATIVIDADE_ATUAL'] : -1, isset($_SESSION['ALUNO_TURMA']) ? $_SESSION['ALUNO_TURMA'] : -1); $ativ->carregar_Questao($questao_atual, TIPO_SIMULADO); ?> </head> <title>SELF</title> <body data-speed="10" class="bg-Parallax"> <!-- <div id="corpo"> <div id="moldura-transparente"><div>--> <div id="transparente-div-home"> <?php if (isset($_SESSION['ERROS'])) {
<?php include_once '../../../config.php'; include ROOT . "model/atividade.php"; include ROOT . "view/vhead.php"; if (isset($_SESSION['ALUNO_CDG'])) { require_once ROOT . 'control/login/verificar_autenticacao_aluno.php'; } if (isset($_GET['q'])) { $questao_atual = $_GET['q']; } else { echo "ERRO 01 - QUESTAO NAO CARREGADA"; } $ativ = new Atividade(isset($_SESSION['ATIVIDADE_ATUAL']) ? $_SESSION['ATIVIDADE_ATUAL'] : -1, isset($_SESSION['ALUNO_TURMA']) ? $_SESSION['ALUNO_TURMA'] : -1); $ativ->carregar_Questao($questao_atual, TIPO_DIGITAR); ?> </head> <title>SELF</title> <body data-speed="10" class="bg-Parallax"> <!-- <div id="corpo"> <div id="moldura-transparente"><div>--> <div id="transparente-div-home"> <?php if (isset($_SESSION['ERROS'])) { for ($i = 1; $i <= 3 - $_SESSION['ERROS']; $i++) { echo "<img class='vidas' src='" . ROOT_URL . "view/img/coracao_32x32.png' > ";
<?php include_once '../../includes.sys/ini.php'; include_once '../../includes.sys/metodos.php'; include_once '../DAO/AtividadeDAO.php'; include_once '../Atividade.class.php'; checkUserAuth(EXTERNAL_ROOT_PORTAL . '/index.php?error=true'); include_once '../../head.php'; $acesso = listarAcesso(); if (!in_array(244, $acesso)) { echo '<script language= "JavaScript">location.href="' . EXTERNAL_ROOT_PORTAL . '/modulos.php";</script>'; } //Verifica se a opcao de salvar foi iniciada if (!empty($_POST['cmd']) && $_POST['cmd'] == 'inserir') { $atividade = new Atividade(); $DAO = new AtividadeDAO(); $atividade->setNome($_POST['nome']); $atividade->setVencDiasCorridos($_POST['venc_dias_corridos']); $atividade->setVencimento($_POST['vencimento']); $atividade->setObservacao($_POST['observacao']); $atividade->setUsuario(userId()); connectSQL(); $result = mysql_query("SELECT * FROM " . MYSQL_BASE_PROCEDIMENTO_LICITATORIO_ATIVIDADE . " WHERE excluido IS NULL AND nome='" . $atividade->getNome() . "'"); $num_rows = mysql_num_rows($result); if ($num_rows > 0) { $msg = utf8_encode("Não foi possível salvar, pois o dia já existe nos registros."); echo '<script language= "JavaScript">alert("' . $msg . '");</script>'; } else { $data = $atividade->getNome(); if (!empty($data)) { $retorno = $DAO->Gravar($atividade);
<?php include_once '../../includes.sys/ini.php'; include_once '../../includes.sys/metodos.php'; include_once '../DAO/AtividadeDAO.php'; include_once '../private $usuario;.class.php'; checkUserAuth(EXTERNAL_ROOT_PORTAL . '/index.php?error=true'); include_once '../../head.php'; $acesso = listarAcesso(); if (!in_array(245, $acesso)) { echo '<script language= "JavaScript">location.href="' . EXTERNAL_ROOT_PORTAL . '/modulos.php";</script>'; } $DAO = new AtividadeDAO(); $atividade = new Atividade(); //Verifica se foi executado a acao de salvar if (!empty($_POST['cmd']) && $_POST['cmd'] == 'editar') { $atividade->setNome($_POST['nome']); $atividade->setVencDiasCorridos($_POST['venc_dias_corridos']); $atividade->setVencimento($_POST['vencimento']); $atividade->setObservacao($_POST['observacao']); $atividade->setId($_POST['id']); connectSQL(); $result = mysql_query("SELECT vencimento FROM " . MYSQL_BASE_PROCEDIMENTO_LICITATORIO_ATIVIDADE . " WHERE excluido IS NULL AND nome='" . $atividade->getNome() . "'"); while ($row = mysql_fetch_array($result)) { $vencimento = $row['vencimento']; } $num_rows = mysql_num_rows($result); if ($atividade->getNome() != '') { $retorno = $DAO->Atualizar($atividade); if ($retorno == true) { if ($atividade->getVencimento() != $vencimento) {
<h3>Atividades</h3> <ul class="nav nav-pills" id="nav-atividades"> <li class="active"><a href="#atv-responsavel" data-toggle="tab">Responsável</a></li> <li><a href="#atv-participante" data-toggle="tab">Que Participa</a></li> <li><a href="#passos" data-toggle="tab">Tarefas / Passos</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="atv-responsavel"> <?php $atividades = Atividade::model()->findAll('cod_pessoa = ' . $data->cod_pessoa); ?> <p align="left"><b>Atividades que você é responsável</b></p> <?php foreach ($atividades as $atividade) { ?> <?php $this->renderPartial('/atividade/_view', array('data' => $atividade)); ?> <?php } ?> <?php if (count($atividades) == 0) { ?> <div class="view verde"><p><b>Não é responsável por nenhuma atividade</b></p></div> <?php } ?> </div>
<?php require 'atividade.php'; $ativ = new Atividade(4, 1); $ativ->finalizar('9', 8, 1, '8', -1); echo $ativ->pontuar_aluno(9, 9);
<?php require_once '../../config.php'; include_once ROOT . 'model/atividade.php'; if (isset($_SESSION['ATIVIDADE_ATUAL'])) { $ativ = new Atividade($_SESSION['ATIVIDADE_ATUAL'], $_SESSION['ALUNO_TURMA']); $ativ->finalizar_sessoes(); } if (!isset($_SESSION['ANONIMO'])) { // caso for prof nao tem nivel atual vai pra home ?> <script> window.location = '<?php echo ROOT_URL; ?> '; </script> <?php } else { //se for anonimo vai pra home anonimo ?> <script> window.location = '<?php echo ROOT_URL . '/anonimo'; ?> '; </script> <?php }
tipo_progresso = 1 , apos perder as 3 chances volta para a tela home do nivel tipo_progresso = 2 , acertando ou errando, vai pra proxima questao */ ///********************************************** Sessions, variaveis e Includes **************************************************/// include '../../config.php'; include ROOT . "model/atividade.php"; include ROOT . "model/crono.php"; $tipo_progresso = isset($_GET['t']) ? $_GET['t'] : 0; $_SESSION['TIPO_PROGRESSO'] = $tipo_progresso; if (isset($_GET['a'])) { $atividade_atual = $_GET['a']; } else { echo "Codigo da atividade nao enviado"; exit; } $ativ = new Atividade($atividade_atual, $_SESSION['ALUNO_TURMA']); //***********************************************************************************// //Zerar sessions $ativ->iniciar_sessoes(); //$ativ = new Atividade($atividade_atual,$_SESSION['ALUNO_TURMA']); $lista_questoes = $ativ->lista_questoes; if (sizeof($lista_questoes) < 1) { echo 'Atividade ' . $atividade_atual . ' não tem questoes cadastradas '; die; } shuffle($lista_questoes); $questao_inicial = $lista_questoes[0]->cdg; $tipo_questao_inicial = $lista_questoes[0]->tipo; Crono::setInicio(date("H:i:s")); //******************************************************************************************************************************// //******************** Redirecionar para continuar ou finalizar *************************************///
<?php ///********************************************** Sessions e Includes **************************************************/// include '../../config.php'; include ROOT . "model/atividade.php"; include ROOT . "model/crono.php"; //******************************************************************************************************************// if (!isset($_SESSION['ATIVIDADE_ATUAL'])) { echo " Session ATIVIDADE_ATUAL nao setada"; } Crono::setFim(date("H:i:s")); // se for aluno finaliza atividade if (isset($_SESSION['ALUNO_CDG'])) { $ativ = new Atividade($_SESSION['ATIVIDADE_ATUAL'], $_SESSION['ALUNO_TURMA']); $ativ->finalizar($_SESSION['ALUNO_CDG'], $_SESSION['ACERTOS'], $_SESSION['ERROS'], $_SESSION['QTD_QUESTOES'], Crono::calcular_segundos_gasto()); } // se tiver aluno2 finaliza atividade if (isset($_SESSION['ALUNO_CDG2'])) { $ativ2 = new Atividade($_SESSION['ATIVIDADE_ATUAL'], $_SESSION['ALUNO_TURMA2']); $ativ2->finalizar($_SESSION['ALUNO_CDG2'], $_SESSION['ACERTOS'], $_SESSION['ERROS'], $_SESSION['QTD_QUESTOES'], Crono::calcular_segundos_gasto()); } require ROOT . "view/quiz/vpremio.php";
/** * Method getAtividades */ public function getAtividades() { $criteria = new TCriteria(); $criteria->add(new TFilter('tipoatividade_id', '=', $this->id)); return Atividade::getObjects($criteria); }
public function cancelarAction() { if ($this->getRequest()->isGet()) { $this->view->nomeUsuario = Zend_Auth::getInstance()->getIdentity()->nome; $this->view->nomeAtividade = Atividade::build()->find($this->getRequest()->getParam('atividade_id'))->current()->nome; $this->view->atividade_id = $this->getRequest()->getParam('atividade_id'); } if ($this->getRequest()->isPost()) { try { $idUsuario = Zend_Auth::getInstance()->getIdentity()->id; $idAtividade = $this->getRequest()->getParam('atividade_id'); Inscricao::build()->cancelarInscricaoAtividadeUsuario($idUsuario, $idAtividade); $this->_addMessage('Inscrição na atividade cancelada com sucesso'); $this->_redirect('participantes'); } catch (Exception $e) { $this->_addMessage('Não foi possível cancelar a inscrição na atividade'); } } }
public function getAtividadesResponsavelByDate($data_inicio = null, $data_fim = null, $atividadesResponsavelFinalizadas = true) { $criteria = new CDbCriteria(); $criteria->params = array(); $criteria->addCondition('t.cod_pessoa = :cod_pessoa', 'AND'); $criteria->params['cod_pessoa'] = $this->cod_pessoa; if (!$atividadesResponsavelFinalizadas) { $criteria->addCondition('status <> 2', 'AND'); } if ($data_inicio != null) { $criteria->addCondition('data_inicio >= :data_inicio', 'AND'); $criteria->params['data_inicio'] = $data_inicio; } if ($data_fim != null) { $criteria->addCondition('data_fim <= :data_fim', 'AND'); $criteria->params['data_fim'] = $data_fim; } $criteria->order = 't.status, t.data_fim ASC'; $atividades = Atividade::model()->findAll($criteria, array('data_inicio' => $data_inicio, 'data_fim' => $data_fim, 'id_pessoa' => $this->cod_pessoa)); return $atividades; }
/** * method onGenerate() * Executed whenever the user clicks at the generate button */ function onGenerate() { try { // open a transaction with database 'atividade' TTransaction::open('atividade'); // get the form data into an active record $formdata = $this->form->getData(); $dataInicial = date('Y') . '-' . str_pad($formdata->mes_atividade, 2, 0, STR_PAD_LEFT) . '-01'; $dataFinal = date('Y') . '-' . str_pad($formdata->mes_atividade, 2, 0, STR_PAD_LEFT) . '-' . cal_days_in_month(CAL_GREGORIAN, $formdata->mes_atividade, date('Y')); $dias = Atividade::retornaDiasAtividades($dataInicial, $dataFinal); $criteria = new TCriteria(); $criteria->add(new TFilter("origem", "=", 1)); $criteria->add(new TFilter("codigo_cadastro_origem", "=", 100)); $criteria->add(new TFilter("ativo", "=", 1)); $criteria->add(new TFilter("pessoa_codigo", "IN", "(SELECT colaborador_id FROM atividade WHERE data_atividade between '{$dataInicial}' and '{$dataFinal}')")); $newparam['order'] = 'pessoa_nome'; $newparam['direction'] = 'asc'; $criteria->setProperties($newparam); // order, offset $repo = new TRepository('Pessoa'); $pessoas = $repo->load($criteria); $format = $formdata->output_type; if ($dias) { $widths = array(50); switch ($format) { case 'html': $tr = new TTableWriterHTML($widths); $break = '<br />'; break; case 'pdf': $tr = new TTableWriterPDF($widths); $break = ''; break; case 'rtf': if (!class_exists('PHPRtfLite_Autoloader')) { PHPRtfLite::registerAutoloader(); } $tr = new TTableWriterRTF($widths); $break = '<br />'; break; } // create the document styles $tr->addStyle('title', 'Arial', '10', 'B', '#ffffff', '#6B6B6B'); $tr->addStyle('datap', 'Arial', '10', '', '#000000', '#E5E5E5'); $tr->addStyle('datai', 'Arial', '10', '', '#000000', '#ffffff'); $tr->addStyle('totais', 'Arial', '10', '', '#000000', '#C0D3E9'); $tr->addStyle('header', 'Times', '16', 'B', '#4A5590', '#C0D3E9'); $tr->addStyle('footer', 'Times', '12', 'BI', '#4A5590', '#C0D3E9'); // add a header row $tr->addRow(); $tr->addCell(utf8_decode('Indicador de produtividade de: ') . strtoupper($this->string->array_meses()[$formdata->mes_atividade]), 'center', 'header', 33); $tr->addRow(); $tr->addCell('Seq.', 'center', 'title'); $tr->addCell('Nome', 'center', 'title'); foreach ($dias as $dia) { $tr->addCell(substr($dia['dias'], -2), 'center', 'title'); $arrayDias[substr($dia['dias'], -2)] = $dia['dias']; } $tr->addCell('TOTAL', 'center', 'title'); // controls the background filling $colour = FALSE; // data rows $count = 1; foreach ($pessoas as $pessoa) { $style = $colour ? 'datap' : 'datai'; $tr->addRow(); $tr->addCell($count, 'left', $style); $tr->addCell(utf8_decode($pessoa->pessoa_nome), 'left', $style, 33); $tr->addRow(); $tr->addCell('', 'left', $style); $tr->addCell('Ponto', 'left', $style); $totalPonto = null; foreach ($arrayDias as $dia) { $ponto = $this->retornaPonto($pessoa->pessoa_codigo, $dia); $totalPonto += $this->string->time_to_sec($ponto); $tr->addCell(substr($ponto, 0, -3), 'center', $style); $arrayPonto[$dia] += $this->string->time_to_sec($ponto); } $arrayPonto['total'] += $totalPonto; $tr->addCell(substr($this->string->sec_to_time($totalPonto), 0, -3), 'center', $style); $tr->addRow(); $tr->addCell('', 'left', $style); $tr->addCell('Atividades', 'left', $style); $totalAtividades = null; foreach ($arrayDias as $dia) { $horas = Ponto::horaPreenchidas($dia, $pessoa->pessoa_codigo); if (!$horas) { $horas = '00:00:00'; } $x = $this->retornaPonto($pessoa->pessoa_codigo, $dia); if ($this->string->time_to_sec($x) > 0) { $totalAtividades += $this->string->time_to_sec($horas); $arrayAtividades[$dia] += $this->string->time_to_sec($horas); } $tr->addCell(substr($horas, 0, -3), 'center', $style); } $arrayAtividades['total'] += $totalAtividades; $tr->addCell(substr($this->string->sec_to_time($totalAtividades), 0, -3), 'center', $style); $tr->addRow(); $tr->addCell('', 'left', $style); $tr->addCell('Produtividade', 'left', $style); foreach ($arrayDias as $dia) { $campo = $this->calculaPercentualProdutividade($pessoa->pessoa_codigo, $dia); $tr->addCell($campo, 'center', $style); } $tr->addCell($this->calculaPercentualProdutividadeTotalColaborador($totalAtividades, $totalPonto), 'center', $style); $tr->addRow(); $tr->addCell($break, 'left', $style, 33); $count++; $colour = !$colour; } // totais row $tr->addRow(); $tr->addCell($count, 'left', 'totais'); $tr->addCell('TOTAIS', 'left', 'totais', 33); $tr->addRow(); $tr->addCell('', 'left', 'totais'); $tr->addCell('Ponto', 'left', 'totais'); foreach ($arrayDias as $dia) { $tr->addCell(substr($this->string->sec_to_time($arrayPonto[$dia]), 0, -3), 'center', 'totais'); } $tr->addCell(substr($this->string->sec_to_time($arrayPonto['total']), 0, -3), 'center', 'totais'); $tr->addRow(); $tr->addCell('', 'left', 'totais'); $tr->addCell('Atividades', 'left', 'totais'); foreach ($arrayDias as $dia) { $tr->addCell(substr($this->string->sec_to_time($arrayAtividades[$dia]), 0, -3), 'center', 'totais'); } $tr->addCell(substr($this->string->sec_to_time($arrayAtividades['total']), 0, -3), 'center', 'totais'); $tr->addRow(); $tr->addCell('', 'left', 'totais'); $tr->addCell('Produtividade', 'left', 'totais'); foreach ($arrayDias as $dia) { $tr->addCell($this->calculaPercentualProdutividadeTotalColaborador($arrayAtividades[$dia], $arrayPonto[$dia]), 'center', 'totais'); } $tr->addCell($this->calculaPercentualProdutividadeTotalColaborador($arrayAtividades['total'], $arrayPonto['total']), 'center', 'totais'); // footer row $tr->addRow(); $var = rand(0, 1000); $tr->addCell(date('d/m/Y H:i:s'), 'center', 'footer', 33); foreach ($arrayAtividades as $key => $value) { if ($key != 'total') { $yAtividades[substr($key, -2)] = $this->string->sec_to_time($value); $xLabel[substr($key, -2)] = substr($key, -2); } } foreach ($arrayPonto as $key => $value) { if ($key != 'total') { $yPonto[substr($key, -2)] = $this->string->sec_to_time($value); } } ksort($yAtividades); ksort($yPonto); ksort($xLabel); $chart = new TLineChart(new TPChartDesigner()); $chart->setTitle('Totais', NULL, NULL); $chart->setSize(1100, 600); $chart->setXLabels($xLabel); $chart->setYLabel('Horas'); $chart->setOutputPath('app/output/linechart_{$var}.png'); $chart->addData('Atividades', $yAtividades); $chart->addData('Ponto', $yPonto); $chart->generate(); $tr->addRow(); $tr->addCell(new TImage('app/output/linechart_{$var}.png'), 'center', 'datai', 33); // stores the file if (!file_exists("app/output/Ponto_{$var}.{$format}") or is_writable("app/output/Ponto_{$var}.{$format}")) { $tr->save("app/output/Ponto_{$var}.{$format}"); } else { throw new Exception(_t('Permission denied') . ': ' . "app/output/Ponto_{$var}.{$format}"); } // open the report file parent::openFile("app/output/Ponto_{$var}.{$format}"); // shows the success message new TMessage('info', 'Relatorio gerado. Por favor, habilite popups no navegador (somente para web).'); } else { new TMessage('error', 'No records found'); } // fill the form with the active record data $this->form->setData($formdata); // close the transaction TTransaction::close(); } catch (Exception $e) { // shows the exception error message new TMessage('error', '<b>Error</b> ' . $e->getMessage()); // undo all pending operations TTransaction::rollback(); } }
<?php include_once dirname(__FILE__) . '/../../inc/config.inc.php'; include_once dirname(__FILE__) . '/../../model/Inscricao.class.php'; include_once dirname(__FILE__) . '/../../model/Atividade.class.php'; session_start(); if (!isset($_SESSION['usuario'])) { header("location: /" . $config['PATH'] . "/admin/form_login.php?syserror=AUTENTICACAO_NECESSARIA"); exit; } $inscricoes = Inscricao::find_by_atividade($_GET['id']); $minicurso = Atividade::find($_GET['id']); ?> <center> <img src="/<?php echo $config['PATH']; ?> /img/ifrn.jpg" /> <h3>RELAÇÃO DE INSCRITOS PARA O MINICURSO<br/> <?php echo $minicurso->tema; ?> </h3> <?php if (count($inscricoes) > 0) { ?> <table border="1"> <thead> <tr>
private static function convert($row) { $inscricao = new Inscricao(); $inscricao->id = $row['id']; $atividade = Atividade::find($row['atividade_id']); $participante = Participante::find($row['participante_id']); $inscricao->atividade = $atividade; $inscricao->participante = $participante; $inscricao->emitir_certificado = $row['emitir_certificado']; return $inscricao; }