diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FeriadoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FeriadoServiceImpl.java index 103a67e53..11f17b0b1 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FeriadoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FeriadoServiceImpl.java @@ -13,6 +13,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.Feriado; import com.rjconsultores.ventaboletos.service.FeriadoService; +import com.rjconsultores.ventaboletos.utilerias.FeriadoCache; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Service("feriadoService") @@ -20,6 +21,9 @@ public class FeriadoServiceImpl implements FeriadoService { @Autowired private FeriadoDAO feriadoDAO; + + @Autowired + private FeriadoCache feriadoCache; public List obtenerTodos() { return feriadoDAO.obtenerTodos(); @@ -34,6 +38,8 @@ public class FeriadoServiceImpl implements FeriadoService { entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.TRUE); + + feriadoCache.limparData(entidad.getFecferiado(), entidad.getEmpresa() == null ? null : entidad.getEmpresa().getEmpresaId(), entidad.getEstado() == null ? null : entidad.getEstado().getEstadoId()); return feriadoDAO.suscribir(entidad); } @@ -43,6 +49,8 @@ public class FeriadoServiceImpl implements FeriadoService { entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.TRUE); + + feriadoCache.limparData(entidad.getFecferiado(), entidad.getEmpresa() == null ? null : entidad.getEmpresa().getEmpresaId(), entidad.getEstado() == null ? null : entidad.getEstado().getEstadoId()); return feriadoDAO.actualizacion(entidad); } @@ -52,6 +60,8 @@ public class FeriadoServiceImpl implements FeriadoService { entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.FALSE); + + feriadoCache.limparData(entidad.getFecferiado(), entidad.getEmpresa() == null ? null : entidad.getEmpresa().getEmpresaId(), entidad.getEstado() == null ? null : entidad.getEstado().getEstadoId()); feriadoDAO.actualizacion(entidad); } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/FeriadoCache.java b/src/com/rjconsultores/ventaboletos/utilerias/FeriadoCache.java index c110849f2..f507e91fc 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/FeriadoCache.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/FeriadoCache.java @@ -54,6 +54,21 @@ public class FeriadoCache { mapFeriado.clear(); } + + public void limparData(Date dataFeriado, Integer empresaId, Integer estadoId) { + try { + SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); + String strDataFeriado = sdf.format(dataFeriado); + + log.info(String.format("Removendo feriado, data: "+ strDataFeriado +", empresaId: "+ empresaId+", estadoId: " + estadoId)); + + KeyFeriadoMap key = new KeyFeriadoMap(strDataFeriado, empresaId, estadoId); + + mapFeriado.remove(key); + } catch (Exception e) { + log.error("Erro ao remover Deriado de cache: ", e); + } + } class KeyFeriadoMap { private String dataFeriado;