// FIXME tem q converter
  public Set<PautaReuniaoComissao> getProposicoes(String datIni) throws Exception {

    Set<PautaReuniaoComissao> pautas = new HashSet<PautaReuniaoComissao>();

    XStream xstreamSessao = new XStream();
    xstreamSessao.ignoreUnknownElements();

    AgendaPlenario agendaPlenario = new AgendaPlenario();

    configAgendaPlenario(xstreamSessao);
    String wsURLPlenario = "http://legis.senado.leg.br/dadosabertos/plenario/agenda/mes/" + datIni;
    Logger.getLogger(SislegisUtil.SISLEGIS_LOGGER)
        .log(Level.FINE, "Buscando dados da sessão do plenario");

    ParserFetcher.fetchXStream(wsURLPlenario, xstreamSessao, agendaPlenario);
    Comissao plenario = new Comissao();
    plenario.setSigla("PLEN");
    List<Sessao> sessoes = agendaPlenario.getSessoes();
    for (Sessao sessao : sessoes) {
      PautaReuniaoComissao pauta =
          new PautaReuniaoComissao(sessao.getData(), plenario, sessao.getCodigoSessao());

      pauta.setLinkPauta(
          "https://www25.senado.leg.br/web/atividade/sessao-plenaria/-/pauta/"
              + sessao.getCodigoSessao());
      pauta.setOrigem(Origem.SENADO);
      pauta.setTipo(sessao.tipo);
      pauta.converterSituacao(sessao.situacaoSessao);
      pauta.setTitulo(sessao.numeroSessao);

      if (sessao.materias != null) {

        for (Materia mat : sessao.materias.materias) {
          Proposicao proposicao = mat.toProposicao();
          proposicao.setComissao("PLEN");

          ProposicaoPautaComissao propPauta = new ProposicaoPautaComissao(pauta, proposicao);

          propPauta.setOrdemPauta(mat.getSequenciaOrdem());
          propPauta.setRelator(mat.getRelator());

          pauta.addProposicaoPauta(propPauta);
        }
        if (!pauta.getProposicoesDaPauta().isEmpty()) {
          Logger.getLogger(SislegisUtil.SISLEGIS_LOGGER)
              .log(Level.FINE, "pauta " + pauta + " com " + pauta.getProposicoesDaPauta().size());
          pautas.add(pauta);
        }
      }
    }

    return pautas;
  }
  @GET
  @Path("/proposicoesPautaCamara")
  @Produces("application/json")
  public List<Proposicao> buscarProposicoesPautaCamara(
      @QueryParam("idComissao") Long idComissao, @QueryParam("data") Date data) throws Exception {

    Map<String, Object> parametros = new HashMap<String, Object>();
    parametros.put("idComissao", idComissao);
    parametros.put("data", data);

    List<Proposicao> lista = proposicaoService.buscarProposicoesPautaCamaraWS(parametros);
    for (Proposicao proposicao : lista) {
      proposicao.setListaReuniaoProposicoes(new HashSet<ReuniaoProposicao>());
    }
    return lista;
  }
  @GET
  @Path("/buscarPorSufixo")
  @Produces("application/json")
  public List<ProposicaoJSON> buscarPorSufixo(@QueryParam("sufixo") String sufixo) {
    List<Proposicao> proposicoes = proposicaoService.buscarPorSufixo(sufixo);
    List<ProposicaoJSON> proposicaoJsonList = new ArrayList<ProposicaoJSON>();

    for (Proposicao proposicao : proposicoes) {
      ProposicaoJSON proposicaoJSON = new ProposicaoJSON();
      proposicaoJSON.setId(proposicao.getId());
      proposicaoJSON.setIdProposicao(proposicao.getIdProposicao());
      proposicaoJSON.setSigla(proposicao.getSigla());

      proposicaoJsonList.add(proposicaoJSON);
    }

    return proposicaoJsonList;
  }
 @POST
 @Consumes("application/json")
 public Response create(Proposicao entity) {
   service.save(entity);
   return Response.created(
           UriBuilder.fromResource(ProposicaoEndpoint.class)
               .path(String.valueOf(entity.getId()))
               .build())
       .build();
 }
Пример #5
0
  public Proposicao toProposicao() {
    Proposicao p = new Proposicao();
    if (identificacaoMateria == null) {
      identificacaoMateria = new IdentificacaoMateria();
      if (ano == null) {
        identificacaoMateria.AnoMateria = anoMateria;
        identificacaoMateria.NumeroMateria = numeroMateria;
        identificacaoMateria.SiglaSubtipoMateria = siglaMateria;
        identificacaoMateria.CodigoMateria = codigoMateria;
      } else {
        identificacaoMateria.AnoMateria = ano;
        identificacaoMateria.CodigoMateria = codigo;
        identificacaoMateria.NumeroMateria = numero;
        identificacaoMateria.SiglaSubtipoMateria = subtipo;
      }
    }
    p.setIdProposicao(identificacaoMateria.CodigoMateria);
    p.setNumero(identificacaoMateria.NumeroMateria);
    p.setAno(identificacaoMateria.AnoMateria);
    p.setTipo(identificacaoMateria.SiglaSubtipoMateria);

    if (autoresPrincipais != null && !autoresPrincipais.autores.isEmpty()) {
      AutorPrincipal autor = autoresPrincipais.autores.get(0);
      p.setAutor(autor.getDescricao());
    } else if (autoria != null && autoria.Autor != null) {
      p.setAutor(autoria.Autor.getDescricao());
    }
    p.setOrigem(Origem.SENADO);
    p.setLinkProposicao(
        "http://www.senado.leg.br/atividade/materia/detalhes.asp?p_cod_mate="
            + p.getIdProposicao());
    if (situacaoAtual == null) {
      if (situacoes == null || situacoes.situacao == null) {
        Logger.getLogger(SislegisUtil.SISLEGIS_LOGGER)
            .log(Level.FINEST, "Nao carregou a situacao atual " + p.getLinkProposicao());
      } else {
        Logger.getLogger(SislegisUtil.SISLEGIS_LOGGER)
            .log(
                Level.FINEST,
                "Nao carregou a situacao atual mas situacao foi carregada "
                    + situacoes
                    + " "
                    + situacoes.situacao);
      }
    } else if (situacaoAtual.autuacoes == null) {
      Logger.getLogger(SislegisUtil.SISLEGIS_LOGGER)
          .log(Level.FINEST, "Nao carregou autuacoes da situacao atual");
    } else if (situacaoAtual.autuacoes.autuacoes == null) {
      Logger.getLogger(SislegisUtil.SISLEGIS_LOGGER)
          .log(Level.FINEST, "Nao carregou autuacoes da situacao atual");
    } else if (!situacaoAtual.autuacoes.autuacoes.isEmpty()) {
      p.setComissao(situacaoAtual.autuacoes.autuacoes.get(0).Local.SiglaLocal);
      p.setSituacao(situacaoAtual.autuacoes.autuacoes.get(0).Situacao.SiglaSituacao);
    }
    if (DadosBasicosMateria != null) {
      p.setEmenta(DadosBasicosMateria.EmentaMateria);
    } else {
      p.setEmenta(ementa);
    }

    return p;
  }