package br.com.centralit.citcorpore.quartz.job; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import br.com.centralit.citcorpore.bean.EventoGrupoDTO; import br.com.centralit.citcorpore.bean.EventoItemConfigRelDTO; import br.com.centralit.citcorpore.bean.GrupoItemConfiguracaoDTO; import br.com.centralit.citcorpore.bean.ItemConfigEventoDTO; import br.com.centralit.citcorpore.bean.ItemConfiguracaoDTO; import br.com.centralit.citcorpore.componenteMaquina.ThreadDisparaEvento; import br.com.centralit.citcorpore.integracao.ItemConfiguracaoDao; import br.com.centralit.citcorpore.negocio.EventoGrupoService; import br.com.centralit.citcorpore.negocio.EventoItemConfigRelService; import br.com.centralit.citcorpore.negocio.ItemConfigEventoService; import br.com.citframework.service.ServiceLocator; public class DisparaEvento implements Job { @Override public void execute(final JobExecutionContext context) throws JobExecutionException { try { final EventoGrupoService eventoGrupoService = (EventoGrupoService) ServiceLocator.getInstance().getService(EventoGrupoService.class, null); final EventoItemConfigRelService eventoItemConfigRelService = (EventoItemConfigRelService) ServiceLocator.getInstance().getService(EventoItemConfigRelService.class, null); final ItemConfigEventoService itemConfigEventoService = (ItemConfigEventoService) ServiceLocator.getInstance().getService(ItemConfigEventoService.class, null); final Collection<ItemConfigEventoDTO> colEventos = itemConfigEventoService.verificarDataHoraEvento(); for (final ItemConfigEventoDTO itemCfgEventoDto : colEventos) { final Collection<EventoGrupoDTO> lstGrupo = eventoGrupoService.listByEvento(itemCfgEventoDto.getIdEvento()); itemCfgEventoDto.getIdEvento(); List<EventoItemConfigRelDTO> listItemConfiguracao = (List<EventoItemConfigRelDTO>) eventoItemConfigRelService.listByEvento(itemCfgEventoDto.getIdEvento()); if (listItemConfiguracao == null) { listItemConfiguracao = new ArrayList<EventoItemConfigRelDTO>(); } // Busca Itens de Configura��o relacionados ao grupo final GrupoItemConfiguracaoDTO grupoItemConfiguracaoDTO = new GrupoItemConfiguracaoDTO(); for (final EventoGrupoDTO eventoGrupoDTO : lstGrupo) { final Integer idGrupo = eventoGrupoDTO.getIdGrupo(); final ItemConfiguracaoDao itemConfiguracaoDao = new ItemConfiguracaoDao(); grupoItemConfiguracaoDTO.setIdGrupoItemConfiguracao(idGrupo); final Collection<ItemConfiguracaoDTO> lstItemConfigGrupo = itemConfiguracaoDao.listByGrupo(grupoItemConfiguracaoDTO, null, null); for (final ItemConfiguracaoDTO itemConfiguracaoDTO : lstItemConfigGrupo) { final EventoItemConfigRelDTO configRelDTO = new EventoItemConfigRelDTO(); configRelDTO.setIdItemConfiguracao(itemConfiguracaoDTO.getIdItemConfiguracao()); // Verifica se o Item de Configura��o consta na lista if (!listItemConfiguracao.contains(configRelDTO)) { listItemConfiguracao.add(configRelDTO); } } } for (final EventoItemConfigRelDTO eventoItemConfigRel : listItemConfiguracao) { new Thread(new ThreadDisparaEvento(eventoItemConfigRel.getIdItemConfiguracao(), itemCfgEventoDto.getIdBaseItemConfiguracao(), itemCfgEventoDto.getIdEvento(), itemCfgEventoDto.getTipoExecucao(), itemCfgEventoDto.getLinhaComando(), itemCfgEventoDto.getLinhaComandoLinux())).start(); } } } catch (final Exception e) { e.printStackTrace(); } } }