Copyright (c) 2003-2007 The dotProject Development Team Copyright [2008] - Sérgio Fernandes Reinert de Lima Este arquivo é parte do programa gpweb O gpweb é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença. Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/GPL em português para maiores detalhes. Você deve ter recebido uma cópia da Licença Pública Geral GNU, sob o título "licença GPL 2.odt", junto com este programa, se não, acesse o Portal do Software Público Brasileiro no endereço www.softwarepublico.gov.br ou escreva para a Fundação do Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ $tarefa_id = intval(getParam($_REQUEST, 'tarefa_id', 0)); if (!$tarefa_id) { $Aplic->setMsg('ID d'.$config['genero_tarefa'].' '.$config['tarefa'].' não foi passado', UI_MSG_ERRO); $Aplic->redirecionar('m=projetos&a=index'); exit(); } $sql = new BDConsulta; if (isset($_REQUEST['cia_id'])) $Aplic->setEstado('cia_id', intval(getParam($_REQUEST, 'cia_id', 0))); $cia_id = $Aplic->getEstado('cia_id', $Aplic->usuario_cia); if (isset($_REQUEST['ver_subordinadas'])) $Aplic->setEstado('ver_subordinadas', getParam($_REQUEST, 'ver_subordinadas', null)); $ver_subordinadas = ($Aplic->getEstado('ver_subordinadas') !== null ? $Aplic->getEstado('ver_subordinadas') : (($Aplic->usuario_pode_outra_cia || $Aplic->usuario_super_admin || $Aplic->usuario_pode_todas_cias) ? $Aplic->usuario_prefs['ver_subordinadas'] : 0)); if (isset($_REQUEST['recurso_responsavel'])) $Aplic->setEstado('recurso_responsavel', intval(getParam($_REQUEST, 'recurso_responsavel', 0))); $recurso_responsavel = ($Aplic->getEstado('recurso_responsavel')!== null ? $Aplic->getEstado('recurso_responsavel') : 0); if (isset($_REQUEST['tipo_recurso'])) $Aplic->setEstado('tipo_recurso', intval(getParam($_REQUEST, 'tipo_recurso', 5))); $tipo_recurso = ($Aplic->getEstado('tipo_recurso')!== null ? $Aplic->getEstado('tipo_recurso') : 5); if (isset($_REQUEST['recurso_ano'])) $Aplic->setEstado('recurso_ano', getParam($_REQUEST, 'recurso_ano', '')); $recurso_ano = ($Aplic->getEstado('recurso_ano')!== null ? $Aplic->getEstado('recurso_ano') : ''); if (isset($_REQUEST['recurso_ugr'])) $Aplic->setEstado('recurso_ugr', getParam($_REQUEST, 'recurso_ugr', '')); $recurso_ugr = ($Aplic->getEstado('recurso_ugr')!== null ? $Aplic->getEstado('recurso_ugr') : ''); if (isset($_REQUEST['recurso_ptres'])) $Aplic->setEstado('recurso_ptres', getParam($_REQUEST, 'recurso_ptres', '')); $recurso_ptres = ($Aplic->getEstado('recurso_ptres')!== null ? $Aplic->getEstado('recurso_ptres') : ''); if (isset($_REQUEST['dept_id'])) $Aplic->setEstado('dept_id', intval(getParam($_REQUEST, 'dept_id', 0))); $dept_id = ($Aplic->getEstado('dept_id') !== null ? ($Aplic->getEstado('dept_id') ? $Aplic->getEstado('dept_id') : null) : 0); if ($dept_id) $ver_subordinadas = null; if (isset($_REQUEST['recurso_credito_adicional'])) $Aplic->setEstado('recurso_credito_adicional', getParam($_REQUEST, 'recurso_credito_adicional', null)); $recurso_credito_adicional = ($Aplic->getEstado('recurso_credito_adicional') !== null ? $Aplic->getEstado('recurso_credito_adicional') : ''); if (isset($_REQUEST['recurso_movimentacao_orcamentaria'])) $Aplic->setEstado('recurso_movimentacao_orcamentaria',getParam($_REQUEST, 'recurso_movimentacao_orcamentaria', null)); $recurso_movimentacao_orcamentaria = ($Aplic->getEstado('recurso_movimentacao_orcamentaria') !== null ? $Aplic->getEstado('recurso_movimentacao_orcamentaria') : ''); if (isset($_REQUEST['recurso_identificador_uso'])) $Aplic->setEstado('recurso_identificador_uso', getParam($_REQUEST, 'recurso_identificador_uso', null)); $recurso_identificador_uso = ($Aplic->getEstado('recurso_identificador_uso') !== null ? $Aplic->getEstado('recurso_identificador_uso') : ''); if (isset($_REQUEST['recurso_pesquisa'])) $Aplic->setEstado('recurso_pesquisa', getParam($_REQUEST, 'recurso_pesquisa', null)); $recurso_pesquisa = ($Aplic->getEstado('recurso_pesquisa') !== null ? $Aplic->getEstado('recurso_pesquisa') : ''); if ($ver_subordinadas){ $vetor_cias=array(); lista_cias_subordinadas($cia_id, $vetor_cias); $vetor_cias[]=$cia_id; $lista_cias=implode(',',$vetor_cias); } else $lista_cias=$cia_id; $listaTipo=array(''=>'')+getSisValor('TipoRecurso'); $sql->adTabela('recursos'); $sql->adCampo('DISTINCT recurso_ano'); $sql->adOnde('recurso_cia IN ('.$lista_cias.')'); $anos = $sql->listaVetorChave('recurso_ano','recurso_ano'); $sql->limpar(); $anos =array(''=>'')+$anos; $sql->adTabela('recursos'); $sql->adCampo('DISTINCT recurso_ugr'); $sql->adOnde('recurso_cia IN ('.$lista_cias.')'); $lista_ugrs = $sql->listaVetorChave('recurso_ugr','recurso_ugr'); $sql->limpar(); $lista_ugrs =array(''=>'')+$lista_ugrs; $sql->adTabela('recursos'); $sql->adCampo('DISTINCT recurso_ptres'); $sql->adOnde('recurso_cia IN ('.$lista_cias.')'); $listaPtres = $sql->listaVetorChave('recurso_ptres','recurso_ptres'); $sql->limpar(); $listaPtres =array(''=>'')+$listaPtres; $MovimentacaoOrcamentaria=array(''=>'')+getSisValor('MovimentacaoOrcamentaria'); $CreditoAdicional=array(''=>'')+getSisValor('CreditoAdicional'); $IdentificadorUso=array(''=>'')+getSisValor('IdentificadorUso'); $sql = new BDConsulta; $sql->adTabela('tarefas'); $sql->esqUnir('projetos', 'projetos', 'projetos.projeto_id = tarefas.tarefa_projeto'); $sql->adCampo('tarefa_inicio, tarefa_fim, projeto_cia, tarefa_nome'); $sql->adOnde('tarefa_id ='.(int)$tarefa_id); $tarefa=$sql->linha(); $sql->limpar(); $recurso_tipos = getSisValor('TipoRecurso'); $sql->adTabela('recursos'); $sql->adCampo('recurso_id, recurso_nome, recurso_tipo, recurso_nivel_acesso'); if ($tipo_recurso)$sql->adOnde('recurso_tipo='.(int)$tipo_recurso); $sql->adOnde('recurso_cia='.(int)$tarefa['projeto_cia']); $sql->adOrdem('recurso_tipo', 'recurso_nome'); $res = $sql->Lista(); $sql->limpar(); $todos_recursos = array(); foreach ($res as $linha) { if (permiteEditarRecurso($linha['recurso_nivel_acesso'], $linha['recurso_id'])) $todos_recursos[$linha['recurso_id']] = $linha['recurso_nome'].' ('.$recurso_tipos[$linha['recurso_tipo']].')'; } $recursos = array(); echo '
'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; $lista_tipo=array(''=>'')+$recurso_tipos; echo estiloTopoCaixa(); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; if ($tarefa_id) { $sql->adTabela('recurso_tarefas'); $sql->esqUnir('recursos', 'recursos', 'recursos.recurso_id=recurso_tarefas.recurso_id'); $sql->adOnde('tarefa_id = '.(int)$tarefa_id); $sql->adCampo('recurso_tarefa_id, recurso_tarefas.recurso_id, recurso_nome, recurso_tarefas.recurso_quantidade, percentual_alocado, recurso_tarefa_ordem'); $sql->adOrdem('recurso_tarefa_ordem'); $recurso=$sql->ListaChave('recurso_tarefa_id'); $sql->limpar(); } else $recurso=null; echo ''; echo ''; echo '

'.$tarefa['tarefa_nome'].'

'; echo ''; echo '
'; echo ''; echo ''.(($Aplic->usuario_pode_outra_cia || $Aplic->usuario_super_admin || $Aplic->usuario_pode_todas_cias) && !$ver_subordinadas ? '' : '').(($Aplic->usuario_pode_outra_cia || $Aplic->usuario_super_admin || $Aplic->usuario_pode_todas_cias) && $ver_subordinadas ? '' : '').''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.dica('Tipo', 'Selecione qual o tipo de recurso.').'Tipo:'.dicaF().''.selecionaVetor($listaTipo, 'tipo_recurso', 'style="width:250px;" onchange="ver_orcamentario(); ver_recursos();" class="texto"', $tipo_recurso).'
'.dica('Filtrar pel'.$config['genero_organizacao'].' '.$config['organizacao'], 'Filtrar pel'.$config['genero_organizacao'].' '.$config['organizacao'].' selecionada.').ucfirst($config['organizacao']).':'.dicaF().'
'.selecionar_om($cia_id, 'cia_id', 'class=texto size=1 style="width:250px;" onchange="javascript:mudar_om();"').'
'.imagem('icones/organizacao_p.gif','Incluir Subordinadas','Clique neste ícone '.imagem('icones/organizacao_p.gif').' para incluir '.$config['genero_organizacao'].'s '.$config['organizacoes'].' subordinadas à selecionada.').''.imagem('icones/nao_sub_om.gif','Não Incluir Subordinadas','Clique neste ícone '.imagem('icones/nao_sub_om.gif').' para deixar de incluir '.$config['genero_organizacao'].'s '.$config['organizacoes'].' subordinadas à selecionada.').'
'.dica(ucfirst($config['departamentos']).' Envolvid'.$config['genero_dept'].'s', 'Filtrar pel'.$config['genero_dept'].' '.strtolower($config['departamento']).' envolvid'.$config['genero_dept'].'.').$config['dept'].':
'.imagem('icones/secoes_p.gif','Filtrar pel'.$config['genero_dept'].' '.$config['departamento'],'Clique neste ícone '.imagem('icones/secoes_p.gif').' para filtrar pel'.$config['genero_dept'].' '.$config['departamento'].' envolvid'.$config['genero_dept'].'.').'
'.dica(ucfirst($config['usuario']), 'Filtrar pel'.$config['genero_usuario'].' '.$config['usuario'].' escolhido na caixa de seleção à direita.').ucfirst($config['usuario']).':'.dicaF().''.imagem('icones/usuarios.gif','Selecionar '.ucfirst($config['usuario']),'Clique neste ícone '.imagem('icones/usuarios.gif').' para selecionar '.($config['genero_usuario']=='o' ? 'um' : 'uma').' '.$config['usuario'].'.').' 
'.dica('Identificador de Uso', 'O uso deste recurso.').'Idt:'.dicaF().''.selecionaVetor($IdentificadorUso, 'recurso_identificador_uso', 'class=texto size=1 style="width:250px;"', $recurso_identificador_uso).'
'.dica('Crédito Adicional', 'Caso seja monetário, seleciona o crédito adicional deste recurso, se for o caso.').'Crédito adicional:'.dicaF().''.selecionaVetor($CreditoAdicional, 'recurso_credito_adicional', 'style="width:250px;" class="texto"', $recurso_credito_adicional).'
'.dica('Movimentação Orcamentária', 'Caso seja monetário, seleciona a movimentação orcamentária deste recurso, se for o caso.').'Movimentação:'.dicaF().''.selecionaVetor($MovimentacaoOrcamentaria, 'recurso_movimentacao_orcamentaria', 'style="width:250px;" class="texto"', $recurso_movimentacao_orcamentaria).'
'.dica('Plano de Trabalho Resumido', 'Insira o plano de trabalho resumido deste recurso.').'PTRES:'.dicaF().''.selecionaVetor($listaPtres, 'recurso_ptres', 'style="width:250px;" class="texto"', $recurso_ptres).'
'.dica('Ano', 'Insira o ano deste recurso.').'Ano:'.dicaF().''.selecionaVetor($anos, 'recurso_ano', 'style="width:250px;" class="texto"', $recurso_ano).'
'.dica('Unidade Gestora do Recurso', 'A unidade gestora do recurso.').'UGR:'.dicaF().''.selecionaVetor($lista_ugrs, 'recurso_ugr', 'style="width:250px;" class="texto"', $recurso_ugr).'
'.dica('Pesquisa', 'Pesquisar pelo nome e campos de descrição').'Pesquisar:'.dicaF().'
'.imagem('icones/limpar_p.gif','Limpar Pesquisa', 'Clique neste ícone '.imagem('icones/limpar_p.gif').' para limpar a caixa texto de pesquisa.').'
'.imagem('icones/recursos_p.gif','Atualizar Recursos','Clique neste ícone '.imagem('icones/recursos_p.gif').' para atualizar a lista de recursos pelos parâmetros selecionados.').'
'.dica('Recursos Disponíveis', 'Importante salientar que à priori todos os recursos ainda não designados para '.$config['genero_tarefa'].' '.$config['tarefa'].' aparecerão aqui, por isso é importante verificar se o recurso designado já não está envolvido em um número excessivo de '.$config['tarefas'].'.'). 'Recursos Disponíveis'.dicaF().'
'.selecionaVetor($todos_recursos, 'mat_recursos', 'style="width:350px;" size="10" class="texto" onclick="selecionar_recurso(this.value);" ondblclick="if(checar_quantidade() && checar_podeEditarRecurso(mat_recursos.value)) incluir_recurso()"', null).'
'; echo ''; echo ''; $percentual=getSisValor('TarefaPorcentagem','','','sisvalor_id'); echo ''; echo ''; echo '
'.imagem('icones/calendario_p.png', 'Disponibilidade','Visualizara disponibilidade, por dia, do recurso selecionado n'.$config['genero_tarefa'].'s '.$config['tarefas'].' em que já esteja designado.').'Qnt:'.dica('Percentual de Alocação', 'O porcentual de alocação do recurso n'.$config['genero_tarefa'].' '.$config['tarefa'].' pode ir de 0% até 100%.').'Percentual:'.dicaF().''.selecionaVetor($percentual, 'percentual_alocado', 'size="1" class="texto"', 100).'% '.imagem('icones/adicionar.png', 'Adicionar', 'Clique neste ícone '.imagem('icones/adicionar.png').' para adicionar o recurso selecionado.').'
'; if (count($recurso)) { echo ''; foreach ($recurso as $recurso_tarefa_id => $linha) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
'.dica('Nome', 'O nome do recurso alocado n'.$config['genero_tarefa'].' '.$config['tarefa'].'.').'Nome'.dicaF().''.dica('Quantidade', 'A quantidade do recurso alocado n'.$config['genero_tarefa'].' '.$config['tarefa'].'.').'Quantidade'.dicaF().''.dica('Porcentagm', 'A porcentagem de uso do recurso alocado n'.$config['genero_tarefa'].' '.$config['tarefa'].'.').'%'.dicaF().'
'; echo dica('Mover para Primeira Posição', 'Clique neste ícone '.imagem('icones/2setacima.gif').' para mover para a primeira posição').''.dicaF(); echo dica('Mover para Cima', 'Clique neste ícone '.imagem('icones/1setacima.gif').' para mover acima').''.dicaF(); echo dica('Mover para Baixo', 'Clique neste ícone '.imagem('icones/1setabaixo.gif').' para mover abaixo').''.dicaF(); echo dica('Mover para a Ultima Posição', 'Clique neste ícone '.imagem('icones/2setabaixo.gif').' para mover para a última posição').''.dicaF(); echo ''.$linha['recurso_nome'].''.number_format($linha['recurso_quantidade'], 2, ',', '.').''.$linha['percentual_alocado'].''.imagem('icones/remover.png', 'Excluir', 'Clique neste ícone '.imagem('icones/remover.png').' para excluir o recurso d'.$config['genero_tarefa'].' '.$config['tarefa'].'.').'
'; } echo '
'.botao('voltar', 'Voltar', 'Retornar à tela anterior.','','url_passar(0, \''.$Aplic->getPosicao().'\');').'
'; echo estiloFundoCaixa(); echo '
'; ?>