package com.rjconsultores.ventaboletos.rest.service; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.DispositivoEmbarcadaDAO; import com.rjconsultores.ventaboletos.entidad.DispositivoEmbarcada; import com.rjconsultores.ventaboletos.rest.bean.ParamsSincronizarDispositivo; import com.rjconsultores.ventaboletos.rest.bean.ParamsUltimaSincDispositivo; import com.rjconsultores.ventaboletos.rest.service.exception.ServiceEmbarcadaException; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.vo.embarcada.DispositivoEmbarcadaVO; import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext; @Service("ultimaSincronizacaoService") public class UltimaSincronizacaoService { private static Logger log = Logger.getLogger(UltimaSincronizacaoService.class); @Autowired private SincronizarService sincronizarService; @Transactional public DispositivoEmbarcadaVO registrarUltimaSincronizaco(ParamsUltimaSincDispositivo params) throws ServiceEmbarcadaException { try { DispositivoEmbarcadaDAO dispositivoEmbarcadaDAO = (DispositivoEmbarcadaDAO)AppContext.getApplicationContext().getBean("dispositivoEmbarcadaDAO"); DispositivoEmbarcada dispositivo = dispositivoEmbarcadaDAO.buscarImei(params.getImei()); if (dispositivo == null){ DispositivoEmbarcadaVO dispositivoVo = new DispositivoEmbarcadaVO(); dispositivoVo.setMsg("Dispositivo não encontrado"); return dispositivoVo; } dispositivo.setVersaoUltimaSinc(params.getVersao()); dispositivo.setDataUltimaSinc( DateUtil.getDateFromString( params.getDataUltimaSinc(), DateUtil.formatJson )); dispositivoEmbarcadaDAO.actualizacion(dispositivo); log.info( "Dispositivo Sincronizado: "+dispositivo.toString() ); ParamsSincronizarDispositivo parametro = new ParamsSincronizarDispositivo(); parametro.setImei(params.getImei()); DispositivoEmbarcadaVO vo = sincronizarService.getDispositivoEmbarcada(parametro); return vo; }catch( Exception e) { throw new ServiceEmbarcadaException( e.getMessage() ); } } }