Commit 5a2b714d3e8cc2195e1614fb30ea5083d71ea6ac
1 parent
6e272f6e
Exists in
master
and in
1 other branch
Inclui filtro no serviço listarDocumentosProcesso
Inclusão do filtro numeroInformado no serviço que lista os documentos de um determinado processo.
Showing
3 changed files
with
20 additions
and
9 deletions
Show diff stats
src/main/java/br/gov/ans/integracao/sei/dao/DocumentoDAO.java
... | ... | @@ -54,8 +54,8 @@ public class DocumentoDAO { |
54 | 54 | return query.getResultList(); |
55 | 55 | } |
56 | 56 | |
57 | - public List<DocumentoResumido> getDocumentos(String interessado, String codigoTipo, Integer pagina, Integer qtdRegistros, boolean somenteAssinados, boolean ordemCrescente, | |
58 | - boolean orderByProcesso){ | |
57 | + public List<DocumentoResumido> getDocumentos(String interessado, String codigoTipo, Integer pagina, Integer qtdRegistros, boolean somenteAssinados, | |
58 | + boolean ordemCrescente, boolean orderByProcesso){ | |
59 | 59 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
60 | 60 | |
61 | 61 | StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, "); |
... | ... | @@ -154,7 +154,7 @@ public class DocumentoDAO { |
154 | 154 | |
155 | 155 | @SuppressWarnings("unchecked") |
156 | 156 | public List<DocumentoResumido> getDocumentosProcesso(String idProcedimento, String codigoTipo, String origem, boolean somenteAssinados, |
157 | - Integer pagina, Integer qtdRegistros){ | |
157 | + String numeroInformado, Integer pagina, Integer qtdRegistros){ | |
158 | 158 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
159 | 159 | |
160 | 160 | StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, "); |
... | ... | @@ -185,6 +185,11 @@ public class DocumentoDAO { |
185 | 185 | parametros.put("origem", origem); |
186 | 186 | } |
187 | 187 | |
188 | + if(StringUtils.isNotBlank(numeroInformado)){ | |
189 | + builder.append("AND d.numero like :numeroInformado "); | |
190 | + parametros.put("numeroInformado", "%"+numeroInformado+"%"); | |
191 | + } | |
192 | + | |
188 | 193 | builder.append("GROUP BY pr.protocolo_formatado_pesquisa ORDER BY pr.dta_geracao, pr.protocolo_formatado_pesquisa ASC"); |
189 | 194 | |
190 | 195 | Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping"); |
... | ... | @@ -209,7 +214,7 @@ public class DocumentoDAO { |
209 | 214 | return documentos; |
210 | 215 | } |
211 | 216 | |
212 | - public Long countDocumentosProcesso(String idProcedimento, String codigoTipo, String origem, boolean somenteAssinados){ | |
217 | + public Long countDocumentosProcesso(String idProcedimento, String codigoTipo, String origem, boolean somenteAssinados, String numeroInformado){ | |
213 | 218 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
214 | 219 | |
215 | 220 | StringBuilder builder = new StringBuilder("SELECT count(pr.protocolo_formatado_pesquisa) "); |
... | ... | @@ -236,6 +241,11 @@ public class DocumentoDAO { |
236 | 241 | builder.append("AND pr.sta_protocolo = :origem "); |
237 | 242 | parametros.put("origem", origem); |
238 | 243 | } |
244 | + | |
245 | + if(StringUtils.isNotBlank(numeroInformado)){ | |
246 | + builder.append("AND d.numero like :numeroInformado "); | |
247 | + parametros.put("numeroInformado", "%"+numeroInformado+"%"); | |
248 | + } | |
239 | 249 | |
240 | 250 | Query query = em.createNativeQuery(builder.toString()); |
241 | 251 | ... | ... |
src/main/java/br/gov/ans/integracao/sei/rest/ProcessoResource.java
... | ... | @@ -1176,6 +1176,7 @@ public class ProcessoResource { |
1176 | 1176 | * @apiParam (Query Parameters) {String} [tipo=null] Identificador do tipo do documento, caso seja necessário filtrar pelo tipo |
1177 | 1177 | * @apiParam (Query Parameters) {String = "G (gerado/interno), R (recebido/externo)"} [origem=null] Filtra os documentos por gerados ou recebidos |
1178 | 1178 | * @apiParam (Query Parameters) {boolean} [somenteAssinados=false] Exibir somente documentos assinados |
1179 | + * @apiParam (Query Parameters) {String} [numeroInformado] Filtrar pelo número informado | |
1179 | 1180 | * @apiParam (Query Parameters) {String} [pagina=1] Número da página |
1180 | 1181 | * @apiParam (Query Parameters) {String} [qtdRegistros = 50] Quantidade de registros que serão exibidos por página |
1181 | 1182 | * |
... | ... | @@ -1222,20 +1223,20 @@ public class ProcessoResource { |
1222 | 1223 | @Path("/processos/{processo:\\d+}/documentos") |
1223 | 1224 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) |
1224 | 1225 | public Response listarDocumentosPorProcesso(@PathParam("processo") String processo, @QueryParam("tipo")String tipo, |
1225 | - @QueryParam("origem") String origem, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("pagina") String pagina, | |
1226 | - @QueryParam("qtdRegistros") String qtdRegistros)throws RemoteException, Exception{ | |
1226 | + @QueryParam("origem") String origem, @QueryParam("somenteAssinados") boolean somenteAssinados, @QueryParam("numeroInformado") String numeroInformado, | |
1227 | + @QueryParam("pagina") String pagina, @QueryParam("qtdRegistros") String qtdRegistros)throws RemoteException, Exception{ | |
1227 | 1228 | |
1228 | 1229 | Integer tamanhoPagina = (qtdRegistros == null ? null : parseInt(qtdRegistros)); |
1229 | 1230 | |
1230 | 1231 | String idProcedimento = consultarIdProcedimento(processo); |
1231 | 1232 | |
1232 | - Long totalDocumentosProcesso = documentoDAO.countDocumentosProcesso(idProcedimento, tipo, origem, somenteAssinados); | |
1233 | + Long totalDocumentosProcesso = documentoDAO.countDocumentosProcesso(idProcedimento, tipo, origem, somenteAssinados, numeroInformado); | |
1233 | 1234 | |
1234 | 1235 | if(totalDocumentosProcesso < 1L){ |
1235 | 1236 | throw new ResourceNotFoundException(messages.getMessage("erro.processo.sem.documentos", formatarNumeroProcesso(processo))); |
1236 | 1237 | } |
1237 | 1238 | |
1238 | - List<DocumentoResumido> documentosProcesso = documentoDAO.getDocumentosProcesso(idProcedimento, tipo, origem, somenteAssinados, | |
1239 | + List<DocumentoResumido> documentosProcesso = documentoDAO.getDocumentosProcesso(idProcedimento, tipo, origem, somenteAssinados, numeroInformado, | |
1239 | 1240 | pagina == null ? null : parseInt(pagina), tamanhoPagina); |
1240 | 1241 | |
1241 | 1242 | return Response.status(getStatus(totalDocumentosProcesso.intValue(), tamanhoPagina)).header("total_registros", totalDocumentosProcesso) | ... | ... |
src/main/resources/META-INF/persistence.xml
... | ... | @@ -30,7 +30,7 @@ |
30 | 30 | <properties> |
31 | 31 | <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> |
32 | 32 | <property name="hibernate.show_sql" value="false" /> |
33 | - <property name="hibernate.format_sql" value="false"/> | |
33 | + <property name="hibernate.format_sql" value="true"/> | |
34 | 34 | <property name="hibernate.connection.charSet" value="UTF-8" /> |
35 | 35 | </properties> |
36 | 36 | </persistence-unit> | ... | ... |