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,8 +54,8 @@ public class DocumentoDAO { | ||
54 | return query.getResultList(); | 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 | HashMap<String, Object> parametros = new HashMap<String, Object>(); | 59 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
60 | 60 | ||
61 | StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, "); | 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,7 +154,7 @@ public class DocumentoDAO { | ||
154 | 154 | ||
155 | @SuppressWarnings("unchecked") | 155 | @SuppressWarnings("unchecked") |
156 | public List<DocumentoResumido> getDocumentosProcesso(String idProcedimento, String codigoTipo, String origem, boolean somenteAssinados, | 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 | HashMap<String, Object> parametros = new HashMap<String, Object>(); | 158 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
159 | 159 | ||
160 | StringBuilder builder = new StringBuilder("SELECT pr.protocolo_formatado_pesquisa numero, s.nome tipoNome, s.id_serie tipoCodigo, d.numero numeroInformado, "); | 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,6 +185,11 @@ public class DocumentoDAO { | ||
185 | parametros.put("origem", origem); | 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 | builder.append("GROUP BY pr.protocolo_formatado_pesquisa ORDER BY pr.dta_geracao, pr.protocolo_formatado_pesquisa ASC"); | 193 | builder.append("GROUP BY pr.protocolo_formatado_pesquisa ORDER BY pr.dta_geracao, pr.protocolo_formatado_pesquisa ASC"); |
189 | 194 | ||
190 | Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping"); | 195 | Query query = em.createNativeQuery(builder.toString(), "DocumentoResumidoMapping"); |
@@ -209,7 +214,7 @@ public class DocumentoDAO { | @@ -209,7 +214,7 @@ public class DocumentoDAO { | ||
209 | return documentos; | 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 | HashMap<String, Object> parametros = new HashMap<String, Object>(); | 218 | HashMap<String, Object> parametros = new HashMap<String, Object>(); |
214 | 219 | ||
215 | StringBuilder builder = new StringBuilder("SELECT count(pr.protocolo_formatado_pesquisa) "); | 220 | StringBuilder builder = new StringBuilder("SELECT count(pr.protocolo_formatado_pesquisa) "); |
@@ -236,6 +241,11 @@ public class DocumentoDAO { | @@ -236,6 +241,11 @@ public class DocumentoDAO { | ||
236 | builder.append("AND pr.sta_protocolo = :origem "); | 241 | builder.append("AND pr.sta_protocolo = :origem "); |
237 | parametros.put("origem", origem); | 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 | Query query = em.createNativeQuery(builder.toString()); | 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,6 +1176,7 @@ public class ProcessoResource { | ||
1176 | * @apiParam (Query Parameters) {String} [tipo=null] Identificador do tipo do documento, caso seja necessário filtrar pelo tipo | 1176 | * @apiParam (Query Parameters) {String} [tipo=null] Identificador do tipo do documento, caso seja necessário filtrar pelo tipo |
1177 | * @apiParam (Query Parameters) {String = "G (gerado/interno), R (recebido/externo)"} [origem=null] Filtra os documentos por gerados ou recebidos | 1177 | * @apiParam (Query Parameters) {String = "G (gerado/interno), R (recebido/externo)"} [origem=null] Filtra os documentos por gerados ou recebidos |
1178 | * @apiParam (Query Parameters) {boolean} [somenteAssinados=false] Exibir somente documentos assinados | 1178 | * @apiParam (Query Parameters) {boolean} [somenteAssinados=false] Exibir somente documentos assinados |
1179 | + * @apiParam (Query Parameters) {String} [numeroInformado] Filtrar pelo número informado | ||
1179 | * @apiParam (Query Parameters) {String} [pagina=1] Número da página | 1180 | * @apiParam (Query Parameters) {String} [pagina=1] Número da página |
1180 | * @apiParam (Query Parameters) {String} [qtdRegistros = 50] Quantidade de registros que serão exibidos por página | 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,20 +1223,20 @@ public class ProcessoResource { | ||
1222 | @Path("/processos/{processo:\\d+}/documentos") | 1223 | @Path("/processos/{processo:\\d+}/documentos") |
1223 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) | 1224 | @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) |
1224 | public Response listarDocumentosPorProcesso(@PathParam("processo") String processo, @QueryParam("tipo")String tipo, | 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 | Integer tamanhoPagina = (qtdRegistros == null ? null : parseInt(qtdRegistros)); | 1229 | Integer tamanhoPagina = (qtdRegistros == null ? null : parseInt(qtdRegistros)); |
1229 | 1230 | ||
1230 | String idProcedimento = consultarIdProcedimento(processo); | 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 | if(totalDocumentosProcesso < 1L){ | 1235 | if(totalDocumentosProcesso < 1L){ |
1235 | throw new ResourceNotFoundException(messages.getMessage("erro.processo.sem.documentos", formatarNumeroProcesso(processo))); | 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 | pagina == null ? null : parseInt(pagina), tamanhoPagina); | 1240 | pagina == null ? null : parseInt(pagina), tamanhoPagina); |
1240 | 1241 | ||
1241 | return Response.status(getStatus(totalDocumentosProcesso.intValue(), tamanhoPagina)).header("total_registros", totalDocumentosProcesso) | 1242 | return Response.status(getStatus(totalDocumentosProcesso.intValue(), tamanhoPagina)).header("total_registros", totalDocumentosProcesso) |
src/main/resources/META-INF/persistence.xml
@@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
30 | <properties> | 30 | <properties> |
31 | <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> | 31 | <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> |
32 | <property name="hibernate.show_sql" value="false" /> | 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 | <property name="hibernate.connection.charSet" value="UTF-8" /> | 34 | <property name="hibernate.connection.charSet" value="UTF-8" /> |
35 | </properties> | 35 | </properties> |
36 | </persistence-unit> | 36 | </persistence-unit> |