Commit d8ad23e3e0b3dc46e6c6c4a69705b0997b004cd0
1 parent
478c9dca
Exists in
master
[Redmine Atendimento #4576]Notificação Ressuprimento
Showing
2 changed files
with
29 additions
and
9 deletions
Show diff stats
cit-almoxarifado-api/src/main/java/br/com/centralit/api/job/NotificacaoRessuprimentoJob.java
... | ... | @@ -3,6 +3,7 @@ package br.com.centralit.api.job; |
3 | 3 | import java.math.BigDecimal; |
4 | 4 | import java.util.Arrays; |
5 | 5 | import java.util.Collection; |
6 | +import java.util.Date; | |
6 | 7 | import java.util.List; |
7 | 8 | |
8 | 9 | import org.apache.commons.logging.Log; |
... | ... | @@ -21,11 +22,13 @@ import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoGrupoSer |
21 | 22 | import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoService; |
22 | 23 | import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoUsuarioService; |
23 | 24 | import br.com.centralit.api.service.MaterialConsumoService; |
25 | +import br.com.centralit.api.service.NotificacaoService; | |
24 | 26 | import br.com.centralit.api.service.NotificacaoUsuarioService; |
25 | 27 | import br.com.centralit.api.service.impl.NotificacaoGrupoService; |
26 | 28 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
27 | 29 | import br.com.centralit.framework.mail.HTMLMail; |
28 | 30 | import br.com.centralit.framework.model.Filter; |
31 | +import br.com.centralit.framework.model.Notificacao; | |
29 | 32 | import br.com.centralit.framework.model.NotificacaoGrupo; |
30 | 33 | import br.com.centralit.framework.model.NotificacaoUsuario; |
31 | 34 | import br.com.centralit.framework.model.SearchParams; |
... | ... | @@ -86,6 +89,8 @@ public class NotificacaoRessuprimentoJob implements Job { |
86 | 89 | |
87 | 90 | /** Atributo notificacaoGrupoService. */ |
88 | 91 | private NotificacaoGrupoService notificacaoGrupoService; |
92 | + | |
93 | + private NotificacaoService notificacaoService; | |
89 | 94 | |
90 | 95 | /** Atributo urlScheme. */ |
91 | 96 | String urlScheme; |
... | ... | @@ -126,6 +131,8 @@ public class NotificacaoRessuprimentoJob implements Job { |
126 | 131 | this.notificacaoUsuarioService = (NotificacaoUsuarioService) context.getScheduler().getContext().get("notificacaoUsuarioService"); |
127 | 132 | |
128 | 133 | this.notificacaoGrupoService = (NotificacaoGrupoService) context.getScheduler().getContext().get("notificacaoGrupoService"); |
134 | + | |
135 | + this.notificacaoService = (NotificacaoService) context.getScheduler().getContext().get("notificacaoService"); | |
129 | 136 | |
130 | 137 | } catch (final SchedulerException e) { |
131 | 138 | e.printStackTrace(); |
... | ... | @@ -176,7 +183,7 @@ public class NotificacaoRessuprimentoJob implements Job { |
176 | 183 | params.setStart(0); |
177 | 184 | params.setLimit(Integer.MAX_VALUE); |
178 | 185 | |
179 | - params.setFields(Arrays.asList(new String[]{"grupo.email", "grupo.nome", "notificacao.mensagem"})); | |
186 | + params.setFields(Arrays.asList(new String[]{"grupo.email", "grupo.nome", "notificacao.mensagem", "notificacao.dataVisualizacao"})); | |
180 | 187 | |
181 | 188 | List<Object> search = this.notificacaoGrupoService.search(new SearchSeven(params)); |
182 | 189 | |
... | ... | @@ -190,6 +197,11 @@ public class NotificacaoRessuprimentoJob implements Job { |
190 | 197 | |
191 | 198 | }else{ |
192 | 199 | Object[] values = (Object[]) search.get(0); |
200 | + | |
201 | + if(values[3] != null){ | |
202 | + this.notificacaoService.adiar(configuracao.getNotificacao().getId()); | |
203 | + } | |
204 | + | |
193 | 205 | emailDestinatario = (String) values[0]; |
194 | 206 | nomeDestinatario = (String) values[1]; |
195 | 207 | mensagem = (String) values[2]; |
... | ... | @@ -199,7 +211,7 @@ public class NotificacaoRessuprimentoJob implements Job { |
199 | 211 | this.notificacaoUsuarioService.sendNotificacaoEmailGrupo(emailDestinatario, nomeDestinatario, mensagem); |
200 | 212 | } |
201 | 213 | |
202 | - NotificacaoRessuprimentoJob.logger.info("Inclusão da Notificação para o grupo: " + configuracaoGrupo.getGrupo().getNome()); | |
214 | + NotificacaoRessuprimentoJob.logger.info("Inclusão da Notificação para o grupo: " + configuracaoGrupo.getGrupo().getNome() + new Date()); | |
203 | 215 | } |
204 | 216 | |
205 | 217 | } |
... | ... | @@ -212,17 +224,16 @@ public class NotificacaoRessuprimentoJob implements Job { |
212 | 224 | |
213 | 225 | SearchParams params = new SearchParams(); |
214 | 226 | params.setFilters(Arrays.asList(new Filter[]{new Filter("notificacao.id", ConstantsQuery.TYPE_NUMERIC, |
215 | - configuracao.getNotificacao().getId().toString(), ConstantsQuery.COMPARE_EQUALS), | |
216 | - new Filter("notificacao.dataVisualizacao", ConstantsQuery.TYPE_DATE, null, ConstantsQuery.COMPARE_EMPTY), | |
217 | - new Filter("notificacao.mensagem", ConstantsQuery.TYPE_STRING, configuracao.getNotificacao().getMensagem(), ConstantsQuery.COMPARE_EQUALS)})); | |
227 | + configuracao.getNotificacao().getId().toString(), ConstantsQuery.COMPARE_EQUALS)})); | |
218 | 228 | |
219 | 229 | params.setStart(0); |
220 | 230 | params.setLimit(Integer.MAX_VALUE); |
221 | - params.setFields(Arrays.asList(new String[]{"usuario.email", "usuario.username", "notificacao.mensagem"})); | |
231 | + params.setFields(Arrays.asList(new String[]{"usuario.email", "usuario.username", "notificacao.mensagem", "notificacao.dataVisualizacao"})); | |
222 | 232 | List<Object> search = this.notificacaoUsuarioService.search(new SearchSeven(params)); |
223 | 233 | |
224 | 234 | if(UtilColecao.isVazio(search)){ |
225 | - notificacaoUsuario = new NotificacaoUsuario(configuracao.getNotificacao(), configuracaoUsuario.getUsuario()); | |
235 | + | |
236 | + notificacaoUsuario = new NotificacaoUsuario(configuracao.getNotificacao(), configuracaoUsuario.getUsuario()); | |
226 | 237 | this.notificacaoUsuarioService.save(notificacaoUsuario); |
227 | 238 | |
228 | 239 | emailDestinatario = notificacaoUsuario.getUsuario().getEmail(); |
... | ... | @@ -231,6 +242,11 @@ public class NotificacaoRessuprimentoJob implements Job { |
231 | 242 | |
232 | 243 | }else{ |
233 | 244 | Object[] values = (Object[]) search.get(0); |
245 | + | |
246 | + if(values[3] != null){ | |
247 | + this.notificacaoService.adiar(configuracao.getNotificacao().getId()); | |
248 | + } | |
249 | + | |
234 | 250 | emailDestinatario = (String) values[0]; |
235 | 251 | nomeDestinatario = (String) values[1]; |
236 | 252 | mensagem = (String) values[2]; |
... | ... | @@ -240,7 +256,7 @@ public class NotificacaoRessuprimentoJob implements Job { |
240 | 256 | this.notificacaoUsuarioService.sendNotificacaoEmailGrupo(emailDestinatario, nomeDestinatario, mensagem); |
241 | 257 | } |
242 | 258 | |
243 | - NotificacaoRessuprimentoJob.logger.info("Inclusão da Notificação para o usuario:" + configuracaoUsuario.getUsuario().getUsername()); | |
259 | + NotificacaoRessuprimentoJob.logger.info("Inclusão da Notificação para o usuario:" + configuracaoUsuario.getUsuario().getUsername() + new Date()); | |
244 | 260 | } |
245 | 261 | } |
246 | 262 | ... | ... |
cit-almoxarifado-api/src/main/java/br/com/centralit/api/service/impl/ConfiguracaoNotificacaoRessuprimentoServiceImpl.java
... | ... | @@ -425,8 +425,12 @@ public class ConfiguracaoNotificacaoRessuprimentoServiceImpl extends GenericServ |
425 | 425 | |
426 | 426 | mensagemConfiguracao.append(ESTOQUE).append(config.getLocalEstoque().getAlmoxarifado().getCodigoENome()) |
427 | 427 | .append(MATERIAL).append(config.getMaterialConsumo().getCodigoEDescricao()) |
428 | - .append(QUANTIDADE).append(qtdMaterialEstoque).append("<br/>"); | |
428 | + .append(QUANTIDADE).append(qtdMaterialEstoque).append("<br/><br/>"); | |
429 | 429 | } |
430 | + | |
431 | + mensagemConfiguracao.append("<b style='color : red; font-weight : bold;'>"); | |
432 | + mensagemConfiguracao.append(config.getNotificacao().getMensagem()); | |
433 | + mensagemConfiguracao.append("</b>"); | |
430 | 434 | |
431 | 435 | return mensagemConfiguracao.toString(); |
432 | 436 | } | ... | ... |