/** * @todo Refatorar... */ function inserirDesen($arrayData) { $id = Util::RecuperaIdProcesso($arrayData['processo']); $usuario = Controlador::getInstance()->usuario; Controlador::getInstance()->getConnection()->connection->beginTransaction(); $id_unidade_usuario = Controlador::getInstance()->usuario->ID_UNIDADE; $id_usuario = $usuario->ID; $nome_usuario = $usuario->NOME; $id_unidade = $usuario->ID_UNIDADE; $oDiretoria = DaoUnidade::getUnidade($id_unidade); $diretoria = $oDiretoria['nome']; $tx_diretoria = $oDiretoria['nome'] . ' - ' . $oDiretoria['sigla']; $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS\n (NUMERO_PROCESSO, ID_USUARIO, USUARIO, ID_UNIDADE, DIRETORIA, ACAO, ORIGEM, DESTINO, DT_TRAMITE)\n VALUES(?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $stmt->bindParam(1, $arrayData['processo'], PDO::PARAM_STR); $stmt->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmt->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmt->bindParam(4, $id_unidade, PDO::PARAM_INT); $stmt->bindParam(5, $diretoria, PDO::PARAM_STR); $stmt->bindValue(6, str_replace("<?>", format($arrayData['peca']), "As pecas <?> foram desentranhadas do processo.")); $stmt->bindParam(7, $tx_diretoria); $stmt->bindValue(8, "XXXXX"); $stmt->execute(); $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PROCESSOS_DESENTRANHAMENTO \n (NUMERO_PROCESSO, NUMERO_PECA, JUSTIFICATIVA, ID_SOLICITANTE, DT_ACAO, ID_USUARIO,ID_UNIDADE_USUARIO)\n VALUES (?, ?, ?, ?, CLOCK_TIMESTAMP(), ?,?)"); $stmt->bindParam(1, $id); $stmt->bindParam(2, $arrayData['peca']); $stmt->bindParam(3, $arrayData['justif']); $stmt->bindParam(4, $id_unidade); $stmt->bindParam(5, $id_usuario); $stmt->bindParam(6, $id_unidade_usuario); $stmt->execute(); $id = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_PROCESSOS_DESENTRANHAMENTO_ID_DESEN_SEQ'); Controlador::getInstance()->getConnection()->connection->commit(); return $id; }
/** * * @param type $idUnidade * @return type */ public function pai($idUnidade, $idUnidadeDefault) { $unidade = DaoUnidade::getUnidade($idUnidade); //checa se já existe tramite. $unidade['checked'] = $this->verificaTramite($idUnidadeDefault, $unidade['id']); array_unshift($this->_hierarquia, $unidade); if ($unidade['superior'] > 0 && $unidade['superior'] != $idUnidade) { return $this->pai($unidade['superior'], $idUnidadeDefault); } return $this->_hierarquia; }
/** * */ public static function alterarProcesso(Processo $processo) { try { Controlador::getInstance()->getConnection()->connection->beginTransaction(); $processo->processo->fg_prazo = $processo->processo->fg_prazo == 'true' ? 1 : 0; $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_PROCESSOS_CADASTRO SET \n ASSUNTO = ?,\n ASSUNTO_COMPLEMENTAR = ?,\n INTERESSADO = ?,\n ORIGEM = ?,\n DT_AUTUACAO = ?,\n DT_PRAZO = ?,\n FG_PRAZO = ?,\n PROCEDENCIA = ?\n WHERE NUMERO_PROCESSO = ?"); $stmt->bindParam(1, $processo->processo->assunto, PDO::PARAM_INT); //DATA_ENTRADA' , $stmt->bindParam(2, $processo->processo->assunto_complementar, PDO::PARAM_STR); //TIPO' , $stmt->bindParam(3, $processo->processo->interessado, PDO::PARAM_INT); //NUMERO' , $stmt->bindParam(4, $processo->processo->origem, PDO::PARAM_INT); //ORIGEM' , $stmt->bindParam(5, Util::formatDate($processo->processo->dt_autuacao), PDO::PARAM_STR); //INTERESSADO' , $stmt->bindParam(6, Util::formatDate($processo->processo->dt_prazo), PDO::PARAM_STR); //ASSUNTO' , $stmt->bindParam(7, $processo->processo->fg_prazo, PDO::PARAM_INT); //INTERNO = 1 , ExTERNO = 0' , $stmt->bindParam(8, $processo->processo->procedencia, PDO::PARAM_STR); //CARGO' , $stmt->bindParam(9, $processo->processo->numero_processo, PDO::PARAM_STR); //ASSINATURA' , $stmt->execute(); $acao = "Cadastrado complementado."; $destino = "XXXXX"; $usuario = Controlador::getInstance()->usuario; $id_usuario = $usuario->ID; $nome_usuario = $usuario->NOME; $id_unidade = $usuario->ID_UNIDADE; $oDiretoria = DaoUnidade::getUnidade($id_unidade); $diretoria = $oDiretoria['nome']; $tx_diretoria = $oDiretoria['nome'] . ' - ' . $oDiretoria['sigla']; $stmm = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS" . " (NUMERO_PROCESSO,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES(?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $stmm->bindParam(1, $processo->processo->numero_processo, PDO::PARAM_STR); $stmm->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmm->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmm->bindParam(4, $id_unidade, PDO::PARAM_INT); $stmm->bindParam(5, $diretoria, PDO::PARAM_STR); $stmm->bindParam(6, $acao, PDO::PARAM_STR); $stmm->bindParam(7, $tx_diretoria, PDO::PARAM_STR); $stmm->bindParam(8, $destino, PDO::PARAM_STR); $stmm->execute(); Controlador::getInstance()->getConnection()->connection->commit(); return new Output(array('success' => 'true')); } catch (PDOException $e) { Controlador::getInstance()->getConnection()->connection->rollback(); return new Output(array('success' => 'false', 'error' => $e->getMessage())); } }
/** * */ public function __construct($array = array()) { /* Padronizar caixa baixa pra indice de array */ $array = array_change_key_case($array, CASE_LOWER); $usuario = Zend_Auth::getInstance()->getIdentity(); /* Variaveis do usuario */ $this->despacho->usuario = $usuario->NOME; $this->despacho->id_usuario = $usuario->ID; $this->despacho->id_unidade = $usuario->ID_UNIDADE_ORIGINAL; $this->despacho->diretoria = DaoUnidade::getUnidade($this->despacho->id_unidade, 'nome'); /* Variaveis do despacho especifico */ foreach ($array as $key => $value) { $this->despacho->{$key} = $value; } }
/** *Começa aqui a função recursiva * @param type $id * @return type */ public function getHierarquiaUnidade($id) { $array = array(); $rs = DaoUnidade::getUnidade($id); $array['id'] = $id; $array['nome'] = $rs['nome']; $array['sigla'] = $rs['sigla']; $array['uf'] = $rs['uf']; if ($rs['id'] > 0) { $superior = (int) $rs['superior']; if ($superior > 0) { $this->_hierarquia[] = $this->getHierarquiaUnidade($superior); } } return $array; }
public function assert(Core_Acl $acl, Zend_Acl_Role_Interface $role = null, Zend_Acl_Resource_Interface $resource = null, $privilege = null) { // Secondly, we need a authenticated user $auth = Zend_Auth::getInstance(); if (!$auth->hasIdentity()) { return false; } $controller = Controlador::getInstance(); $usuario = $controller->usuario; $protocolizadora = DaoUnidade::getUnidade($usuario->ID_UNIDADE, 'up'); if (intval($protocolizadora) == 1) { if (!$controller->cache->test('privilegio_' . $usuario->ID . '_' . $resource->id)) { // não existe o cache, pegar o valor do banco $privilegio = DaoRecurso::getPrivilegioByUsuario($usuario, $resource); $controller->cache->save($privilegio, 'privilegio_' . $usuario->ID . '_' . $resource->id, array('acl_usuario_' . $usuario->ID, 'acl_unidade_' . $usuario->ID_UNIDADE)); } else { $privilegio = $controller->cache->load('privilegio_' . $usuario->ID . '_' . $resource->id); } return $privilegio; } else { return false; } }
$numero_processo = $documento->numero; if ($documento->tipo_vinculacao != "") { $documento->numero .= " " . $documento->tipo_vinculacao . $documento->numero_peca; } unset($documento->documento->tipo_vinculacao); unset($documento->documento->numero_peca); $processo = DaoProcesso::getProcesso($numero_processo); if (!Processo::validarProcessoAreaDeTrabalho($numero_processo)) { $out = new Output(array('success' => 'false', 'error' => 'Processo não se encontra na área de trabalho do ARQUIVO')); print json_encode($out->toArray()); exit; } $processo['nm_interessado'] = Processo::getInteressado($processo['interessado'], 'interessado'); $processo['nm_assunto'] = Processo::getAssunto($processo['assunto'], 'assunto'); if ($processo['procedencia'] == 'I') { $processo['nm_origem'] = DaoUnidade::getUnidade($processo['origem'], 'nome'); } else { $tmp = Processo::getOrigemExterna($processo['origem'], 'origem'); $processo['nm_origem'] = $tmp['origem']; } $processo['dt_autuacao'] = Util::formatDate($processo['dt_autuacao']); $documento->data_documento = $processo['dt_autuacao']; $documento->data_entrada = $processo['dt_autuacao']; $documento->origem = $processo['nm_origem']; $documento->tipo = "DIGITALIZACAO DE PROCESSO"; $documento->assunto = 2; // Abertura de Processo $documento->interessado = $processo['nm_interessado']; $documento->id_unid_area_trabalho = $processo['id_unid_area_trabalho']; $documento->assunto_complementar = $processo['assunto_complementar']; $documento->procedencia = $processo['procedencia'];
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição 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íção 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 "LICENCA.txt", * 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 * */ $aColumns = array('ID', 'PAI', 'DIAS_RESTANTES', 'NUMERO_PROCESSO', 'INTERESSADO', 'ASSUNTO', 'ORIGEM', 'ULTIMO_TRAMITE', 'ID'); $aColumnsFTS = array('INTERESSADO', 'ASSUNTO', 'ORIGEM', 'ULTIMO_TRAMITE'); $sIndexColumn = "ID"; $sTable = "VW_AREA_TRABALHO_PROCESSOS"; $sExtraQuery = "ID_UNID_AREA_TRABALHO = " . DaoUnidade::getUnidade(null, 'id'); print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, $conexao, $sExtraQuery, $aColumnsFTS);
public static function numDigitalDisponivelSic() { try { $id_unidade = DaoUnidade::getUnidade(null, 'id'); $stmt = Controlador::getInstance()->getConnection()->connection->prepare("\n SELECT DIGITAL FROM TB_DIGITAL WHERE ID_UNIDADE = ? AND USO != '1' LIMIT 1\n "); $stmt->bindParam(1, $id_unidade, PDO::PARAM_INT); $stmt->execute(); $out = $stmt->fetch(PDO::FETCH_ASSOC); if (!empty($out)) { return new Output(array('success' => 'true', 'digital' => $out['DIGITAL'])); } else { return new Output(array('success' => 'false', 'error' => 'Nenhuma digital disponivel')); } } catch (PDOException $e) { throw $e; } }
/** * */ public static function registrarHistoricoDeTramiteDocumentos($digital, $acao, $origem = 'XXXXX', $destino = 'XXXXX') { try { $id_usuario = $this->_usuario->id; $id_unidade = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE; $id_unidade_original = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE_ORIGINAL; $nome_usuario = Zend_Auth::getInstance()->getIdentity()->NOME; $diretoria = DaoUnidade::getUnidade($id_unidade_original, 'nome'); $stmm = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_DOCUMENTOS" . " (DIGITAL,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES (?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $stmm->bindParam(1, $digital, PDO::PARAM_STR); $stmm->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmm->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmm->bindParam(4, $id_unidade, PDO::PARAM_INT); $stmm->bindParam(5, $diretoria, PDO::PARAM_STR); $stmm->bindParam(6, $acao, PDO::PARAM_STR); $stmm->bindParam(7, $origem, PDO::PARAM_STR); $stmm->bindParam(8, $destino, PDO::PARAM_STR); $stmm->execute(); return Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_HISTORICO_TRAMITE_DOCUMENTOS_ID_SEQ'); } catch (PDOException $e) { throw new Exception($e->getMessage()); } }
$cont == 0 ? $apensos .= $current['NM_APENSO'] : ($apensos .= ", " . $current['NM_APENSO']); } else { $iterator->count() == 1 ? $apensos .= $current['NM_APENSO'] : ($apensos .= " e " . $current['NM_APENSO']); } $datafile['apensados'] = $apensos; $iterator->next(); $cont++; } $fp = fopen($dir . $file, "r"); $output = fread($fp, filesize($dir . $file)); fclose($fp); $output = str_replace("<<DATA>>", $datafile['data'], $output); $output = str_replace("<<DIRETORIA>>", $datafile['solicitante'], $output); $output = str_replace("<<NUMERO_PROCESSO>>", $datafile['processo'], $output); $output = str_replace("<<APENSADOS>>", $datafile['apensados'], $output); $output = str_replace("<<DIRETORIA_LOGADO>>", DaoUnidade::getUnidade($auth->ID_UNIDADE, 'nome'), $output); $output = str_replace("<<NOME_COMPLETO>>", strtoupper($auth->NOME), $output); /** * Output */ header("Content-type: application/msword; charset=iso-8859-1;"); header("Content-Disposition: inline, filename={$file}"); print $output; /** * @todo Refatorar... * @deprecated */ function processosVinc($processo, $tipo_vinc, $idUsuario) { $id = getIdProcesso($processo); $sql = "SELECT MAX(BLOCO_IMPRESSAO) AS BLOCO \r\n FROM TB_PROCESSOS_VINCULACAO \r\n WHERE ID_PROCESSO_PAI = ? \r\n AND ID_VINCULACAO = ?";
* * Este programa é distribuíção 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 "LICENCA.txt", * 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 * */ if ($_REQUEST) { try { switch ($_REQUEST['acao']) { case 'get': try { /* TMP */ $out = DaoUnidade::getUnidade($_REQUEST['valor'], $_REQUEST['campo']); if (!$_REQUEST['campo'] || $_REQUEST['campo'] == '*') { $out['success'] = 'true'; } } catch (Exception $e) { $out = array('success' => 'false', 'error' => $e->getMessage()); } break; case 'alterar-status': $out = DaoUnidade::deleteUnidade($_REQUEST['id'], $_REQUEST['status'])->toArray(); break; case 'alterar-visibilidade': try { $out = Tramite::alterarVisibilidadeTramite($_REQUEST['id_unidade'], $_REQUEST['id_referencia'], $_REQUEST['status']); } catch (Exception $e) { $out = array('success' => 'false', 'error' => $e->getMessage());
$inputData['SOLICITACAO'] = $_REQUEST['SOLICITACAO']; $inputData['DIGITAL_REFERENCIA'] = $_REQUEST['DIGITAL_REFERENCIA']; $priority = getPriority($_REQUEST['PRIORIDADE']); $inputData['NM_PRIORIDADE'] = $priority->PRIORIDADE; $inputData['PRIORIDADES'] = array(); $inputData['PRIORIDADES'][] = $_REQUEST['PRIORIDADE']; if (isset($_REQUEST['extras']['PRIORIDADES'])) { foreach ($_REQUEST['extras']['PRIORIDADES']['id_campo'] as $prioridade) { $inputData['PRIORIDADES'][] = $prioridade; } } $inputData['TRAMITES'] = array(); $inputData['TRAMITES'][$_REQUEST['ID_UNID_CAIXA_ENTRADA']] = DaoUnidade::getUnidade($_REQUEST['ID_UNID_CAIXA_ENTRADA'], 'nome'); if (isset($_REQUEST['extras']['TRAMITES'])) { foreach ($_REQUEST['extras']['TRAMITES']['id_campo'] as $tramite) { $inputData['TRAMITES'][$tramite] = DaoUnidade::getUnidade($tramite, 'nome'); } } $responses = array(); $digitaisOk = array(); $sucesso = true; foreach ($inputData['TRAMITES'] as $tramite => $nome_tramite) { $inputData['ID_UNID_CAIXA_ENTRADA'] = $tramite; $inputData['DESTINO'] = $nome_tramite; $response = adicionaDemanda($inputData, $usuario); $responses[] = $response; if (!$response['success']) { $sucesso = false; } else { $digitaisOk[] = $response['digital']; }
/** * */ function geraPdfSic(Documento $documento) { //ENDEREÇO ONDE SERÁ GERADO O PDF $end_final = __CAM_UPLOAD__ . '/' . aleatorio() . ".pdf"; $tipo_pdf = "F"; //PREPARA PARA GERAR O PDF $pdf = new PDFSic($documento); $pdf->SetFont('times', '', 12); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->ln(2); $pdf->SetFont('Arial', '', 9); $pdf->Text(170, 12, __ETIQUETA__); $pdf->Code128(165, 14, $documento->digital, 30, 9); $pdf->Text(173, 27, $documento->digital); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->Cell(180, 5, "", 0, 0, 'R'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(180, 5, utf8_decode("Informações do Documento"), 0, 1, 'C'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(16, 5, "DIGITAL: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(100, 5, $pdf->documento->digital, 0, 0, 'L'); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(27, 5, "Data do Documento: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(40, 5, $pdf->documento->data_documento, 0, 1, 'R'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(16, 5, "Origem:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(100, 5, utf8_decode($pdf->documento->origem), 0, 0, 'L'); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(27, 5, utf8_decode("Número Solicitação: "), 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(40, 5, utf8_decode($pdf->documento->numero), 0, 1, 'R'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(16, 5, "Solicitante:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(100, 5, utf8_decode($pdf->documento->nome), 0, 0, 'L'); if (!is_null($pdf->documento->cpf)) { // Existe CPF/CNPJ para esta solicitação // Descobrir qual deles $rotulo = "CPF: "; if (strlen($pdf->documento->cpf) > 14) { // CNPJ $rotulo = "CNPJ: "; } $pdf->SetFont("Arial", "B", 8); $pdf->Cell(27, 5, $rotulo, 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(40, 5, $pdf->documento->cpf, 0, 0, 'R'); } else { if (!is_null($pdf->documento->email)) { // Existe email para esta solicitação $pdf->SetFont("Arial", "B", 8); $pdf->Cell(27, 5, "Email: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(40, 5, utf8_decode($pdf->documento->email), 0, 0, 'R'); } } $pdf->Ln(); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->Cell(15, 5, "Assunto:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 8); $pdf->MultiCell(165, 5, utf8_decode(DaoAssuntoDocumento::getAssunto($pdf->documento->assunto, 'assunto')), 0, 1); $pdf->Ln(); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(180, 5, utf8_decode("Informações da Solicitação"), 0, 1, 'C'); $pdf->Ln(); //EXIBE OS REGISTROS $diretoria = utf8_decode(DaoUnidade::getUnidade($pdf->documento->diretoria, 'nome')); $pdf->Cell(8, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "", 8); $pdf->Cell(40, 5, "Ao ponto focal - {$diretoria}", 0, 1, 'L'); $pdf->Ln(); $pdf->SetFont("Arial", "", 8); $pdf->Cell(8, 5, "", 0, 0, 'L'); $pdf->Write(5, utf8_decode($pdf->texto)); $pdf->Ln(); $pdf->Ln(); $pdf->SetFont("Arial", "B", 8); $pdf->Cell(8, 5, "", 0, 0, 'L'); $pdf->Write(5, utf8_decode($pdf->rodape)); //SAIDA DO PDF $pdf->Output("{$end_final}", "{$tipo_pdf}"); return $end_final; }
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição 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íção 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 "LICENCA.txt", * 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 * */ $aColumns = array('ID', 'NU_REF', 'INTERESSADO', 'NU_RES', 'NM_USUARIO_DESTINO', 'NM_UNIDADE_DESTINO', 'NM_USUARIO_ORIGEM', 'NM_UNIDADE_ORIGEM', 'NULL', 'NULL', 'DT_PRAZO', 'DT_RESPOSTA', 'DIAS_RESPOSTA'); $aColumnsFTS = array('NU_REF', 'INTERESSADO', 'NU_RES', 'NM_USUARIO_DESTINO', 'NM_UNIDADE_DESTINO', 'NM_USUARIO_ORIGEM', 'NM_UNIDADE_ORIGEM'); $sIndexColumn = "ID"; $sTable = "VW_PRAZOS_RESPONDIDOS_USUARIOS"; $sExtraQuery = "ID_UNIDADE_DESTINO = " . DaoUnidade::getUnidade(null, 'id'); print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, null, $sExtraQuery, $aColumnsFTS);
/** * @return Output */ public function comment() { $out = array(); $unidade = DaoUnidade::getUnidade($this->post['setor'], 'nome'); $usuario = DaoUsuario::getUsuario((int) $this->post['usuario']); $mensagem = "O volume {$this->post['volume']} deste processo está aos cuidados de {$usuario['nome']} - {$unidade}."; Controlador::getInstance()->getConnection()->connection->beginTransaction(); $id_usuario = Zend_Auth::getInstance()->getIdentity()->ID; $nome_usuario = Zend_Auth::getInstance()->getIdentity()->NOME; $id_unidade_historico = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE_ORIGINAL; $diretoria = DaoUnidade::getUnidade($id_unidade_historico, 'nome'); try { $stmt = Controlador::getInstance()->getConnection()->connection->prepare("\n INSERT INTO TB_COMENTARIOS_PROCESSOS \n (NUMERO_PROCESSO, ID_USUARIO, USUARIO, DT_CADASTRO, TEXTO_COMENTARIO, ID_UNIDADE, DIRETORIA)\n VALUES\n (?,?,?,CLOCK_TIMESTAMP(),?,?,?)\n "); $stmt->bindValue(1, $this->getProcesso()); $stmt->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmt->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmt->bindParam(4, $mensagem); $stmt->bindParam(5, $id_unidade_historico, PDO::PARAM_INT); $stmt->bindParam(6, $diretoria, PDO::PARAM_STR); $stmt->execute(); $last_id = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_COMENTARIOS_PROCESSOS_ID_SEQ'); $stmt = Controlador::getInstance()->getConnection()->connection->prepare('UPDATE TB_PROCESSOS_VOLUME SET ID_COMENTARIO = ? WHERE ID = ?'); $stmt->bindParam(1, $last_id); $stmt->bindParam(2, $this->post['idvolume']); $stmt->execute(); Controlador::getInstance()->getConnection()->connection->commit(); $out = array('success' => 'true'); $this->print = $out; } catch (Exception $e) { Controlador::getInstance()->getConnection()->connection->rollback(); $out = array('success' => 'false', 'message' => 'Não foi possível registrar o comentário deste volume!'); } return new Output($out); }
/** * */ function desvincularProcesso($arrayData) { $usuario = Controlador::getInstance()->usuario; /* recupera id do processo */ $numero_processo = getIdProcesso($arrayData['numero_processo']); /* mensagem padrão do historico de tramite do tipo desanexar */ $mensagem_tramite_pai = "O processo <?> foi desapensado deste processo."; $mensagem_tramite_filho = "O processo foi desapensado do processo <?>."; /* sequencial para controle de impressão do termo. */ $bloco_impressao = getLastBloc($numero_processo, 2); $anexos = array_unique(explode(',', $arrayData['processos'])); $data_acao = date('Y-m-d h:m:s'); $id_usuario = $usuario->ID; $nome_usuario = $usuario->NOME; $id_unidade = $usuario->ID_UNIDADE; $oDiretoria = DaoUnidade::getUnidade($id_unidade); $diretoria = $oDiretoria['nome']; $tx_diretoria = $oDiretoria['nome'] . ' - ' . $oDiretoria['sigla']; Controlador::getInstance()->getConnection()->connection->beginTransaction(); try { $iterator = new ArrayIterator($anexos); while ($iterator->valid()) { $numero_apenso = getIdProcesso($iterator->current()); /* * ************************* TRAMITE PAI ************************* */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS\n (NUMERO_PROCESSO, ID_USUARIO, USUARIO, ID_UNIDADE, DIRETORIA, ACAO, ORIGEM, DESTINO, DT_TRAMITE)\n VALUES(?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $stmt->bindParam(1, $arrayData['numero_processo'], PDO::PARAM_STR); $stmt->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmt->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmt->bindParam(4, $id_unidade, PDO::PARAM_INT); $stmt->bindParam(5, $diretoria, PDO::PARAM_STR); $stmt->bindValue(6, str_replace("<?>", $iterator->current(), $mensagem_tramite_pai)); $stmt->bindParam(7, $tx_diretoria); $stmt->bindValue(8, "XXXXX"); $stmt->execute(); $id_tramite_pai = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_HISTORICO_TRAMITE_PROCESSOS_ID_SEQ'); /* * **************************************************************** */ /* * ************************* TRAMITE FILHO ************************ */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS\n (NUMERO_PROCESSO, ID_USUARIO, USUARIO, ID_UNIDADE, DIRETORIA, ACAO, ORIGEM, DESTINO, DT_TRAMITE)\n VALUES(?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $stmt->bindParam(1, $iterator->current(), PDO::PARAM_STR); $stmt->bindParam(2, $id_usuario, PDO::PARAM_INT); $stmt->bindParam(3, $nome_usuario, PDO::PARAM_STR); $stmt->bindParam(4, $id_unidade, PDO::PARAM_INT); $stmt->bindParam(5, $diretoria, PDO::PARAM_STR); $stmt->bindValue(6, str_replace("<?>", $arrayData['numero_processo'], $mensagem_tramite_filho)); $stmt->bindParam(7, $tx_diretoria); $stmt->bindValue(8, "XXXXX"); $stmt->execute(); $id_tramite_filho = Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_HISTORICO_TRAMITE_PROCESSOS_ID_SEQ'); /* * ************************** ATUALIZAR MOVIMENTAÇÃO ************** */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_PROCESSOS_CADASTRO SET ULTIMO_TRAMITE = ? WHERE ID = ?"); $data = date("d/m/Y " . " - " . "H:i:s"); $ultimo_tramite = str_replace(".", " ", $mensagem_tramite_filho); $ultimo_tramite .= "por {$nome_usuario} em {$data}."; $stmt->bindParam(1, str_replace("<?>", $arrayData['numero_processo'], $ultimo_tramite), PDO::PARAM_STR); $stmt->bindParam(2, $numero_apenso, PDO::PARAM_INT); $stmt->execute(); /* * **************************************************************** */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_PROCESSOS_VINCULACAO\n SET DT_EXCLUSAO_FORM = ?, ID_SOLICITANTE = ?, FG_ATIVO = ?, BLOCO_IMPRESSAO = ?, ID_HISTORICO_TRAMITE_PAI = ?, ID_HISTORICO_TRAMITE_FILHO = ? , DT_ACAO = ?\n WHERE ID_PROCESSO_PAI = ? AND ID_PROCESSO_FILHO = ? AND ST_ATIVO = 1 AND ID_VINCULACAO = 2"); $stmt->bindParam(1, format($arrayData['data_exclusao']), PDO::PARAM_STR); $stmt->bindParam(2, $arrayData['diretoria'], PDO::PARAM_STR); $stmt->bindValue(3, 0, PDO::PARAM_INT); $stmt->bindParam(4, $bloco_impressao, PDO::PARAM_STR); $stmt->bindParam(5, $id_tramite_pai, PDO::PARAM_INT); $stmt->bindParam(6, $id_tramite_filho, PDO::PARAM_INT); $stmt->bindParam(7, $data_acao, PDO::PARAM_STR); $stmt->bindParam(8, $numero_processo, PDO::PARAM_STR); $stmt->bindParam(9, $numero_apenso, PDO::PARAM_INT); $stmt->execute(); $iterator->next(); } Controlador::getInstance()->getConnection()->connection->commit(); } catch (PDOException $e) { throw $e; } }
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição 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íção 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 "LICENCA.txt", * 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 * */ $aColumns = array('ID', 'PAI', 'DIAS_RESTANTES', 'DIGITAL', 'DT_CADASTRO', 'ASSUNTO', 'NUMERO', 'TIPO', 'ORIGEM', 'ULTIMO_TRAMITE', 'ID_UNID_CAIXA_SAIDA'); $aColumnsFTS = array('DIGITAL', 'ASSUNTO', 'NUMERO', 'TIPO', 'ORIGEM', 'ULTIMO_TRAMITE'); $sIndexColumn = "ID"; $sTable = "VW_CAIXA_SAIDA_DOCUMENTOS"; $sExtraQuery = "ID_UNID_CAIXA_SAIDA = " . DaoUnidade::getUnidade(null, 'id'); print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, null, $sExtraQuery, $aColumnsFTS);
/** * @return string */ public function salvarCadastro() { try { Controlador::getInstance()->getConnection()->connection->beginTransaction(); /* Cadastrar Processo */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PROCESSOS_CADASTRO(NUMERO_PROCESSO,ORIGEM,ASSUNTO,\n ASSUNTO_COMPLEMENTAR,DT_AUTUACAO,DT_PRAZO,DT_CADASTRO,USUARIO,INTERESSADO,ID_UNID_AREA_TRABALHO,ULTIMO_TRAMITE,\n PROCEDENCIA,ID_UNIDADE_USUARIO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)"); /** * BugFix Notice */ $numero_processo = $this->numero_processo; $origem = $this->origem; $assunto = $this->assunto; $assunto_complementar = $this->assunto_complementar; $dt_autuacao = $this->dt_autuacao; $dt_prazo = $this->dt_prazo; $dt_cadastro = $this->dt_cadastro; $interessado = $this->interessado; $ultimo_tramite = $this->ultimo_tramite; $procedencia = $this->procedencia; $id_usuario = $this->_usuario->id; $nome_usuario = $this->_usuario->nome; $id_unidade = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE; $id_unidade_historico = Zend_Auth::getInstance()->getIdentity()->ID_UNIDADE; $diretoria = DaoUnidade::getUnidade($id_unidade_historico, 'nome'); $objOrigem = DaoUnidade::getUnidade($id_unidade); $tx_origem = $objOrigem['nome'] . ' - ' . $objOrigem['sigla']; $id_unidade_usuario = Controlador::getInstance()->usuario->ID_UNIDADE; $stmt->bindParam(1, $numero_processo, PDO::PARAM_STR); //numero_processo $stmt->bindParam(2, $origem, PDO::PARAM_INT); //origem $stmt->bindParam(3, $assunto, PDO::PARAM_INT); //assunto $stmt->bindParam(4, $assunto_complementar, PDO::PARAM_STR); //assunto_complementar $stmt->bindParam(5, $dt_autuacao, PDO::PARAM_STR); //autuacao $stmt->bindParam(6, $dt_prazo, PDO::PARAM_STR); //data_prazo $stmt->bindParam(7, $dt_cadastro, PDO::PARAM_STR); //dt_cadastro $stmt->bindParam(8, $id_usuario, PDO::PARAM_INT); //usuario $stmt->bindParam(9, $interessado, PDO::PARAM_INT); //interessado $stmt->bindParam(10, $id_unidade, PDO::PARAM_INT); //id_unid_area_trabalho $stmt->bindParam(11, $ultimo_tramite, PDO::PARAM_STR); //ultimo_tramite $stmt->bindParam(12, $procedencia, PDO::PARAM_INT); //procedencia $stmt->bindParam(13, $id_unidade_usuario, PDO::PARAM_INT); //procedencia $stmt->execute(); /* Registrar o primeiro volume do processo */ $volume = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_PROCESSOS_VOLUME (ID_PROCESSO_CADASTRO, NU_VOLUME, FL_INICIAL, DT_ABERTURA,ID_USUARIO,ID_UNIDADE) VALUES (?, 1, 1,?,?,?)"); $volume->bindParam(1, Controlador::getInstance()->getConnection()->connection->lastInsertId('TB_PROCESSOS_CADASTRO_ID_SEQ'), PDO::PARAM_INT); //id do processo $volume->bindParam(2, $dt_autuacao, PDO::PARAM_STR); //usar a data da autuacao para informar a data de inicio do primeiro volume. $volume->bindParam(3, $id_usuario, PDO::PARAM_INT); $volume->bindParam(4, $id_unidade_usuario, PDO::PARAM_INT); $volume->execute(); /* Inserir o historico de tramite do processo */ /* Complemento do Historico do Processo */ $acao = "Processo Cadastrado."; $destino = "XXXXX"; $historico_processo = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_PROCESSOS" . " (NUMERO_PROCESSO,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES(?,?,?,?,?,?,?,?,CLOCK_TIMESTAMP())"); $historico_processo->bindParam(1, $numero_processo, PDO::PARAM_STR); $historico_processo->bindParam(2, $id_usuario, PDO::PARAM_INT); $historico_processo->bindParam(3, $nome_usuario, PDO::PARAM_STR); $historico_processo->bindParam(4, $id_unidade_historico, PDO::PARAM_INT); $historico_processo->bindParam(5, $diretoria, PDO::PARAM_STR); $historico_processo->bindParam(6, $acao, PDO::PARAM_STR); $historico_processo->bindParam(7, $tx_origem, PDO::PARAM_STR); $historico_processo->bindParam(8, $destino, PDO::PARAM_STR); $historico_processo->execute(); Controlador::getInstance()->getConnection()->connection->commit(); $this->out = array('success' => 'true', 'mensagem' => "Processo {$numero_processo} cadastrado com sucesso!"); } catch (PDOException $e) { Controlador::getInstance()->getConnection()->connection->rollback(); throw new BasePDOException($e); } }
$pdf->SetFont("Arial", "B", 7); $pdf->Cell(23, 5, "TRAMITADO POR: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(172, 5, utf8_decode(DaoUsuario::getUsuario(null, 'nome')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(18, 5, "DATA - HORA: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(178, 5, date("d/m/Y " . " - " . "H:i:s"), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(28, 5, "ORIGEM DO TRAMITE:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(152, 5, utf8_decode(DaoUnidade::getUnidade(null, 'nome')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(21, 5, utf8_decode("DESTINATÁRIO:"), 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(159, 5, utf8_decode(Session::get('_processos_recibo_destinatario')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(10, 5, "LOCAL:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(170, 5, utf8_decode(Session::get('_processos_recibo_local')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7);
$pdf->SetFont("Arial", "B", 7); $pdf->Cell(23, 5, "TRAMITADO POR: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(172, 5, utf8_decode(DaoUsuario::getUsuario(null, 'nome')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(18, 5, "DATA - HORA: ", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(178, 5, date("d/m/Y " . " - " . "H:i:s"), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(28, 5, "ORIGEM DO TRAMITE:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(152, 5, DaoUnidade::getUnidade(null, 'nome'), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(21, 5, utf8_decode("DESTINATÁRIO:"), 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(159, 5, utf8_decode(Session::get('_digitais_recibo_destinatario')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7); $pdf->Cell(10, 5, "LOCAL:", 0, 0, 'L'); $pdf->SetFont("Arial", "", 7); $pdf->Cell(170, 5, utf8_decode(Session::get('_digitais_recibo_local')), 0, 0, 'L'); $pdf->Cell(5, 5, "", 0, 1, 'L'); $pdf->Cell(5, 5, "", 0, 0, 'C'); $pdf->SetFont("Arial", "B", 7);
<?php /* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição 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íção 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 "LICENCA.txt", * 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 * */ //COLUNAS DA TABELA DO BANCO $aColumns = array('ID', 'PAI', 'DIAS_RESTANTES', 'DIGITAL', 'DT_CADASTRO', 'DT_DOCUMENTO', 'ASSUNTO', 'NUMERO', 'TIPO', 'ORIGEM', 'INTERESSADO', 'ID_UNID_AREA_TRABALHO', 'PERMITE_ACAO'); //COLUNAS ONDE A PESQUISA TEXTUAL SERÁ FEITA $aColumnsFTS = array('DIGITAL', 'ASSUNTO', 'NUMERO', 'TIPO', 'ORIGEM', 'INTERESSADO'); $sIndexColumn = "ID"; $sTable = "ext__snas__vw_area_trabalho_documentos"; $sExtraQuery = "area_busca = " . DaoUnidade::getUnidade(null, 'id'); print Grid::getGrid($_GET, $aColumns, $sIndexColumn, $sTable, null, $sExtraQuery, $aColumnsFTS);
* */ case 'get-unidades-ativas': $manterTramite['ID'] = (int) $_POST['idUnidade']; $rsUnidades = DaoTramite::listTramiteAtivo($manterTramite); $out = toUtf8($rsUnidades->resultado); break; /** * */ /** * */ case 'get-unidade': $idUnidade = (int) $_POST['idUnidade']; $nomeUnidade = DaoUnidade::getUnidade($idUnidade, 'NOME'); if (isset($nomeUnidade) && !empty($nomeUnidade)) { $out = array('success' => true, 'nome' => $nomeUnidade); } else { throw new Exception('Ocorreu algum erro, tente novamente!'); } break; /** * */ /** * */ case 'salvar-tramite': $manterTramite['ID_REFERENCIA'] = (int) $_POST['idReferencia']; $manterTramite['ID_UNIDADE'] = (int) $_POST['idUnidade'];
/** * @param type $pai * @param type $filho * @param type $vinculacao * @return \Output */ public function desvincularDocumento($pai, $filho, $vinculacao) { try { /* Valida se o vínculo é associação (que não tem regra de validação de área de trabalho) * OU * Validar se os documentos pai e filho ainda estao na area de trabalho do usuario * OU * Privilegio total para usuarios com permissao */ $controller = Controlador::getInstance(); $auth = $controller->usuario; // permissao desanexar documento = 310114 if ($vinculacao == 3 || DocumentoDemanda::validarDocumentoAreaDeTrabalho($pai) || $vinculacao == 1 && AclFactory::checaPermissao($controller->acl, $auth, DaoRecurso::getRecursoById(31120616))) { if ($vinculacao == 3 || DocumentoDemanda::validarDocumentoAreaDeTrabalho($filho) || $vinculacao == 1 && AclFactory::checaPermissao($controller->acl, $auth, DaoRecurso::getRecursoById(31120616))) { switch ($vinculacao) { case 1: $operacao = 'desanexado'; break; case 2: $operacao = 'desapensado'; break; case 3: $operacao = 'desassociado'; break; default: break; } /* Inicar transacao */ Controlador::getInstance()->getConnection()->connection->beginTransaction(); /* Verificar se existe um vinculo existe ativo e quais sao os historicos de tramite */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT\n DV.ID AS ID_VINCULO,\n HF.ID AS ID_HISTORICO_FILHO,\n HP.ID AS ID_HISTORICO_PAI,\n DCF.DIGITAL AS FILHO,\n DCP.DIGITAL AS PAI\n FROM TB_DOCUMENTOS_VINCULACAO DV\n INNER JOIN TB_DOCUMENTOS_CADASTRO DCP ON DV.ID_DOCUMENTO_PAI = DCP.ID\n INNER JOIN TB_DOCUMENTOS_CADASTRO DCF ON DV.ID_DOCUMENTO_FILHO = DCF.ID\n LEFT JOIN TB_HISTORICO_TRAMITE_DOCUMENTOS HP ON DV.ID_HISTORICO_TRAMITE_PAI = HP.ID\n LEFT JOIN TB_HISTORICO_TRAMITE_DOCUMENTOS HF ON DV.ID_HISTORICO_TRAMITE_FILHO = HF.ID\n WHERE\n DCP.DIGITAL = ? AND\n DCF.DIGITAL = ? AND\n DV.ID_VINCULACAO = ? AND\n DV.FG_ATIVO = 1 AND DV.ST_ATIVO = 1 LIMIT 1"); $stmt->bindParam(1, $pai, PDO::PARAM_STR); $stmt->bindParam(2, $filho, PDO::PARAM_STR); $stmt->bindParam(3, $vinculacao, PDO::PARAM_INT); $stmt->execute(); $out = $stmt->fetch(PDO::FETCH_ASSOC); /* Se desanexacao */ if (!empty($out) && $vinculacao == 1) { /* Desvincular */ $sthp = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_VINCULACAO SET FG_ATIVO = 0 WHERE ID = ?"); $sthp->bindParam(1, $out['ID_VINCULO'], PDO::PARAM_INT); $sthp->execute(); /* Log Vinculo */ new Log('TB_DOCUMENTOS_VINCULACAO', $out['ID_VINCULO'], $auth->ID, 'desanexar'); /* Remover historico tramite pai */ if (!is_null($out['ID_HISTORICO_PAI'])) { $sthp = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_HISTORICO_TRAMITE_DOCUMENTOS SET ST_ATIVO = 0 WHERE ID = ?"); $sthp->bindParam(1, $out['ID_HISTORICO_PAI'], PDO::PARAM_INT); $sthp->execute(); /* Log Historico Pai */ new Log('HISTORICO_TRAMITE', $out['ID_HISTORICO_PAI'], $auth->ID, 'excluir'); } /* Remover historico tramite filho */ if (!is_null($out['ID_HISTORICO_FILHO'])) { $sthf = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_HISTORICO_TRAMITE_DOCUMENTOS SET ST_ATIVO = 0 WHERE ID = ?"); $sthf->bindParam(1, $out['ID_HISTORICO_FILHO'], PDO::PARAM_INT); $sthf->execute(); /* Log Historico Filho */ new Log('HISTORICO_TRAMITE', $out['ID_HISTORICO_FILHO'], $auth->ID, 'excluir'); } } /* Se desapensacao */ if (!empty($out) && $vinculacao == 2) { /* Variaveis do historico de tramite */ $acao_filho = "Este documento foi {$operacao} do documento {$pai}"; // historico filho $acao_pai = "O documento {$filho} foi {$operacao}."; // historico pai $ultimo_tramite = "Este documento foi {$operacao} do documento {$pai}."; //ultimo tramite filho $destino = "XXXXX"; $origem = "XXXXX"; $id_usuario = $auth->ID; $id_unidade = $auth->ID_UNIDADE_ORIGINAL; $nome_usuario = $auth->NOME; $diretoria = DaoUnidade::getUnidade($id_unidade, 'nome'); /* Desvincular */ $sthp = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_VINCULACAO SET FG_ATIVO = 0 WHERE ID = ?"); $sthp->bindParam(1, $out['ID_VINCULO'], PDO::PARAM_INT); $sthp->execute(); /* Adicionar historico tramite pai */ $sthp = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_DOCUMENTOS" . " (DIGITAL,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES (?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP(0))"); $sthp->bindParam(1, $pai, PDO::PARAM_STR); //digital pai $sthp->bindParam(2, $id_usuario, PDO::PARAM_INT); //id usuario $sthp->bindParam(3, $nome_usuario, PDO::PARAM_STR); //nome usuario $sthp->bindParam(4, $id_unidade, PDO::PARAM_INT); //id unidade $sthp->bindParam(5, $diretoria, PDO::PARAM_STR); //nome diretoria $sthp->bindParam(6, $acao_pai, PDO::PARAM_STR); //acao pai $sthp->bindParam(7, $origem, PDO::PARAM_STR); //origem $sthp->bindParam(8, $destino, PDO::PARAM_STR); //destino $sthp->execute(); /* Adicionar historico tramite filho */ $sthf = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_DOCUMENTOS" . " (DIGITAL,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES (?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP(0))"); $sthf->bindParam(1, $filho, PDO::PARAM_STR); //digital filho $sthf->bindParam(2, $id_usuario, PDO::PARAM_INT); //id usuario $sthf->bindParam(3, $nome_usuario, PDO::PARAM_STR); //nome usuario $sthf->bindParam(4, $id_unidade, PDO::PARAM_INT); //id unidade $sthf->bindParam(5, $diretoria, PDO::PARAM_STR); //nome diretoria $sthf->bindParam(6, $acao_filho, PDO::PARAM_STR); //acao filho $sthf->bindParam(7, $origem, PDO::PARAM_STR); //origem $sthf->bindParam(8, $destino, PDO::PARAM_STR); //destino $sthf->execute(); /* Ultimo tramite - Documento Filho */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_CADASTRO SET ULTIMO_TRAMITE = ? WHERE DIGITAL = ?"); $stmt->bindParam(1, $ultimo_tramite, PDO::PARAM_STR); //acao $stmt->bindParam(2, $filho, PDO::PARAM_STR); //digital filho $stmt->execute(); } /* Se desassociação */ if (!empty($out) && $vinculacao == 3) { /* Variaveis do historico de tramite */ $acao_filho = "Este documento foi {$operacao} do documento {$pai}"; // historico filho $acao_pai = "O documento {$filho} foi {$operacao}."; // historico pai $ultimo_tramite = "Este documento foi {$operacao} do documento {$pai}."; //ultimo tramite filho $destino = "XXXXX"; $origem = "XXXXX"; $id_usuario = $auth->ID; $id_unidade = $auth->ID_UNIDADE_ORIGINAL; $nome_usuario = $auth->NOME; $diretoria = DaoUnidade::getUnidade($id_unidade, 'nome'); /* Desvincular */ $sthp = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_VINCULACAO SET FG_ATIVO = 0 WHERE ID = ?"); $sthp->bindParam(1, $out['ID_VINCULO'], PDO::PARAM_INT); $sthp->execute(); /* Adicionar historico tramite pai */ $sthp = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_DOCUMENTOS" . " (DIGITAL,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES (?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP(0))"); $sthp->bindParam(1, $pai, PDO::PARAM_STR); //digital pai $sthp->bindParam(2, $id_usuario, PDO::PARAM_INT); //id usuario $sthp->bindParam(3, $nome_usuario, PDO::PARAM_STR); //nome usuario $sthp->bindParam(4, $id_unidade, PDO::PARAM_INT); //id unidade $sthp->bindParam(5, $diretoria, PDO::PARAM_STR); //nome diretoria $sthp->bindParam(6, $acao_pai, PDO::PARAM_STR); //acao pai $sthp->bindParam(7, $origem, PDO::PARAM_STR); //origem $sthp->bindParam(8, $destino, PDO::PARAM_STR); //destino $sthp->execute(); /* Adicionar historico tramite filho */ $sthf = Controlador::getInstance()->getConnection()->connection->prepare("INSERT INTO TB_HISTORICO_TRAMITE_DOCUMENTOS" . " (DIGITAL,ID_USUARIO,USUARIO,ID_UNIDADE,DIRETORIA,ACAO,ORIGEM,DESTINO,DT_TRAMITE)" . " VALUES (?,?,?,?,?,?,?,?,CURRENT_TIMESTAMP(0))"); $sthf->bindParam(1, $filho, PDO::PARAM_STR); //digital filho $sthf->bindParam(2, $id_usuario, PDO::PARAM_INT); //id usuario $sthf->bindParam(3, $nome_usuario, PDO::PARAM_STR); //nome usuario $sthf->bindParam(4, $id_unidade, PDO::PARAM_INT); //id unidade $sthf->bindParam(5, $diretoria, PDO::PARAM_STR); //nome diretoria $sthf->bindParam(6, $acao_filho, PDO::PARAM_STR); //acao filho $sthf->bindParam(7, $origem, PDO::PARAM_STR); //origem $sthf->bindParam(8, $destino, PDO::PARAM_STR); //destino $sthf->execute(); /* Ultimo tramite - Documento Filho */ $stmt = Controlador::getInstance()->getConnection()->connection->prepare("UPDATE TB_DOCUMENTOS_CADASTRO SET ULTIMO_TRAMITE = ? WHERE DIGITAL = ?"); $stmt->bindParam(1, $ultimo_tramite, PDO::PARAM_STR); //acao $stmt->bindParam(2, $filho, PDO::PARAM_STR); //digital filho $stmt->execute(); } /* Comitar */ Controlador::getInstance()->getConnection()->connection->commit(); return new Output(array('success' => 'true', 'message' => "Documento {$operacao} com sucesso!")); } else { /* Retorna quando o documento filho nao esta na area de trabalho do usuario */ return new Output(array('success' => 'false', 'error' => "O documento {$filho} não está na sua área de trabalho!")); } } else { /* Retorna quando o documento pai nao esta na area de trabalho do usuario */ return new Output(array('success' => 'false', 'error' => "O documento {$pai} não está na sua área de trabalho!")); } } catch (PDOException $e) { Controlador::getInstance()->getConnection()->connection->rollBack(); return new Output(array('success' => 'false', 'error' => $e->getMessage())); } }
} $documento = new Documento($_POST); $documento->nome = $nome; if ($cpf) { $documento->cpf = $cpf; } if ($email) { $documento->email = $email; } $out = DaoDocumento::validarNumSolicitacaoSic($documento->numero)->toArray(); if ($out['success'] != 'true') { // Numero de solicitacao já cadastrado print json_encode($out); exit; } $oDestino = DaoUnidade::getUnidade(null); $documento->digital = $dig['digital']; $documento->tipo = "INFORMACAO SIC"; $documento->origem = "CGU"; $documento->destino = $oDestino['nome'] . ' - ' . $oDestino['sigla']; $documento->tecnico_responsavel = "RESPONSÁVEL SIC"; $documento->assunto_complementar = $ocr; $documento->interessado = $interessado; $documento->assinatura = NULL; $documento->cargo = NULL; $documento->procedencia = "E"; $documento->data_entrada = date('d/m/Y'); $documento->recibo = Zend_Auth::getInstance()->getIdentity()->NOME; $documento->diretoria = $_POST['id_unidade_destino']; $out = DaoDocumento::salvarDocumento($documento)->toArray(); if ($out['success'] == 'true') {
} fwrite($fp, "\n----- DEMANDA " . ($i + 1) . " -----\n"); foreach ($arrOpcSel as $opt) { if ($opt != 'prz-ppa' && $opt != 'prz-exec_orc') { if (substr($opt, 0, 3) == 'prz') { /* if (!isset($arrSaidaPrz[$prazo['sq_prazo']])) { $arrSaidaPrz[$prazo['sq_prazo']] = array(); }*/ $arrTmp = getOpcao($arrOpcoes, 'id', $opt); //$arrCabecalho[] = $arrTmp[0]['label']; //$arrSaidaPrz[$prazo['sq_prazo']][] = $prazo[$arrTmp[0]['campo']]; $prz_label = $arrTmp[0]['label']; $prz_campo = $prazo[$arrTmp[0]['campo']]; if ($opt == 'prz-id_unid_destino') { $prz_campo = DaoUnidade::getUnidade($prazo[$arrTmp[0]['campo']], 'nome'); } fwrite($fp, $prz_label . ': ' . $prz_campo . "\n"); } } } if ($buscarPPA || $buscarExecOrc) { $arrPpa = DaoPrazoDemanda::listarObjetivosMetasPpa($prazo['sq_prazo']); if ($arrPpa !== false) { fwrite($fp, "\n----- OBJETIVOS E METAS PPA/LOA -----\n"); for ($j = 0; $j < count($arrPpa); $j++) { fwrite($fp, 'Programa: ' . $arrPpa[$j]['PROGRAMA'] . "\n"); fwrite($fp, 'Exercício: ' . $arrPpa[$j]['EXERCICIO'] . "\n"); fwrite($fp, 'Objetivo: ' . $arrPpa[$j]['OBJETIVO'] . "\n"); fwrite($fp, 'Meta: ' . $arrPpa[$j]['META'] . "\n\n"); }
/* * Copyright 2008 ICMBio * Este arquivo é parte do programa SISICMBio * O SISICMBio é um software livre; você pode redistribuíção e/ou modifição 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íção 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 "LICENCA.txt", * 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 * */ $DIRETORIA = DaoUnidade::getUnidade(null, 'id'); $REQUEST = isset($_GET['request']) ? $_GET['request'] : NULL; $out = null; if ($REQUEST == 'D') { $stmt = Controlador::getInstance()->getConnection()->connection->prepare("SELECT DIGITAL FROM TB_DOCUMENTOS_CADASTRO WHERE ID_UNID_AREA_TRABALHO = ? ORDER BY DIGITAL;"); $stmt->bindParam(1, $DIRETORIA, PDO::PARAM_INT); $stmt->execute(); $resul = $stmt->fetchAll(PDO::FETCH_ASSOC); if (empty($resul)) { $out = array('success' => 'false'); } else { foreach ($resul as $value) { $doc = array(); $doc['numero'] = $value['DIGITAL']; $array[] = $doc; }