/** * @todo Refatorar... * @deprecated */ function processosApenso($processo, $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 = 2"; $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql); $stmt->bindParam(1, $id); $stmt->execute(); $bloco = $stmt->fetch(PDO::FETCH_ASSOC); $sql = "SELECT A.ID_PROCESSO_FILHO\r\n , P.NUMERO_PROCESSO AS NU_PROCESSO\r\n , C.NUMERO_PROCESSO AS NM_APENSO\r\n , U.NOME AS SETOR\r\n FROM TB_PROCESSOS_VINCULACAO AS A\r\n INNER JOIN TB_PROCESSOS_CADASTRO AS P \r\n ON A.ID_PROCESSO_PAI = P.ID\r\n INNER JOIN TB_PROCESSOS_CADASTRO AS C \r\n ON A.ID_PROCESSO_FILHO = C.ID\r\n INNER JOIN TB_UNIDADES AS U \r\n ON A.ID_SOLICITANTE = U.ID\r\n WHERE A.ID_PROCESSO_PAI = ? \r\n AND A.FG_ATIVO = 0 \r\n AND A.BLOCO_IMPRESSAO = ? \r\n AND ID_VINCULACAO = 2 \r\n AND ID_USUARIO = ?\r\n GROUP BY A.ID_PROCESSO_FILHO, P.NUMERO_PROCESSO, C.NUMERO_PROCESSO, U.NOME"; $stmt = Controlador::getInstance()->getConnection()->connection->prepare($sql); $stmt->bindParam(1, $id); $stmt->bindParam(2, $bloco['BLOCO']); $stmt->bindParam(3, $idUsuario); $stmt->execute(); $resul = $stmt->fetchAll(PDO::FETCH_ASSOC); return $resul; }
$out['message'] = $stringOut['AP_ERROR_APENSO_PROC']; } else { vincularProcessos($_POST); $out = array('success' => 'true', 'processo' => $_POST['numero_processo'] . "&tipo_acao=" . $_POST['acao']); } /* acao - desapensar processos */ } else { if ($_POST['acao'] == "desapensar") { desvincularProcesso($_POST); $out = array('success' => 'true', 'processo' => $_POST['numero_processo']); } else { if ($_POST['acao'] == "anexar") { /* verifica se os processos á anexar já esta anexado em outro processo */ $iterator = new ArrayIterator($processos); while ($iterator->valid()) { $current = getIdProcesso($iterator->current()); $resul = validarProcesso($current); if (!empty($resul)) { if (in_array($current, $resul)) { $out[] = $iterator->current(); } } $iterator->next(); } /* fim */ if (!empty($out)) { $out['success'] = 'false'; $out['message'] = $stringOut['AP_ERROR_ANEXO_PROC']; } else { vincularProcessos($_POST); $out = array('success' => 'true', 'processo' => $_POST['numero_processo'] . "&tipo_acao=" . $_POST['acao']);
/** * */ 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; } }