diff --git a/src/com/rjconsultores/ventaboletos/dao/BpeDAO.java b/src/com/rjconsultores/ventaboletos/dao/BpeDAO.java index c0f27d0f5..86da3f6cf 100644 --- a/src/com/rjconsultores/ventaboletos/dao/BpeDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/BpeDAO.java @@ -14,7 +14,7 @@ public interface BpeDAO { public List buscarBpeRDI(Connection connection, Date inicio, Date fim, Integer empresaId, List estados, boolean isReceitaTerceiros, boolean consultaOtimizada); - public ExportacaoBPEVo buscarRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean consultaOtimizada); + public ExportacaoBPEVo buscarRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean consultaOtimizada, String codContPrevidencia); public String buscarXmlBPE(Connection connection, String chBpe); diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java index 8cfaeab5a..a1b0ae3e7 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/BpeHibernateDAO.java @@ -60,7 +60,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { @SuppressWarnings("deprecation") @Override - public ExportacaoBPEVo buscarRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean consultaOtimizada) { + public ExportacaoBPEVo buscarRegistroExportacaoBpe(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado, boolean consultaOtimizada, String codContPrevidencia) { log.info("Inicio da consulta buscarRegistroExportacaoBpe: " + new Date()); @@ -72,6 +72,7 @@ public class BpeHibernateDAO extends HibernateDaoSupport implements BpeDAO { */ LinkedHashMap mapAux = new LinkedHashMap(); for (ExportacaoBPEBase expBPe : registros) { + expBPe.setIndContribuicaoPrevidenciaria(codContPrevidencia); if (mapAux.containsKey(expBPe.getChbpe())) { if (ExportacaoBPEVo.isBpeCancelado(expBPe.getCodstatus()) && !ExportacaoBPEVo.validaBPeCorridaAgrupada(expBPe)) mapAux.put(expBPe.getChbpe(), expBPe); diff --git a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java index a572edd87..b5ae68c77 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java @@ -356,6 +356,9 @@ public class Empresa implements Serializable, Auditavel { @Column(name = "URLBASESEGURO") private String urlBaseEmpresaSeguro; + @Column(name = "CODCONTPREVIDENCIA") + private String codContPrevidencia; + @Transient @NaoAuditar private Empresa empresaClone; @@ -1326,4 +1329,12 @@ public class Empresa implements Serializable, Auditavel { return String.format("ID [%s]", getEmpresaId()); } + public String getCodContPrevidencia() { + return codContPrevidencia; + } + + public void setCodContPrevidencia(String codContPrevidencia) { + this.codContPrevidencia = codContPrevidencia; + } + } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java index be8a63002..8c9d98eb6 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/BpeServiceImpl.java @@ -68,7 +68,7 @@ public class BpeServiceImpl implements BpeService { try { connection = getConnectionRead(); - ExportacaoBPEVo registro = bpeDAO.buscarRegistroExportacaoBpe(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado(), consultaOtimizada); + ExportacaoBPEVo registro = bpeDAO.buscarRegistroExportacaoBpe(connection, inicio, fim, empresa.getEmpresaId(), estado.getCveestado(), consultaOtimizada, empresa.getCodContPrevidencia()); return exportacaoBpe.gerarArquivoBPE(inicio, fim, nomeArquivo, empresa.getNombempresa(), registro); diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java index 89bf0ab90..e0c5aaefd 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/ExportacaoBpe.java @@ -40,8 +40,8 @@ public class ExportacaoBpe { Constante contante = constanteService.buscarPorNomeConstante("IMPORT_BPE_LAYOUT_DIF"); String valorConstante = contante == null ? null : contante.getValorconstante(); - boolean isVersao131 = StringUtils.isBlank(valorConstante) ? true : false; - String versaoLayout = StringUtils.isBlank(valorConstante) ? "131" : valorConstante; + boolean isVersao131 = StringUtils.isBlank(valorConstante) || "131".equals(valorConstante) ? true : false; + String versaoLayout = StringUtils.isBlank(valorConstante) || "131".equals(valorConstante) ? "131" : valorConstante; adicionarRegistroBPETipoCAB(writer, dataInicial, dataFinal, nomeEmpresa, nomeArquivo, versaoLayout); @@ -138,6 +138,10 @@ public class ExportacaoBpe { String observacao = VAZIO; String codAjusteFiscal = VAZIO; String exclussaoBCPISCOFINS = VAZIO; + + String baseCalculoAjusteICMS = VAZIO; + String aliquotaAjusteICMS = VAZIO; + String valorAjusteICMS = VAZIO; sb.append(tipoRegistro).append(SEPARADOR); sb.append(estabelecimento).append(SEPARADOR); @@ -172,7 +176,14 @@ public class ExportacaoBpe { sb.append(codigoComplementar).append(SEPARADOR); sb.append(observacao).append(SEPARADOR); sb.append(codAjusteFiscal).append(isVersao131 ? VAZIO : SEPARADOR); - sb.append(isVersao131 ? VAZIO : exclussaoBCPISCOFINS); + + if(!isVersao131) { + sb.append(exclussaoBCPISCOFINS).append(SEPARADOR); + sb.append(baseCalculoAjusteICMS).append(SEPARADOR); + sb.append(aliquotaAjusteICMS).append(SEPARADOR); + sb.append(valorAjusteICMS); + } + sb.append(UtiliteriasFiscal.QUEBRA_LINHA); } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEBase.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEBase.java index 2d4378b59..f5c1ff190 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEBase.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEBase.java @@ -87,6 +87,7 @@ public class ExportacaoBPEBase { private String dhrecbtoBPe; private boolean activoBPe; private int motivoCancelacionId; + private String indContribuicaoPrevidenciaria; private List listaRegistroBPE; private List listaRegistroDPE; @@ -764,4 +765,12 @@ public class ExportacaoBPEBase { this.motivoCancelacionId = motivoCancelacionId; } + public String getIndContribuicaoPrevidenciaria() { + return indContribuicaoPrevidenciaria; + } + + public void setIndContribuicaoPrevidenciaria(String indContribuicaoPrevidenciaria) { + this.indContribuicaoPrevidenciaria = indContribuicaoPrevidenciaria; + } + } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java index 73d3cb91c..98121d56f 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/exportacao/bpe/ExportacaoBPEVo.java @@ -83,7 +83,7 @@ public class ExportacaoBPEVo { public static ExportacaoBPEBase gerarListas(ExportacaoBPEBase registro) { - String indContribuicaoPrevidenciaria = "00000060"; + String indContribuicaoPrevidenciaria = StringUtils.isBlank(registro.getIndContribuicaoPrevidenciaria()) ? "00000060" : StringUtils.leftPad(registro.getIndContribuicaoPrevidenciaria(), 8, "0"); boolean isCancelamento = isBpeCancelado(registro.getCodstatus()); String tpDoc = isCancelamento ? "1" : (StringUtils.isBlank(registro.getChbpeSub()) ? "0" : "0"); String numBpe = StringUtils.isBlank(registro.getNbp()) ? registro.getNumBpe() : registro.getNbp(); @@ -235,7 +235,7 @@ public class ExportacaoBPEVo { @Deprecated public static ExportacaoBPEBase gerarListasXML(ExportacaoBPEBase registro) { - String indContribuicaoPrevidenciaria = "00000060"; + String indContribuicaoPrevidenciaria = StringUtils.isBlank(registro.getIndContribuicaoPrevidenciaria()) ? "00000060" : StringUtils.leftPad(registro.getIndContribuicaoPrevidenciaria(), 8, "0"); boolean isCancelamento = isBpeCancelado(registro.getCodstatus());