// 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(); }
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; }