0022564: Comporte - GLPI 37636 - Problema de criar horários em feriados cadastrados

bug#22564
dev:wilian
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@107217 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2021-06-15 12:31:18 +00:00
parent b95bbb5f67
commit 46864a96b8
2 changed files with 25 additions and 0 deletions

View File

@ -13,6 +13,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.entidad.Feriado; import com.rjconsultores.ventaboletos.entidad.Feriado;
import com.rjconsultores.ventaboletos.service.FeriadoService; import com.rjconsultores.ventaboletos.service.FeriadoService;
import com.rjconsultores.ventaboletos.utilerias.FeriadoCache;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@Service("feriadoService") @Service("feriadoService")
@ -20,6 +21,9 @@ public class FeriadoServiceImpl implements FeriadoService {
@Autowired @Autowired
private FeriadoDAO feriadoDAO; private FeriadoDAO feriadoDAO;
@Autowired
private FeriadoCache feriadoCache;
public List<Feriado> obtenerTodos() { public List<Feriado> obtenerTodos() {
return feriadoDAO.obtenerTodos(); return feriadoDAO.obtenerTodos();
@ -34,6 +38,8 @@ public class FeriadoServiceImpl implements FeriadoService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE); 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); return feriadoDAO.suscribir(entidad);
} }
@ -43,6 +49,8 @@ public class FeriadoServiceImpl implements FeriadoService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.TRUE); 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); return feriadoDAO.actualizacion(entidad);
} }
@ -52,6 +60,8 @@ public class FeriadoServiceImpl implements FeriadoService {
entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setFecmodif(Calendar.getInstance().getTime());
entidad.setActivo(Boolean.FALSE); 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); feriadoDAO.actualizacion(entidad);
} }

View File

@ -54,6 +54,21 @@ public class FeriadoCache {
mapFeriado.clear(); 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 { class KeyFeriadoMap {
private String dataFeriado; private String dataFeriado;