diff --git a/src/com/rjconsultores/integracaoreceitadespesa/BGMApplication.java b/src/com/rjconsultores/integracaoreceitadespesa/BGMApplication.java index 5b13f61e6..120325669 100644 --- a/src/com/rjconsultores/integracaoreceitadespesa/BGMApplication.java +++ b/src/com/rjconsultores/integracaoreceitadespesa/BGMApplication.java @@ -77,18 +77,24 @@ public class BGMApplication { return props; } + public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos, boolean incluiTipoPagamentoTurismoBGM, boolean isReceitasDespesasComporte,boolean isCodReceitaFixoBgm, boolean isReceitasDespesasOuroPrata, boolean layoutNovo) throws IllegalArgumentException, IntegracaoReceitaDespesaException{ + this.isCodReceitaFixoBgm = isCodReceitaFixoBgm; + this.isReceitasDespesasOuroPrata = isReceitasDespesasOuroPrata; + return executaExportacao(dataInicio, dataFinal, diretorio, empresaId, puntoVentaId, con, pathGravacaoExternaArquivos, incluiTipoPagamentoTurismoBGM, layoutNovo); + } + public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos, boolean incluiTipoPagamentoTurismoBGM, boolean isReceitasDespesasComporte,boolean isCodReceitaFixoBgm, boolean isReceitasDespesasOuroPrata) throws IllegalArgumentException, IntegracaoReceitaDespesaException{ this.isCodReceitaFixoBgm = isCodReceitaFixoBgm; this.isReceitasDespesasOuroPrata = isReceitasDespesasOuroPrata; - return executaExportacao(dataInicio, dataFinal, diretorio, empresaId, puntoVentaId, con, pathGravacaoExternaArquivos, incluiTipoPagamentoTurismoBGM); + return executaExportacao(dataInicio, dataFinal, diretorio, empresaId, puntoVentaId, con, pathGravacaoExternaArquivos, incluiTipoPagamentoTurismoBGM, false); } public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos, boolean incluiTipoPagamentoTurismoBGM, boolean isReceitasDespesasComporte, boolean isReceitasDespesasOuroPrata) throws IllegalArgumentException, IntegracaoReceitaDespesaException{ this.isReceitasDespesasComporte = isReceitasDespesasComporte; - return executaExportacao(dataInicio, dataFinal, diretorio, empresaId, puntoVentaId, con, pathGravacaoExternaArquivos, incluiTipoPagamentoTurismoBGM); + return executaExportacao(dataInicio, dataFinal, diretorio, empresaId, puntoVentaId, con, pathGravacaoExternaArquivos, incluiTipoPagamentoTurismoBGM, false); } - public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos, boolean incluiTipoPagamentoTurismoBGM) throws IllegalArgumentException, IntegracaoReceitaDespesaException{ + public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos, boolean incluiTipoPagamentoTurismoBGM, boolean layoutNovo) throws IllegalArgumentException, IntegracaoReceitaDespesaException{ if (empresaId == null){ throw new IllegalArgumentException("o parâmetro empesaId é obrigatório!"); } @@ -96,7 +102,7 @@ public class BGMApplication { throw new IllegalArgumentException("o parâmetro puntoVentaId é obrigatório!"); } excluirArquivosZip(diretorio); - Totalbus totalbus = new Totalbus(con, isReceitasDespesasComporte,isCodReceitaFixoBgm, isReceitasDespesasOuroPrata ); + Totalbus totalbus = new Totalbus(con, isReceitasDespesasComporte, isCodReceitaFixoBgm, isReceitasDespesasOuroPrata, layoutNovo ); if (totalbus.isConstanteBloqueioMenorQueData(empresaId, dataFinal)){ totalbus.updateDataBloqueio(empresaId, dataFinal); } @@ -167,6 +173,7 @@ public class BGMApplication { } } + @SuppressWarnings("resource") private void copyFileUsingChannel(File source, File dest) throws IOException { FileChannel sourceChannel = null; diff --git a/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java b/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java index 0eb1c6d58..f06b3f339 100644 --- a/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java +++ b/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java @@ -37,6 +37,8 @@ public class Totalbus { private Boolean isReceitasDespesasOuroPrata= false; + private Boolean isLayoutNovo= false; + private DecimalFormat df = new DecimalFormat("#0.00"); public Totalbus(Connection con, Boolean isReceitasDespesasComporte, Boolean isReceitasDespesasOuroPrata) { @@ -55,6 +57,16 @@ public class Totalbus { loadEmpresas(); loadPuntosVenta(); } + + public Totalbus(Connection con, Boolean isReceitasDespesasComporte,Boolean isCodReceitaFixoBgm, Boolean isReceitasDespesasOuroPrata, Boolean isLayoutNovo) { + this.conn = con; + this.isReceitasDespesasComporte = isReceitasDespesasComporte; + this.isReceitasDespesasOuroPrata = isReceitasDespesasOuroPrata; + this.isCodReceitaFixoBgm = isCodReceitaFixoBgm; + this.isLayoutNovo = isLayoutNovo; + loadEmpresas(); + loadPuntosVenta(); + } public List getDespesasReceitas(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) throws IntegracaoReceitaDespesaException{ log.debug("gerando depósitos..."); @@ -79,8 +91,14 @@ public class Totalbus { List rows = new ArrayList(); - for (DespesaReceita item : despesasReceitas) { - item.preencheLinha(rows); + if( isLayoutNovo ) { + for (DespesaReceita item : despesasReceitas) { + item.preencheLinhaLayoutNovo(rows); + } + }else { + for (DespesaReceita item : despesasReceitas) { + item.preencheLinha(rows); + } } return rows; } @@ -631,11 +649,11 @@ public class Totalbus { List despesas = new ArrayList(); StringBuilder sb = new StringBuilder(); sb.append(" select "); - sb.append(" cd.feccorte AS fechorvta, "); - sb.append(" e.empresa_id AS empresa, "); + sb.append(" cd.feccorte AS fechorvta, "); + sb.append(" e.empresa_id AS empresa, "); sb.append(" pv.puntoventa_id AS puntoventaId, "); sb.append(" COALESCE(sum(cdp.importe),0) AS valor, "); - sb.append(" tee.contacontabil AS contacontabil, "); + sb.append(" tee.contacontabil AS contacontabil, "); sb.append(" pv.numpuntoventa AS numpuntoventa, "); sb.append(" ev.descinfo as descinfo, "); sb.append(" ev.tipoeventoextra_id, "); diff --git a/src/com/rjconsultores/integracaoreceitadespesa/entidades/DespesaReceita.java b/src/com/rjconsultores/integracaoreceitadespesa/entidades/DespesaReceita.java index d64532964..034b127df 100644 --- a/src/com/rjconsultores/integracaoreceitadespesa/entidades/DespesaReceita.java +++ b/src/com/rjconsultores/integracaoreceitadespesa/entidades/DespesaReceita.java @@ -8,26 +8,26 @@ import org.apache.commons.lang.StringUtils; public class DespesaReceita { protected String dataLancamento; // DD/MM/YYYY - protected String codigoEmpresa; // 011 003 Num�rico - protected final String codigoFilial = "001"; // 014 003 Num�rico - protected String localArrecadacao; // 017 005 Alfanum�rico - protected final String numeroDaGuia = " "; // 022 025 Alfanum�rico - protected String dataMovimento; // 047 010 Alfanum�rico - protected final String usuarioGlobus = "TOTALBUS ";// 057 015 Alfanum�rico - protected final String turno = "01";// 072 002 Num�rico - protected String codigoReceitaDespesa;// 074 010 Num�rico CONSTANTE CODIGO_RECEITA_DESPESA_GLOBUS - protected String identificadorReceitaDespesa;// 084 001 Alfanum�rico - protected String valorLancamento;// 085 013 Num�rico - protected final String numeroContratoTurismo = "0000000000";// 098 010 Num�rico - protected final String numeroReciboTurismo = " ";// 108 010 Alfanum�rico - protected final String formaPagamentoTurismo = " ";// 118 002 Num�rico - protected String tipoPagamentoTurismo = " ";// 120 002 Num�rico - protected String descricaoDetalhada = "";// 122 80 Alfanum�rico - protected final String documentoVenda = "000000";// 202 6 Num�rico - protected final String tipoDocumentoVenda = " ";// 208 1 Alfanum�rico - protected final String numerodocumentoCPG = "0000000000";// 209 10 Num�rico - protected String formaPagamentoId = "0";// 218 Num�rico - protected final String finalLinha = "*";// 239 1 Alfanum�rico + protected String codigoEmpresa; // 011 003 Numerico + protected final String codigoFilial = "001"; // 014 003 Numerico + protected String localArrecadacao; // 017 005 Alfanumerico + protected final String numeroDaGuia = " "; // 022 025 Alfanumerico + protected String dataMovimento; // 047 010 Alfanumerico + protected final String usuarioGlobus = "TOTALBUS ";// 057 015 Alfanumerico + protected final String turno = "01";// 072 002 Numerico + protected String codigoReceitaDespesa;// 074 010 Numerico CONSTANTE CODIGO_RECEITA_DESPESA_GLOBUS + protected String identificadorReceitaDespesa;// 084 001 Alfanumerico + protected String valorLancamento;// 085 013 Numerico + protected final String numeroContratoTurismo = "0000000000"; // 098 010 Numerico + protected final String numeroReciboTurismo = " "; // 108 010 Alfanumerico + protected final String formaPagamentoTurismo = " ";// 118 002 Numerico + protected String tipoPagamentoTurismo = " ";// 120 002 Numerico + protected String descricaoDetalhada = "";// 122 80 Alfanumerico + protected final String documentoVenda = "000000";// 202 6 Numerico + protected final String tipoDocumentoVenda = " ";// 208 1 Alfanumerico + protected final String numerodocumentoCPG = "0000000000";// 209 10 Numerico + protected String formaPagamentoId = "0";// 218 Numerico + protected final String finalLinha = "*";// 239 1 Alfanumerico protected SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); @@ -62,6 +62,32 @@ public class DespesaReceita { sb.append(System.getProperty("line.separator")); rows.add(sb.toString()); } + + public void preencheLinhaLayoutNovo(List rows) { + StringBuilder sb = new StringBuilder(); + sb.append(StringUtils.rightPad(dataLancamento.trim(), 10, " ")); + sb.append(StringUtils.leftPad(codigoEmpresa.trim(), 3, "0")); + sb.append(StringUtils.leftPad(codigoFilial.trim(), 3, "0")); + sb.append(StringUtils.rightPad( truncStr(localArrecadacao.toUpperCase(), 5), 5, " ")); + sb.append(StringUtils.rightPad(numeroDaGuia.trim(), 25, " ")); + sb.append(StringUtils.rightPad(dataMovimento.trim(), 10, " ")); + sb.append(StringUtils.rightPad(usuarioGlobus.trim(), 15, " ")); + sb.append(StringUtils.leftPad(turno.trim(), 2, "0")); + sb.append(StringUtils.leftPad(codigoReceitaDespesa.trim(), 10, "0")); + sb.append(StringUtils.rightPad(identificadorReceitaDespesa.toUpperCase().trim(), 1, " ")); + sb.append(StringUtils.leftPad(valorLancamento.trim(), 13, "0")); + sb.append(StringUtils.rightPad("", 10, " ")); + sb.append(StringUtils.rightPad(numeroReciboTurismo.trim(), 10, " ")); + sb.append(StringUtils.leftPad(getFormaPagamentoTurismo().trim(), 2, "0")); + sb.append(StringUtils.leftPad(getTipoPagamentoTurismo().trim(), 2, "0")); + sb.append(StringUtils.rightPad(StringUtils.isNotEmpty(descricaoDetalhada) ? truncStr(descricaoDetalhada, 100) : "", 100, " ")); + sb.append(StringUtils.leftPad(documentoVenda.trim(), 6, "0")); + sb.append(StringUtils.rightPad(tipoDocumentoVenda.trim(), 1, " ")); + sb.append(StringUtils.rightPad("", 10, "0")); + sb.append(finalLinha); + sb.append(System.getProperty("line.separator")); + rows.add(sb.toString()); + } public void setDataLancamento(Date dataLancamento) { this.dataLancamento = sdf.format(dataLancamento);