Search in sources :

Example 1 with TipoDocumento

use of br.jus.cnj.intercomunicacao_2_2.TipoDocumento 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 TipoDocumento

use of br.jus.cnj.intercomunicacao_2_2.TipoDocumento in project balcaovirtual by trf2-jus-br.

the class SoapMNI method enviarPeticaoIntercorrente.

public static String enviarPeticaoIntercorrente(String idConsultante, String senhaConsultante, String sistema, String numProc, String tpDoc, int nvlSigilo, String encerraPrazos, String observacoes, String nomePdfs, byte[] pdf) 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");
    if (nomePdfs == null && pdf == null)
        throw new Exception("Não é possível peticionar sem que seja fornecido um PDF");
    String numProcFormated = Utils.formatarNumeroProcesso(numProc);
    String dataEnvio = new DateTime(new Date()).toString("yyyyMMddHHmmss");
    String dirFinal = Utils.getDirFinal();
    ServicoIntercomunicacao222 client = getClient(sistema);
    List<TipoDocumento> l = new ArrayList<>();
    if (nomePdfs != null) {
        for (String nomePdf : nomePdfs.split(",")) {
            TipoDocumento doc = new TipoDocumento();
            doc.setMimetype("application/pdf");
            doc.setDataHora(dataEnvio);
            doc.setNivelSigilo(nvlSigilo == 0 ? 0 : 5);
            doc.setTipoDocumento(tpDoc);
            Path path = Paths.get(dirFinal + "/" + nomePdf + ".pdf");
            byte[] data = Files.readAllBytes(path);
            doc.setConteudo(data);
            if (observacoes != null) {
                TipoParametro obs = new TipoParametro();
                obs.setNome("ObsDocumento");
                obs.setValor(Texto.removeAcento(observacoes));
                doc.getOutroParametro().add(obs);
            }
            l.add(doc);
        }
    }
    if (pdf != null) {
        TipoDocumento doc = new TipoDocumento();
        doc.setMimetype("application/pdf");
        doc.setDataHora(dataEnvio);
        doc.setNivelSigilo(0);
        doc.setTipoDocumento(tpDoc);
        doc.setConteudo(pdf);
        l.add(doc);
    }
    TipoCabecalhoProcesso dadosBasicos = new TipoCabecalhoProcesso();
    dadosBasicos.setCodigoLocalidade("1");
    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<>();
    ArrayList<TipoParametro> parametros = new ArrayList<TipoParametro>();
    if (encerraPrazos != null) {
        String[] ieps = encerraPrazos.split(",");
        for (String iep : ieps) {
            TipoParametro identEncerraPrazos = new TipoParametro();
            identEncerraPrazos.setNome("identificadorComunicacao");
            identEncerraPrazos.setValor(iep);
            parametros.add(identEncerraPrazos);
        }
        TipoParametro abrirPrazoAutomaticamente = new TipoParametro();
        abrirPrazoAutomaticamente.setNome("abrirPrazoAutomaticamente");
        abrirPrazoAutomaticamente.setValor("true");
        parametros.add(abrirPrazoAutomaticamente);
    }
    client.entregarManifestacaoProcessual(idConsultante, senhaConsultante, numProc, null, l, dataEnvio, parametros, sucesso, mensagem, protocoloRecebimento, dataOperacao, recibo, parametro);
    if (!sucesso.value)
        throw new Exception(mensagem.value);
    DateTime dt = DateTime.parse(dataOperacao.value, dtfMNI);
    boolean sent = false;
    if (email != null) {
        try {
            String conteudo = "Prezado(a) " + nome + ",\n\nAcusamos o recebimento da petição intercorrente conforme dados abaixo:" + "\n\nProcesso Número: " + numProcFormated + "\nProtocolo: " + protocoloRecebimento.value + "\nData/Hora do Protocolo: " + dt.toString(dtfBR) + "\n\nAtenciosamente,\n\nTribunal Regional Federal da 2a Região";
            Correio.enviar(email, "Balcãojus: Protocolo de Petição Intercorrente", conteudo, numProcFormated + "-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: " + numProcFormated + " Petição Intercorrente protocolada: " + protocoloRecebimento.value + " Por: " + usuario + " Email: " + email + (sent ? "" : " (email não enviado)"));
    return "Protocolo: " + protocoloRecebimento.value + ", Data: " + dt.toString(dtfBR) + (sent ? "" : " (email não enviado)");
}
Also used : ArrayList(java.util.ArrayList) ServicoIntercomunicacao222(br.jus.cnj.servico_intercomunicacao_2_2.ServicoIntercomunicacao222) DateTime(org.joda.time.DateTime) List(java.util.List) ArrayList(java.util.ArrayList) Path(java.nio.file.Path) TipoCabecalhoProcesso(br.jus.cnj.intercomunicacao_2_2.TipoCabecalhoProcesso) Holder(javax.xml.ws.Holder) SOAPException(javax.xml.soap.SOAPException) TransformerException(javax.xml.transform.TransformerException) PresentableUnloggedException(com.crivano.swaggerservlet.PresentableUnloggedException) Date(java.util.Date) TipoDocumento(br.jus.cnj.intercomunicacao_2_2.TipoDocumento) TipoParametro(br.jus.cnj.intercomunicacao_2_2.TipoParametro) JsonObject(com.google.gson.JsonObject)

Aggregations

TipoCabecalhoProcesso (br.jus.cnj.intercomunicacao_2_2.TipoCabecalhoProcesso)2 TipoDocumento (br.jus.cnj.intercomunicacao_2_2.TipoDocumento)2 TipoParametro (br.jus.cnj.intercomunicacao_2_2.TipoParametro)2 ServicoIntercomunicacao222 (br.jus.cnj.servico_intercomunicacao_2_2.ServicoIntercomunicacao222)2 PresentableUnloggedException (com.crivano.swaggerservlet.PresentableUnloggedException)2 JsonObject (com.google.gson.JsonObject)2 Path (java.nio.file.Path)2 ArrayList (java.util.ArrayList)2 Date (java.util.Date)2 List (java.util.List)2 SOAPException (javax.xml.soap.SOAPException)2 TransformerException (javax.xml.transform.TransformerException)2 Holder (javax.xml.ws.Holder)2 DateTime (org.joda.time.DateTime)2 ModalidadePoloProcessual (br.jus.cnj.intercomunicacao_2_2.ModalidadePoloProcessual)1 TipoAssuntoProcessual (br.jus.cnj.intercomunicacao_2_2.TipoAssuntoProcessual)1 TipoParte (br.jus.cnj.intercomunicacao_2_2.TipoParte)1 TipoPessoa (br.jus.cnj.intercomunicacao_2_2.TipoPessoa)1 TipoPoloProcessual (br.jus.cnj.intercomunicacao_2_2.TipoPoloProcessual)1 TipoQualificacaoPessoa (br.jus.cnj.intercomunicacao_2_2.TipoQualificacaoPessoa)1