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