package com.rjconsultores.ventaboletos.service; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; import com.rjconsultores.ventaboletos.entidad.Conferencia; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.LogConferencia; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.enums.IndStatusBoleto; import com.rjconsultores.ventaboletos.enums.comissao.BoletoStatusComissao; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.vo.comissao.BoletoComissao; import com.rjconsultores.ventaboletos.vo.comissao.ConferenciaComissaoVO; import com.rjconsultores.ventaboletos.vo.comissao.DiaConferenciaComissaoVO; import com.rjconsultores.ventaboletos.vo.comissao.EtiquetaMalote; import com.rjconsultores.ventaboletos.vo.comissao.EventosFinanceirosVO; import com.rjconsultores.ventaboletos.vo.comissao.LogConferenciaVO; import com.rjconsultores.ventaboletos.vo.comissao.OcdVO; import com.rjconsultores.ventaboletos.vo.comissao.ResumoComissao; public interface ConferenciaComissaoService extends GenericService { public Conferencia suscribirOrActualizacion(Conferencia entidad); public List carregarConferenciaComissao(String competencia, Empresa empresa, PuntoVenta puntoVenta, Date dataMovimento) throws BusinessException; public Conferencia confirmarChegadaMalote(Conferencia conferencia) throws BusinessException; public Conferencia encerrarMovimentoDiario(Conferencia conferencia) throws BusinessException; public List carregarEventosFinanceiros(Conferencia conferencia) throws BusinessException; public List carregarLogConferencia(Conferencia conferencia) throws BusinessException; public LogConferencia suscribirLogConferencia(LogConferencia logConferencia) throws BusinessException; public void borrarLogConferencia(LogConferencia logConferencia) throws BusinessException; public LogConferencia obtenerLogConferenciaID(Long logconferenciaId); public List carregarBilhetesComissao(List boletoComissaos, Conferencia conferencia, BoletoStatusComissao boletoStatusComissao, boolean carregarDadosFaltantes) throws BusinessException; public List carregarOcds(Conferencia conferencia) throws BusinessException; public Conferencia reabrirMovimentoDiario(Conferencia conferencia) throws BusinessException; public Conferencia obtenerConferenciaDataMovimento(Date datamovimento, Integer puntoventaId, Integer empresaId) throws BusinessException; public boolean isBilhetesSemConferencia(List lsBoletoComissao) throws BusinessException; public boolean isEventosFinanceirosSemConferencia(List lsEventosFinanceiros) throws BusinessException; public boolean isOcdSemConferencia(List lsOcd) throws BusinessException; public BigDecimal totalizarBoletoComissao(List lsBoletoComissao, IndStatusBoleto... statusBilhete) throws BusinessException; public BigDecimal totalizarEventosFinanceiros(List lsEventosFinanceiros) throws BusinessException; public OcdVO totalizarOcd(List lsOcd) throws BusinessException; public ResumoComissao gerarResumo(Conferencia conferencia, List boletoComissaos, List lsEventosFinanceiros, BigDecimal totalBilhetesManual, BigDecimal totalBilhetesVendidos, BigDecimal totalBilhetesCancelados, BigDecimal totalBilhetesDevolvidos, BigDecimal totalBilhetesGap, BigDecimal totalBilhetesGapCancelados, BigDecimal totalBilhetesGapDevolvidos, BigDecimal totalCreditosEventoFinanceiros, BigDecimal totalDebitosEventoFinanceiros, OcdVO totalOcd) throws BusinessException; public EtiquetaMalote decodificarEtiquetaMalote(String codigoBarras) throws BusinessException; public void confirmarChegadaMalote(EtiquetaMalote etiquetaMalote ) throws BusinessException; public boolean isConferenciaCompetenciaEncerrada(String competencia, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException; public Map totalizarBoletoComissaoDevolvidosTrocaOcd(List lsBoletoComissao) throws BusinessException; public DiaConferenciaComissaoVO carregarConferenciaRegistrada(Date datamovimento, Empresa empresa, PuntoVenta puntoVenta) throws BusinessException; public Integer quantidadeECFPorPuntoVenta(Integer empresaID, Integer puntoVentaID); public void enviarEmailIrregularidadeECF(String email, String msg,String assunto)throws Exception ; public void generacionAutomaticaConferencia(); }