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,6 +3,7 @@ package br.com.centralit.api.job; | ||
3 | import java.math.BigDecimal; | 3 | import java.math.BigDecimal; |
4 | import java.util.Arrays; | 4 | import java.util.Arrays; |
5 | import java.util.Collection; | 5 | import java.util.Collection; |
6 | +import java.util.Date; | ||
6 | import java.util.List; | 7 | import java.util.List; |
7 | 8 | ||
8 | import org.apache.commons.logging.Log; | 9 | import org.apache.commons.logging.Log; |
@@ -21,11 +22,13 @@ import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoGrupoSer | @@ -21,11 +22,13 @@ import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoGrupoSer | ||
21 | import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoService; | 22 | import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoService; |
22 | import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoUsuarioService; | 23 | import br.com.centralit.api.service.ConfiguracaoNotificacaoRessuprimentoUsuarioService; |
23 | import br.com.centralit.api.service.MaterialConsumoService; | 24 | import br.com.centralit.api.service.MaterialConsumoService; |
25 | +import br.com.centralit.api.service.NotificacaoService; | ||
24 | import br.com.centralit.api.service.NotificacaoUsuarioService; | 26 | import br.com.centralit.api.service.NotificacaoUsuarioService; |
25 | import br.com.centralit.api.service.impl.NotificacaoGrupoService; | 27 | import br.com.centralit.api.service.impl.NotificacaoGrupoService; |
26 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; | 28 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
27 | import br.com.centralit.framework.mail.HTMLMail; | 29 | import br.com.centralit.framework.mail.HTMLMail; |
28 | import br.com.centralit.framework.model.Filter; | 30 | import br.com.centralit.framework.model.Filter; |
31 | +import br.com.centralit.framework.model.Notificacao; | ||
29 | import br.com.centralit.framework.model.NotificacaoGrupo; | 32 | import br.com.centralit.framework.model.NotificacaoGrupo; |
30 | import br.com.centralit.framework.model.NotificacaoUsuario; | 33 | import br.com.centralit.framework.model.NotificacaoUsuario; |
31 | import br.com.centralit.framework.model.SearchParams; | 34 | import br.com.centralit.framework.model.SearchParams; |
@@ -86,6 +89,8 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -86,6 +89,8 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
86 | 89 | ||
87 | /** Atributo notificacaoGrupoService. */ | 90 | /** Atributo notificacaoGrupoService. */ |
88 | private NotificacaoGrupoService notificacaoGrupoService; | 91 | private NotificacaoGrupoService notificacaoGrupoService; |
92 | + | ||
93 | + private NotificacaoService notificacaoService; | ||
89 | 94 | ||
90 | /** Atributo urlScheme. */ | 95 | /** Atributo urlScheme. */ |
91 | String urlScheme; | 96 | String urlScheme; |
@@ -126,6 +131,8 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -126,6 +131,8 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
126 | this.notificacaoUsuarioService = (NotificacaoUsuarioService) context.getScheduler().getContext().get("notificacaoUsuarioService"); | 131 | this.notificacaoUsuarioService = (NotificacaoUsuarioService) context.getScheduler().getContext().get("notificacaoUsuarioService"); |
127 | 132 | ||
128 | this.notificacaoGrupoService = (NotificacaoGrupoService) context.getScheduler().getContext().get("notificacaoGrupoService"); | 133 | this.notificacaoGrupoService = (NotificacaoGrupoService) context.getScheduler().getContext().get("notificacaoGrupoService"); |
134 | + | ||
135 | + this.notificacaoService = (NotificacaoService) context.getScheduler().getContext().get("notificacaoService"); | ||
129 | 136 | ||
130 | } catch (final SchedulerException e) { | 137 | } catch (final SchedulerException e) { |
131 | e.printStackTrace(); | 138 | e.printStackTrace(); |
@@ -176,7 +183,7 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -176,7 +183,7 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
176 | params.setStart(0); | 183 | params.setStart(0); |
177 | params.setLimit(Integer.MAX_VALUE); | 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 | List<Object> search = this.notificacaoGrupoService.search(new SearchSeven(params)); | 188 | List<Object> search = this.notificacaoGrupoService.search(new SearchSeven(params)); |
182 | 189 | ||
@@ -190,6 +197,11 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -190,6 +197,11 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
190 | 197 | ||
191 | }else{ | 198 | }else{ |
192 | Object[] values = (Object[]) search.get(0); | 199 | Object[] values = (Object[]) search.get(0); |
200 | + | ||
201 | + if(values[3] != null){ | ||
202 | + this.notificacaoService.adiar(configuracao.getNotificacao().getId()); | ||
203 | + } | ||
204 | + | ||
193 | emailDestinatario = (String) values[0]; | 205 | emailDestinatario = (String) values[0]; |
194 | nomeDestinatario = (String) values[1]; | 206 | nomeDestinatario = (String) values[1]; |
195 | mensagem = (String) values[2]; | 207 | mensagem = (String) values[2]; |
@@ -199,7 +211,7 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -199,7 +211,7 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
199 | this.notificacaoUsuarioService.sendNotificacaoEmailGrupo(emailDestinatario, nomeDestinatario, mensagem); | 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,17 +224,16 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
212 | 224 | ||
213 | SearchParams params = new SearchParams(); | 225 | SearchParams params = new SearchParams(); |
214 | params.setFilters(Arrays.asList(new Filter[]{new Filter("notificacao.id", ConstantsQuery.TYPE_NUMERIC, | 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 | params.setStart(0); | 229 | params.setStart(0); |
220 | params.setLimit(Integer.MAX_VALUE); | 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 | List<Object> search = this.notificacaoUsuarioService.search(new SearchSeven(params)); | 232 | List<Object> search = this.notificacaoUsuarioService.search(new SearchSeven(params)); |
223 | 233 | ||
224 | if(UtilColecao.isVazio(search)){ | 234 | if(UtilColecao.isVazio(search)){ |
225 | - notificacaoUsuario = new NotificacaoUsuario(configuracao.getNotificacao(), configuracaoUsuario.getUsuario()); | 235 | + |
236 | + notificacaoUsuario = new NotificacaoUsuario(configuracao.getNotificacao(), configuracaoUsuario.getUsuario()); | ||
226 | this.notificacaoUsuarioService.save(notificacaoUsuario); | 237 | this.notificacaoUsuarioService.save(notificacaoUsuario); |
227 | 238 | ||
228 | emailDestinatario = notificacaoUsuario.getUsuario().getEmail(); | 239 | emailDestinatario = notificacaoUsuario.getUsuario().getEmail(); |
@@ -231,6 +242,11 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -231,6 +242,11 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
231 | 242 | ||
232 | }else{ | 243 | }else{ |
233 | Object[] values = (Object[]) search.get(0); | 244 | Object[] values = (Object[]) search.get(0); |
245 | + | ||
246 | + if(values[3] != null){ | ||
247 | + this.notificacaoService.adiar(configuracao.getNotificacao().getId()); | ||
248 | + } | ||
249 | + | ||
234 | emailDestinatario = (String) values[0]; | 250 | emailDestinatario = (String) values[0]; |
235 | nomeDestinatario = (String) values[1]; | 251 | nomeDestinatario = (String) values[1]; |
236 | mensagem = (String) values[2]; | 252 | mensagem = (String) values[2]; |
@@ -240,7 +256,7 @@ public class NotificacaoRessuprimentoJob implements Job { | @@ -240,7 +256,7 @@ public class NotificacaoRessuprimentoJob implements Job { | ||
240 | this.notificacaoUsuarioService.sendNotificacaoEmailGrupo(emailDestinatario, nomeDestinatario, mensagem); | 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,8 +425,12 @@ public class ConfiguracaoNotificacaoRessuprimentoServiceImpl extends GenericServ | ||
425 | 425 | ||
426 | mensagemConfiguracao.append(ESTOQUE).append(config.getLocalEstoque().getAlmoxarifado().getCodigoENome()) | 426 | mensagemConfiguracao.append(ESTOQUE).append(config.getLocalEstoque().getAlmoxarifado().getCodigoENome()) |
427 | .append(MATERIAL).append(config.getMaterialConsumo().getCodigoEDescricao()) | 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 | return mensagemConfiguracao.toString(); | 435 | return mensagemConfiguracao.toString(); |
432 | } | 436 | } |