Search in sources :

Example 1 with Usuario

use of br.jus.trf2.balcaojus.AutenticarPost.Usuario in project balcaovirtual by trf2-jus-br.

the class SoapMNI method enviarPeticaoInicial.

public static PeticaoInicial enviarPeticaoInicial(String idManif, String senhaManif, String sistema, String localidade, String especialidade, String classe, String assuntoPrincipal, double valorCausa, String cdas, String pas, int nvlSigilo, boolean justicagratuita, boolean tutelaantecipada, boolean prioridadeidoso, List<Parte> partes, String nomePdfs, String tpDocPdfs, String nomePoloAtivo, String nomePoloPassivo) throws Exception {
    Map<String, Object> jwt = AutenticarPost.assertUsuarioAutorizado();
    String email = (String) jwt.get("email");
    String nome = (String) jwt.get("name");
    String usuario = (String) jwt.get("username");
    String dataEnvio = new DateTime(new Date()).toString("yyyyMMddHHmmss");
    String dirFinal = Utils.getDirFinal();
    ServicoIntercomunicacao222 client = getClient(sistema);
    List<TipoDocumento> l = new ArrayList<>();
    String[] tpDocs = tpDocPdfs.split(",");
    int i = 0;
    String[] classificacoes = tpDocPdfs.split(",");
    for (String nomePdf : nomePdfs.split(",")) {
        TipoDocumento doc = new TipoDocumento();
        doc.setMimetype("application/pdf");
        doc.setDataHora(dataEnvio);
        doc.setNivelSigilo(nvlSigilo == 0 ? 0 : 5);
        doc.setTipoDocumento(tpDocs[i]);
        // TODO: Substituir esse número mágico pela tabela de tipos de
        // documentos
        // doc.setTipoDocumento("58");
        Path path = Paths.get(dirFinal + "/" + nomePdf + ".pdf");
        byte[] data = Files.readAllBytes(path);
        doc.setConteudo(data);
        TipoParametro classificacao = new TipoParametro();
        classificacao.setNome("CLASSIFICACAO");
        classificacao.setValor(classificacoes[i]);
        doc.getOutroParametro().add(classificacao);
        l.add(doc);
        i++;
    }
    TipoCabecalhoProcesso dadosBasicos = new TipoCabecalhoProcesso();
    dadosBasicos.setNivelSigilo(nvlSigilo == 0 ? 0 : 5);
    TipoParte tp = null;
    for (Parte parte : partes) {
        ModalidadePoloProcessual m = parte.polo == 1 ? ModalidadePoloProcessual.AT : ModalidadePoloProcessual.PA;
        TipoPoloProcessual tpp = null;
        for (TipoPoloProcessual itpp : dadosBasicos.getPolo()) {
            if (itpp.getPolo().equals(m)) {
                tpp = itpp;
                break;
            }
        }
        if (tpp == null) {
            tpp = new TipoPoloProcessual();
            tpp.setPolo(m);
            dadosBasicos.getPolo().add(tpp);
        }
        TipoQualificacaoPessoa tqp = null;
        switch(parte.tipopessoa) {
            case 1:
                tqp = TipoQualificacaoPessoa.FISICA;
                break;
            case 2:
                tqp = TipoQualificacaoPessoa.JURIDICA;
                break;
            case 3:
                tqp = TipoQualificacaoPessoa.JURIDICA;
                break;
            case 4:
                if (tp == null)
                    throw new Exception("Não há pessoa para vincular ao advogado");
                TipoRepresentanteProcessual rp = new TipoRepresentanteProcessual();
                rp.setNome(parte.nome);
                rp.setInscricao(Utils.removePontuacao(parte.documento));
                rp.setTipoRepresentante(ModalidadeRepresentanteProcessual.A);
                // rp.setNumeroDocumentoPrincipal("11111111111");
                // rp.setIntimacao(false);
                tp.getAdvogado().add(rp);
                tqp = TipoQualificacaoPessoa.ORGAOREPRESENTACAO;
                continue;
        }
        tp = new TipoParte();
        // if (justicagratuita && tqp == TipoQualificacaoPessoa.FISICA)
        // tp.setAssistenciaJudiciaria(true);
        tp.setRelacionamentoProcessual(ModalidadeRelacionamentoProcessual.RP);
        TipoPessoa pess = new TipoPessoa();
        pess.setNome(parte.nome);
        pess.setNumeroDocumentoPrincipal(Utils.removePontuacao(parte.documento));
        // pess.setCidadeNatural("Rio de Janeiro");
        // pess.setEstadoNatural("RJ");
        pess.setTipoPessoa(tqp);
        tp.setPessoa(pess);
        tpp.getParte().add(tp);
    }
    dadosBasicos.setCodigoLocalidade(localidade);
    // dadosBasicos.setClasseProcessual(20);
    dadosBasicos.setValorCausa(valorCausa);
    // new
    List<TipoParametro> parametros = dadosBasicos.getOutroParametro();
    if (nomePoloAtivo != null) {
        TipoParametro p = new TipoParametro();
        p.setNome("NOMEPOLOATIVO");
        p.setValor(nomePoloAtivo);
        parametros.add(p);
    }
    if (nomePoloPassivo != null) {
        TipoParametro p = new TipoParametro();
        p.setNome("NOMEPOLOPASSIVO");
        p.setValor(nomePoloPassivo);
        parametros.add(p);
    }
    // Classe processual e parâmetro adicional para informar a classe do
    // Apolo
    String[] aClasse = classe.split("\\|");
    dadosBasicos.setClasseProcessual(Integer.parseInt(aClasse[0]));
    if (aClasse.length == 2) {
        TipoParametro p = new TipoParametro();
        p.setNome("CLASSEINTERNA");
        p.setValor(aClasse[1]);
        parametros.add(p);
    }
    // Assunto principal
    TipoAssuntoProcessual tap = new TipoAssuntoProcessual();
    tap.setCodigoNacional(Integer.parseInt(assuntoPrincipal));
    tap.setPrincipal(true);
    dadosBasicos.getAssunto().add(tap);
    if (prioridadeidoso) {
        dadosBasicos.getPrioridade().add("IDOSO");
    }
    if (justicagratuita) {
        TipoParametro jg = new TipoParametro();
        jg.setNome("JUSTICAGRATUITA");
        jg.setValor("TRUE");
        parametros.add(jg);
    }
    if (justicagratuita) {
        TipoParametro jg = new TipoParametro();
        jg.setNome("JUSTICAGRATUITA");
        jg.setValor("TRUE");
        parametros.add(jg);
    }
    if (tutelaantecipada) {
        TipoParametro tla = new TipoParametro();
        if (sistema.contains("eproc")) {
            tla.setNome("CautelaAntecipacaoTutela");
            tla.setValor("1");
        } else {
            tla.setNome("TUTELAANTECIPADA");
            tla.setValor("TRUE");
        }
        parametros.add(tla);
    }
    if (cdas != null) {
        for (String s : cdas.split(",")) {
            String ss = Utils.removePontuacao(s).trim();
            if (ss.length() == 0)
                continue;
            TipoParametro cda = new TipoParametro();
            cda.setNome("NUMEROCDA");
            cda.setValor(ss);
            parametros.add(cda);
        }
    }
    if (pas != null) {
        for (String s : pas.split(",")) {
            String ss = Utils.removePontuacao(s).trim();
            if (ss.length() == 0)
                continue;
            TipoParametro pa = new TipoParametro();
            pa.setNome("NUMEROPROCESSOADMINISTRATIVO");
            pa.setValor(ss);
            parametros.add(pa);
        }
    }
    Holder<Boolean> sucesso = new Holder<>();
    Holder<String> mensagem = new Holder<>();
    Holder<String> protocoloRecebimento = new Holder<>();
    Holder<String> dataOperacao = new Holder<>();
    Holder<byte[]> recibo = new Holder<>();
    Holder<List<TipoParametro>> parametro = new Holder<>();
    client.entregarManifestacaoProcessual(idManif, senhaManif, null, dadosBasicos, l, dataEnvio, parametros, sucesso, mensagem, protocoloRecebimento, dataOperacao, recibo, parametro);
    if (!sucesso.value)
        throw new Exception(mensagem.value);
    String numProc = null;
    String numProcFormatado = null;
    for (TipoParametro p : parametro.value) {
        if (p.getNome().equalsIgnoreCase("numerodoprocesso") || p.getNome().equalsIgnoreCase("numeroProcesso")) {
            numProc = p.getValor();
            numProcFormatado = Utils.formatarNumeroProcesso(numProc);
            break;
        }
    }
    String unidade = null;
    try {
        Future<SwaggerAsyncResponse<IUsuarioUsernameProcessoNumerosGet.Response>> future = SwaggerCall.callAsync("validar depois de petição inicial", Utils.getApiPassword(sistema), "GET", Utils.getApiUrl(sistema) + "/usuario/" + idManif + "/processo/" + numProc, null, IUsuarioUsernameProcessoNumerosGet.Response.class);
        SwaggerAsyncResponse<IUsuarioUsernameProcessoNumerosGet.Response> sar = future.get();
        if (sar.getException() != null)
            throw sar.getException();
        IUsuarioUsernameProcessoNumerosGet.Response r = (IUsuarioUsernameProcessoNumerosGet.Response) sar.getResp();
        unidade = r.list.get(0).unidade != null ? r.list.get(0).unidade.trim() : null;
    } catch (Exception ex) {
        SwaggerUtils.log(SoapMNI.class).error("Não foi possível obter a unidade", ex);
    }
    DateTime dt = DateTime.parse(dataOperacao.value, dtfMNI);
    String dataProtocoloFormatada = dt.toString(dtfBR);
    boolean sent = false;
    if (email != null) {
        try {
            String conteudo = "Prezado(a) " + nome + ",\n\nAcusamos o recebimento da petição inicial conforme dados abaixo:" + "\n\nProcesso Autuado Número: " + numProcFormatado + "\nProtocolo: " + protocoloRecebimento.value + "\nData/Hora do Protocolo: " + dataProtocoloFormatada + "\n\nAtenciosamente,\n\nTribunal Regional Federal da 2a Região";
            Correio.enviar(email, "Balcãojus: Protocolo de Petição Inicial", conteudo, numProcFormatado + "-protocolo-" + protocoloRecebimento.value + ".pdf", "application/pdf", recibo.value);
            sent = true;
        } catch (Exception ex) {
            SwaggerUtils.log(SoapMNI.class).error("Email não enviado", ex);
        }
    }
    SwaggerUtils.log(SoapMNI.class).debug("*** Processo: " + numProcFormatado + " Petição Inicial protocolada: " + protocoloRecebimento.value + " Por: " + usuario + " Email: " + email + (sent ? "" : " (email não enviado)"));
    PeticaoInicial pi = new PeticaoInicial();
    pi.mensagem = "Protocolo: " + protocoloRecebimento.value + ", Data: " + dataProtocoloFormatada + ", Processo Autuado: " + numProcFormatado + (unidade != null ? " - " + unidade : "") + (sent ? "" : " (email não enviado)");
    pi.protocolo = protocoloRecebimento.value;
    pi.data = dt.toDate();
    pi.numProcFormatado = numProcFormatado;
    pi.unidade = unidade;
    return pi;
}
Also used : SwaggerAsyncResponse(com.crivano.swaggerservlet.SwaggerAsyncResponse) ArrayList(java.util.ArrayList) ServicoIntercomunicacao222(br.jus.cnj.servico_intercomunicacao_2_2.ServicoIntercomunicacao222) DateTime(org.joda.time.DateTime) TipoPessoa(br.jus.cnj.intercomunicacao_2_2.TipoPessoa) TipoPoloProcessual(br.jus.cnj.intercomunicacao_2_2.TipoPoloProcessual) TipoParte(br.jus.cnj.intercomunicacao_2_2.TipoParte) List(java.util.List) ArrayList(java.util.ArrayList) TipoRepresentanteProcessual(br.jus.cnj.intercomunicacao_2_2.TipoRepresentanteProcessual) Path(java.nio.file.Path) TipoCabecalhoProcesso(br.jus.cnj.intercomunicacao_2_2.TipoCabecalhoProcesso) ModalidadePoloProcessual(br.jus.cnj.intercomunicacao_2_2.ModalidadePoloProcessual) TipoParte(br.jus.cnj.intercomunicacao_2_2.TipoParte) Holder(javax.xml.ws.Holder) IUsuarioUsernameProcessoNumerosGet(br.jus.trf2.sistemaprocessual.ISistemaProcessual.IUsuarioUsernameProcessoNumerosGet) Date(java.util.Date) SOAPException(javax.xml.soap.SOAPException) TransformerException(javax.xml.transform.TransformerException) PresentableUnloggedException(com.crivano.swaggerservlet.PresentableUnloggedException) TipoDocumento(br.jus.cnj.intercomunicacao_2_2.TipoDocumento) SwaggerAsyncResponse(com.crivano.swaggerservlet.SwaggerAsyncResponse) TipoQualificacaoPessoa(br.jus.cnj.intercomunicacao_2_2.TipoQualificacaoPessoa) TipoAssuntoProcessual(br.jus.cnj.intercomunicacao_2_2.TipoAssuntoProcessual) TipoParametro(br.jus.cnj.intercomunicacao_2_2.TipoParametro) JsonObject(com.google.gson.JsonObject)

Example 2 with Usuario

use of br.jus.trf2.balcaojus.AutenticarPost.Usuario in project balcaovirtual by trf2-jus-br.

the class ProcessoNumeroPdfGet method run.

@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
    String usuario = null;
    String senha = null;
    String origem = null;
    Usuario u = null;
    try {
        u = BalcaojusServlet.getPrincipal();
        UsuarioDetalhe detalhe = u.usuarios.get(req.sistema);
        if (detalhe != null) {
            usuario = u.usuario;
            senha = u.getSenha();
            origem = detalhe.origem;
        }
    } catch (Exception ex) {
    }
    if (usuario == null && (ProcessoValidarGet.isValidToken(req.token, req.numero) || u != null)) {
        usuario = BalcaojusServlet.INSTANCE.getProperty("public.username");
        senha = BalcaojusServlet.INSTANCE.getProperty("public.password");
        origem = "pub";
    }
    if (usuario == null)
        throw new PresentableUnloggedException("Usuário não possui login válido no sistema " + Utils.getName(req.sistema) + " e também não passou pelo captcha");
    resp.uuid = UUID.randomUUID().toString();
    Status.update(resp.uuid, "Aguardando na fila de tarefas", 0, 100, 0L);
    resp.jwt = DownloadJwtFilenameGet.jwt(origem, usuario, null, req.sistema, req.numero, null, null, null, null, null, null, resp.uuid);
    usuario = Utils.preprocessarId(usuario, senha, req.sistema, origem);
    senha = Utils.preprocessarSenha(usuario, senha, req.sistema, origem);
    BalcaojusServlet.submitToExecutor(new ProcessoCompleto(resp.uuid, usuario, senha, req.sistema, req.numero));
}
Also used : Usuario(br.jus.trf2.balcaojus.AutenticarPost.Usuario) PresentableUnloggedException(com.crivano.swaggerservlet.PresentableUnloggedException) PresentableUnloggedException(com.crivano.swaggerservlet.PresentableUnloggedException) UsuarioDetalhe(br.jus.trf2.balcaojus.AutenticarPost.UsuarioDetalhe)

Example 3 with Usuario

use of br.jus.trf2.balcaojus.AutenticarPost.Usuario in project balcaovirtual by trf2-jus-br.

the class ProcessoNumeroPecaIdMarcaPost method run.

@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
    Usuario u = BalcaojusServlet.getPrincipal();
    UsuarioDetalhe ud = u.usuarios.get(req.sistema.toLowerCase());
    if (ud == null)
        throw new PresentableUnloggedException("Usuário '" + u.usuario + "' não pode fazer marcações porque não foi autenticado no órgão '" + req.sistema + "'.");
    try (Dao dao = new Dao()) {
        Processo p = dao.obtemProcesso(req.numero, req.sistema, true);
        Marca m = null;
        if (req.idmarca != null)
            m = dao.find(Marca.class, Long.valueOf(req.idmarca));
        else
            m = new Marca();
        // verifica se o estilo está compatível com o usuário
        // (interno/externo)
        Estilo estilo = dao.find(Estilo.class, Long.valueOf(req.idestilo));
        if (estilo == null || (estilo.isEstiLgInterno() != u.isInterno()))
            throw new PresentableUnloggedException("Estilo inválido.");
        // verifica se o texto representa um tipo_marca_item
        List<TipoMarcaItem> l = dao.obtemTipoMarcaItens(Long.valueOf(req.idclasse));
        TipoMarcaItem tmi = null;
        String texto = req.texto;
        for (TipoMarcaItem i : l) {
            if (i.getTimiNm() != null && texto != null && texto.startsWith(i.getTimiNm())) {
                tmi = i;
                texto = texto.substring(tmi.getTimiNm().length());
                if (texto.startsWith(" - "))
                    texto = texto.substring(3);
                texto = texto.trim();
                if (texto.length() == 0)
                    texto = null;
                break;
            }
        }
        m.setMarcIdPeca(req.id);
        m.setProcesso(p);
        m.setTipoMarcaItem(tmi);
        m.setEstilo(estilo);
        m.setMarcTxConteudo(texto);
        m.setMarcNrPagInicial(req.paginicial != null ? Integer.valueOf(req.paginicial) : null);
        m.setMarcNrPagFinal(req.pagfinal != null ? Integer.valueOf(req.pagfinal) : null);
        m.setMarcLgInterno(u.isInterno());
        m.setMarcCdUsu(u.usuario);
        m.setMarcNmUsu(u.nome);
        m.setMarcIeUsu(ud.id);
        m.setMarcIeUnidade(ud.codunidade);
        m.setMarcDfAlteracao(dao.obtemData());
        dao.persist(m);
        // Produce response
        resp.marca = new br.jus.trf2.balcaojus.IBalcaojus.Marca();
        resp.marca.idmarca = Long.toString(m.getMarcId());
        resp.marca.idpeca = req.id;
        resp.marca.texto = tmi != null ? tmi.getTimiNm() + (texto != null ? " - " + texto : "") : texto;
        resp.marca.idestilo = req.idestilo;
        resp.marca.paginicial = req.paginicial;
        resp.marca.pagfinal = req.pagfinal;
    } catch (Exception e) {
        Dao.rollbackCurrentTransaction();
        throw e;
    }
}
Also used : Usuario(br.jus.trf2.balcaojus.AutenticarPost.Usuario) TipoMarcaItem(br.jus.trf2.balcaojus.model.TipoMarcaItem) PresentableUnloggedException(com.crivano.swaggerservlet.PresentableUnloggedException) Estilo(br.jus.trf2.balcaojus.model.Estilo) Processo(br.jus.trf2.balcaojus.model.Processo) Marca(br.jus.trf2.balcaojus.model.Marca) PresentableUnloggedException(com.crivano.swaggerservlet.PresentableUnloggedException) UsuarioDetalhe(br.jus.trf2.balcaojus.AutenticarPost.UsuarioDetalhe)

Example 4 with Usuario

use of br.jus.trf2.balcaojus.AutenticarPost.Usuario in project balcaovirtual by trf2-jus-br.

the class ProcessoNumeroPecaIdPdfGet method run.

@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
    String usuario = null;
    String origem;
    if (ProcessoValidarGet.isValidToken(req.token, req.numero)) {
        origem = "pub";
    } else {
        Usuario u = BalcaojusServlet.getPrincipal();
        if (u == null)
            throw new SwaggerAuthorizationException("Usuário não autenticado e token inexistente ou inválido");
        usuario = u.usuario;
        if (u.usuarios.get(req.sistema) != null)
            origem = u.usuarios.get(req.sistema).origem;
        else
            origem = "pub";
    }
    resp.jwt = DownloadJwtFilenameGet.jwt(origem, usuario, null, req.sistema, req.numero, req.id, null, null, null, null, null, null);
}
Also used : Usuario(br.jus.trf2.balcaojus.AutenticarPost.Usuario) SwaggerAuthorizationException(com.crivano.swaggerservlet.SwaggerAuthorizationException)

Example 5 with Usuario

use of br.jus.trf2.balcaojus.AutenticarPost.Usuario in project balcaovirtual by trf2-jus-br.

the class ProcessoNumeroPeticionarPost method run.

@Override
public void run(Request req, Response resp, BalcaojusContext ctx) throws Exception {
    Usuario u = BalcaojusServlet.getPrincipal();
    String mensagem = SoapMNI.enviarPeticaoIntercorrente(u.usuario, u.getSenha(), req.sistema, req.numero, req.tipopeticao, Integer.parseInt(req.nivelsigilo), req.encerraprazos, req.observacoes, req.pdfs, null);
    resp.status = mensagem;
}
Also used : Usuario(br.jus.trf2.balcaojus.AutenticarPost.Usuario)

Aggregations

Usuario (br.jus.trf2.balcaojus.AutenticarPost.Usuario)39 PresentableUnloggedException (com.crivano.swaggerservlet.PresentableUnloggedException)21 SwaggerAsyncResponse (com.crivano.swaggerservlet.SwaggerAsyncResponse)11 UsuarioDetalhe (br.jus.trf2.balcaojus.AutenticarPost.UsuarioDetalhe)10 SwaggerCallParameters (com.crivano.swaggerservlet.SwaggerCallParameters)10 SwaggerMultipleCallResult (com.crivano.swaggerservlet.SwaggerMultipleCallResult)10 HashMap (java.util.HashMap)10 Processo (br.jus.trf2.balcaojus.model.Processo)6 Date (java.util.Date)5 Nota (br.jus.trf2.balcaojus.model.Nota)4 Padrao (br.jus.trf2.balcaojus.model.Padrao)4 PresentableException (com.crivano.swaggerservlet.PresentableException)4 ProcessoValido (br.jus.trf2.balcaojus.IBalcaojus.ProcessoValido)3 Sinal (br.jus.trf2.balcaojus.model.Sinal)3 ISistemaProcessual (br.jus.trf2.sistemaprocessual.ISistemaProcessual)3 ArrayList (java.util.ArrayList)3 Aviso (br.jus.trf2.balcaojus.IBalcaojus.Aviso)2 Processo (br.jus.trf2.balcaojus.IBalcaojus.Processo)2 IUsuarioUsernameProcessoNumerosGet (br.jus.trf2.sistemaprocessual.ISistemaProcessual.IUsuarioUsernameProcessoNumerosGet)2 JsonObject (com.google.gson.JsonObject)2