fabio 2021-12-07 11:20:47 +00:00
parent 259b8eacc3
commit 6f0192ee35
3 changed files with 80 additions and 29 deletions

View File

@ -77,18 +77,24 @@ public class BGMApplication {
return props; 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{ 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.isCodReceitaFixoBgm = isCodReceitaFixoBgm;
this.isReceitasDespesasOuroPrata = isReceitasDespesasOuroPrata; 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{ 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; 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){ if (empresaId == null){
throw new IllegalArgumentException("o parâmetro empesaId é obrigatório!"); 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!"); throw new IllegalArgumentException("o parâmetro puntoVentaId é obrigatório!");
} }
excluirArquivosZip(diretorio); excluirArquivosZip(diretorio);
Totalbus totalbus = new Totalbus(con, isReceitasDespesasComporte,isCodReceitaFixoBgm, isReceitasDespesasOuroPrata ); Totalbus totalbus = new Totalbus(con, isReceitasDespesasComporte, isCodReceitaFixoBgm, isReceitasDespesasOuroPrata, layoutNovo );
if (totalbus.isConstanteBloqueioMenorQueData(empresaId, dataFinal)){ if (totalbus.isConstanteBloqueioMenorQueData(empresaId, dataFinal)){
totalbus.updateDataBloqueio(empresaId, dataFinal); totalbus.updateDataBloqueio(empresaId, dataFinal);
} }
@ -167,6 +173,7 @@ public class BGMApplication {
} }
} }
@SuppressWarnings("resource")
private void copyFileUsingChannel(File source, File dest) throws IOException { private void copyFileUsingChannel(File source, File dest) throws IOException {
FileChannel sourceChannel = null; FileChannel sourceChannel = null;

View File

@ -37,6 +37,8 @@ public class Totalbus {
private Boolean isReceitasDespesasOuroPrata= false; private Boolean isReceitasDespesasOuroPrata= false;
private Boolean isLayoutNovo= false;
private DecimalFormat df = new DecimalFormat("#0.00"); private DecimalFormat df = new DecimalFormat("#0.00");
public Totalbus(Connection con, Boolean isReceitasDespesasComporte, Boolean isReceitasDespesasOuroPrata) { public Totalbus(Connection con, Boolean isReceitasDespesasComporte, Boolean isReceitasDespesasOuroPrata) {
@ -56,6 +58,16 @@ public class Totalbus {
loadPuntosVenta(); 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<String> getDespesasReceitas(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) throws IntegracaoReceitaDespesaException{ public List<String> getDespesasReceitas(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) throws IntegracaoReceitaDespesaException{
log.debug("gerando depósitos..."); log.debug("gerando depósitos...");
List<DespesaReceita> despesasReceitas = getDepositos(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM); List<DespesaReceita> despesasReceitas = getDepositos(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM);
@ -79,9 +91,15 @@ public class Totalbus {
List<String> rows = new ArrayList<String>(); List<String> rows = new ArrayList<String>();
if( isLayoutNovo ) {
for (DespesaReceita item : despesasReceitas) {
item.preencheLinhaLayoutNovo(rows);
}
}else {
for (DespesaReceita item : despesasReceitas) { for (DespesaReceita item : despesasReceitas) {
item.preencheLinha(rows); item.preencheLinha(rows);
} }
}
return rows; return rows;
} }

View File

@ -8,26 +8,26 @@ import org.apache.commons.lang.StringUtils;
public class DespesaReceita { public class DespesaReceita {
protected String dataLancamento; // DD/MM/YYYY protected String dataLancamento; // DD/MM/YYYY
protected String codigoEmpresa; // 011 003 Num<EFBFBD>rico protected String codigoEmpresa; // 011 003 Numerico
protected final String codigoFilial = "001"; // 014 003 Num<EFBFBD>rico protected final String codigoFilial = "001"; // 014 003 Numerico
protected String localArrecadacao; // 017 005 Alfanum<EFBFBD>rico protected String localArrecadacao; // 017 005 Alfanumerico
protected final String numeroDaGuia = " "; // 022 025 Alfanum<EFBFBD>rico protected final String numeroDaGuia = " "; // 022 025 Alfanumerico
protected String dataMovimento; // 047 010 Alfanum<EFBFBD>rico protected String dataMovimento; // 047 010 Alfanumerico
protected final String usuarioGlobus = "TOTALBUS ";// 057 015 Alfanum<EFBFBD>rico protected final String usuarioGlobus = "TOTALBUS ";// 057 015 Alfanumerico
protected final String turno = "01";// 072 002 Num<EFBFBD>rico protected final String turno = "01";// 072 002 Numerico
protected String codigoReceitaDespesa;// 074 010 Num<EFBFBD>rico CONSTANTE CODIGO_RECEITA_DESPESA_GLOBUS protected String codigoReceitaDespesa;// 074 010 Numerico CONSTANTE CODIGO_RECEITA_DESPESA_GLOBUS
protected String identificadorReceitaDespesa;// 084 001 Alfanum<EFBFBD>rico protected String identificadorReceitaDespesa;// 084 001 Alfanumerico
protected String valorLancamento;// 085 013 Num<EFBFBD>rico protected String valorLancamento;// 085 013 Numerico
protected final String numeroContratoTurismo = "0000000000";// 098 010 Num<75>rico protected final String numeroContratoTurismo = "0000000000"; // 098 010 Numerico
protected final String numeroReciboTurismo = " ";// 108 010 Alfanum<75>rico protected final String numeroReciboTurismo = " "; // 108 010 Alfanumerico
protected final String formaPagamentoTurismo = " ";// 118 002 Num<EFBFBD>rico protected final String formaPagamentoTurismo = " ";// 118 002 Numerico
protected String tipoPagamentoTurismo = " ";// 120 002 Num<EFBFBD>rico protected String tipoPagamentoTurismo = " ";// 120 002 Numerico
protected String descricaoDetalhada = "";// 122 80 Alfanum<EFBFBD>rico protected String descricaoDetalhada = "";// 122 80 Alfanumerico
protected final String documentoVenda = "000000";// 202 6 Num<EFBFBD>rico protected final String documentoVenda = "000000";// 202 6 Numerico
protected final String tipoDocumentoVenda = " ";// 208 1 Alfanum<EFBFBD>rico protected final String tipoDocumentoVenda = " ";// 208 1 Alfanumerico
protected final String numerodocumentoCPG = "0000000000";// 209 10 Num<EFBFBD>rico protected final String numerodocumentoCPG = "0000000000";// 209 10 Numerico
protected String formaPagamentoId = "0";// 218 Num<EFBFBD>rico protected String formaPagamentoId = "0";// 218 Numerico
protected final String finalLinha = "*";// 239 1 Alfanum<EFBFBD>rico protected final String finalLinha = "*";// 239 1 Alfanumerico
protected SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); protected SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
@ -63,6 +63,32 @@ public class DespesaReceita {
rows.add(sb.toString()); rows.add(sb.toString());
} }
public void preencheLinhaLayoutNovo(List<String> 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) { public void setDataLancamento(Date dataLancamento) {
this.dataLancamento = sdf.format(dataLancamento); this.dataLancamento = sdf.format(dataLancamento);
} }