From 4acc349811c7a6759718b1a7d4ae2087afdfcde9 Mon Sep 17 00:00:00 2001 From: gleimar Date: Tue, 4 Aug 2015 00:52:48 +0000 Subject: [PATCH] fixes bug#6531 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@46510 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/FiscalImpressoraDAO.java | 6 +- .../FiscalImpressoraHibernateDAO.java | 42 +++++++++- .../service/FiscalImpressoraService.java | 4 +- .../impl/FiscalImpressoraServiceImpl.java | 80 +++++++++++++++++-- 4 files changed, 120 insertions(+), 12 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/FiscalImpressoraDAO.java b/src/com/rjconsultores/ventaboletos/dao/FiscalImpressoraDAO.java index d93d1274f..7570b0702 100644 --- a/src/com/rjconsultores/ventaboletos/dao/FiscalImpressoraDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/FiscalImpressoraDAO.java @@ -22,6 +22,7 @@ public interface FiscalImpressoraDAO { public List obtenerTodosTotnaofiscalEmpresa(); public FiscalTotnaofiscalEmpresa obtenerIDTotnaofiscalEmpresa(Long id); public FiscalTotnaofiscalEmpresa suscribirTotnaofiscalEmpresa(FiscalTotnaofiscalEmpresa entidad); + public FiscalTotnaofiscalEmpresa actualizarTotnaofiscalEmpresa(FiscalTotnaofiscalEmpresa entidad); public void borrarTotnaofiscalEmpresa(FiscalTotnaofiscalEmpresa entidad); public List buscarFormaPagoEmpresa(Integer empresaEcfId); @@ -35,6 +36,9 @@ public interface FiscalImpressoraDAO { public FiscalRelgerencialEmpresa obtenerIDRelgerencialEmpresa(Long id); public FiscalRelgerencialEmpresa suscribirRelgerencialEmpresa(FiscalRelgerencialEmpresa entidad); public FiscalRelgerencialEmpresa actualizacionRelgerencialEmpresa(FiscalRelgerencialEmpresa entidad); - FiscalTotnaofiscalEmpresa buscar(Empresa empresa, String tipoTotalizador); + public FiscalTotnaofiscalEmpresa buscarTotNaoFiscal(Empresa empresa, String tipoTotalizador); + public FiscalTotnaofiscalEmpresa buscarTotNaoFiscal(Empresa empresa, String tipoTotalizador,String descEcf); + public FiscalFormapagoEmpresa buscarFormaPago(Empresa empresa, String tipoformapago); + FiscalFormapagoEmpresa buscarFormaPago(Empresa empresa, String tipoformapago, String descEcf); } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalImpressoraHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalImpressoraHibernateDAO.java index b03b9f01b..b1e6458e6 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalImpressoraHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalImpressoraHibernateDAO.java @@ -54,8 +54,7 @@ public class FiscalImpressoraHibernateDAO extends GenericHibernateDAO buscarItensRelgerencialEmpresa( - Integer empresaEcfId) { + public List buscarItensRelgerencialEmpresa(Integer empresaEcfId) { StringBuilder impostoHql = new StringBuilder(); impostoHql.append(" select e"); @@ -101,7 +100,7 @@ public class FiscalImpressoraHibernateDAO extends GenericHibernateDAO buscarFormaPagoEmpresa(Integer empresaEcfId); public List obtenerTodosFormapagoEmpresa(); public FiscalFormapagoEmpresa obtenerIDFormapagoEmpresa(Long id); - public FiscalFormapagoEmpresa suscribirFormapagoEmpresa(FiscalFormapagoEmpresa entidad); - public FiscalFormapagoEmpresa actualizacionFormapagoEmpresa(FiscalFormapagoEmpresa entidad); + public FiscalFormapagoEmpresa suscribirActualizarFormapagoEmpresa(FiscalFormapagoEmpresa entidad) throws BusinessException; + public FiscalFormapagoEmpresa borrarFormapagoEmpresa(FiscalFormapagoEmpresa entidad); public List buscarItensRelgerencialEmpresa(Integer empresaEcfId); public List obtenerTodosRelgerencialEmpresa(); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java index dafcf6e8c..c1fe9fb43 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalImpressoraServiceImpl.java @@ -19,6 +19,36 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; @Service("fiscalImpressoraService") public class FiscalImpressoraServiceImpl implements FiscalImpressoraService { + public enum TipoTotalizadorNaoFiscal { + + CancImpPost(false), + CartaoCredDeb(false), + CanPassagem(false), + VendaManual(false), + ImpressaoPost(false), + SeguroOpcional(true), + CancSeguroOpcional(true), + Multa(true), + DiferencaMaior(true), + DiferencaMenor(true), + CUSTOM(true); + + private final boolean temEE; + private TipoTotalizadorNaoFiscal(boolean pTemEE) { temEE = pTemEE; } + public boolean isTemEE() { + return temEE; + } + } + + public enum TipoFormaPagamento { + TotalCartao, + PtaAtendido, + TrocaPassagem, + Gratuidade, + CUSTOM; + } + + @Autowired FiscalImpressoraDAO fiscalImpressoraDAO; @@ -84,7 +114,14 @@ public class FiscalImpressoraServiceImpl implements FiscalImpressoraService { entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); - FiscalTotnaofiscalEmpresa item = fiscalImpressoraDAO.buscar(entidad.getEmpresa(), entidad.getTipototalizador()); + + FiscalTotnaofiscalEmpresa item = null; + + if (!TipoTotalizadorNaoFiscal.CUSTOM.toString().equals(entidad.getTipototalizador())){ + item = fiscalImpressoraDAO.buscarTotNaoFiscal(entidad.getEmpresa(), entidad.getTipototalizador()); + }else{ + item = fiscalImpressoraDAO.buscarTotNaoFiscal(entidad.getEmpresa(), entidad.getTipototalizador(),entidad.getDescricao()); + } if ( (entidad.getFiscaltotnaofiscalId() == null) && (item != null) ){ throw new BusinessException("editarTotnaofiscalEmpresaController.MSG.erroTipoTotalizador"); @@ -93,8 +130,11 @@ public class FiscalImpressoraServiceImpl implements FiscalImpressoraService { if ( (entidad.getFiscaltotnaofiscalId() != null) && (item != null) && (!item.getFiscaltotnaofiscalId().equals(entidad.getFiscaltotnaofiscalId())) ){ throw new BusinessException("editarTotnaofiscalEmpresaController.MSG.erroTipoTotalizador"); } - - return fiscalImpressoraDAO.suscribirTotnaofiscalEmpresa(entidad); + if (entidad.getFiscaltotnaofiscalId() == null){ + return fiscalImpressoraDAO.suscribirTotnaofiscalEmpresa(entidad); + }else{ + return fiscalImpressoraDAO.actualizarTotnaofiscalEmpresa(entidad); + } } @Override @@ -108,12 +148,40 @@ public class FiscalImpressoraServiceImpl implements FiscalImpressoraService { } @Override - public FiscalFormapagoEmpresa suscribirFormapagoEmpresa(FiscalFormapagoEmpresa entidad) { - return fiscalImpressoraDAO.suscribirFormapagoEmpresa(entidad); + public FiscalFormapagoEmpresa suscribirActualizarFormapagoEmpresa(FiscalFormapagoEmpresa entidad) throws BusinessException { + + FiscalFormapagoEmpresa item = null; + + if (!TipoFormaPagamento.CUSTOM.toString().equals(entidad.getTipoformapago())){ + item = fiscalImpressoraDAO.buscarFormaPago(entidad.getEmpresa(), entidad.getTipoformapago()); + }else{ + item = fiscalImpressoraDAO.buscarFormaPago(entidad.getEmpresa(), entidad.getTipoformapago(),entidad.getDescricao()); + } + + if ( (entidad.getFiscalformapagoempresaId() == null) && (item != null) ){ + throw new BusinessException("editarFormapagoEmpresaController.MSG.erroTipoFormaPago"); + } + + if ( (entidad.getFiscalformapagoempresaId() != null) && (item != null) && (!item.getFiscalformapagoempresaId().equals(entidad.getFiscalformapagoempresaId())) ){ + throw new BusinessException("editarFormapagoEmpresaController.MSG.erroTipoFormaPago"); + } + + entidad.setActivo(true); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + if (entidad.getFiscalformapagoempresaId() == null){ + return fiscalImpressoraDAO.suscribirFormapagoEmpresa(entidad); + }else{ + return fiscalImpressoraDAO.actualizacionFormapagoEmpresa(entidad); + } } @Override - public FiscalFormapagoEmpresa actualizacionFormapagoEmpresa(FiscalFormapagoEmpresa entidad) { + public FiscalFormapagoEmpresa borrarFormapagoEmpresa(FiscalFormapagoEmpresa entidad) { + entidad.setActivo(false); + entidad.setFecmodif(Calendar.getInstance().getTime()); + entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + return fiscalImpressoraDAO.actualizacionFormapagoEmpresa(entidad); }