package com.rjconsultores.ventaboletos.service.impl; import java.util.Date; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.CajaDAO; import com.rjconsultores.ventaboletos.dao.CorridaDAO; import com.rjconsultores.ventaboletos.dao.EsquemaCorridaDAO; import com.rjconsultores.ventaboletos.dao.IntegracaoTotvsDAO; import com.rjconsultores.ventaboletos.dao.MarcaDAO; import com.rjconsultores.ventaboletos.dao.PuntoVentaDAO; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.IntegracaoTotvs; import com.rjconsultores.ventaboletos.entidad.Marca; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.IntegracaoTotvsService; @Service("integracaoTotvsService") public class IntegracaoTotvsServiceImpl implements IntegracaoTotvsService { private static final String BILHETE = "BILHETE"; @Autowired CajaDAO cajaDao; @Autowired PuntoVentaDAO puntoVentaDao; @Autowired MarcaDAO marcaDao; @Autowired CorridaDAO corridaDao; @Autowired EsquemaCorridaDAO esquemaCorridaDao; @Autowired IntegracaoTotvsDAO integracaoTotvsDAO; @Override public Integer atualizaStstausBilhetesIntegrar(Empresa empresa, Date dataInicial, Date dataFinal, PuntoVenta puntoVenta) throws BusinessException { Marca marca = null; if (empresa != null) { marca = marcaDao.buscarMarcaPorEmpresa(empresa); } return cajaDao.atualizaCajasIntegracaoTotvs(marca, dataInicial, dataFinal, puntoVenta); } @Override public List buscaPuntoVentaEmpresa(Empresa empresa) { return puntoVentaDao.buscaPuntoVentaEmpresa(empresa); } @Override @Transactional public Integer solicitaReIntegracaoBilhete(Empresa empresa, Date dataInicial, Date dataFinal, PuntoVenta puntoVenta, Usuario usuario) throws BusinessException { Integer retorno = atualizaStstausBilhetesIntegrar(empresa, dataInicial, dataFinal, puntoVenta); if (retorno.intValue() > 0) { IntegracaoTotvs integracaoTotvs = new IntegracaoTotvs(); integracaoTotvs.setDescIntegracao(BILHETE); integracaoTotvs.setFecInicio(dataInicial); integracaoTotvs.setFecFin(dataFinal); integracaoTotvs.setFecmodif(new Date()); integracaoTotvs.setPuntoVentaId(puntoVenta.getPuntoventaId()); integracaoTotvs.setEmpresaId(empresa.getEmpresaId()); integracaoTotvs.setUsuarioId(usuario.getUsuarioId()); integracaoTotvs.setActivo(Boolean.TRUE); integracaoTotvs.setQtdadeResgistrosAtualizados(retorno); integracaoTotvsDAO.suscribir(integracaoTotvs); } return retorno; } @Override public Integer atualizaStstausServicosIntegrar(Empresa empresa, Integer numServico) throws BusinessException { Marca marca = null; if (empresa != null) { marca = marcaDao.buscarMarcaPorEmpresa(empresa); } return esquemaCorridaDao.atualizaServicoIntegracaoTotvs(marca, numServico); } @Override public Integer atualizaStstausCorridasIntegrar(Empresa empresa, Integer numCorrida, Date dataInicial, Date dataFinal) throws BusinessException { Marca marca = null; if (empresa != null) { marca = marcaDao.buscarMarcaPorEmpresa(empresa); } return corridaDao.atualizaCorridasIntegracaoTotvs(marca, dataInicial, dataFinal, numCorrida); } }