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> | ... | ... |