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;
}
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;

View File

@ -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) {
@ -56,6 +58,16 @@ public class Totalbus {
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{
log.debug("gerando depósitos...");
List<DespesaReceita> despesasReceitas = getDepositos(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM);
@ -79,8 +91,14 @@ public class Totalbus {
List<String> rows = new ArrayList<String>();
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<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
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, ");

View File

@ -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<EFBFBD>rico
protected final String codigoFilial = "001"; // 014 003 Num<EFBFBD>rico
protected String localArrecadacao; // 017 005 Alfanum<EFBFBD>rico
protected final String numeroDaGuia = " "; // 022 025 Alfanum<EFBFBD>rico
protected String dataMovimento; // 047 010 Alfanum<EFBFBD>rico
protected final String usuarioGlobus = "TOTALBUS ";// 057 015 Alfanum<EFBFBD>rico
protected final String turno = "01";// 072 002 Num<EFBFBD>rico
protected String codigoReceitaDespesa;// 074 010 Num<EFBFBD>rico CONSTANTE CODIGO_RECEITA_DESPESA_GLOBUS
protected String identificadorReceitaDespesa;// 084 001 Alfanum<EFBFBD>rico
protected String valorLancamento;// 085 013 Num<EFBFBD>rico
protected final String numeroContratoTurismo = "0000000000";// 098 010 Num<75>rico
protected final String numeroReciboTurismo = " ";// 108 010 Alfanum<75>rico
protected final String formaPagamentoTurismo = " ";// 118 002 Num<EFBFBD>rico
protected String tipoPagamentoTurismo = " ";// 120 002 Num<EFBFBD>rico
protected String descricaoDetalhada = "";// 122 80 Alfanum<EFBFBD>rico
protected final String documentoVenda = "000000";// 202 6 Num<EFBFBD>rico
protected final String tipoDocumentoVenda = " ";// 208 1 Alfanum<EFBFBD>rico
protected final String numerodocumentoCPG = "0000000000";// 209 10 Num<EFBFBD>rico
protected String formaPagamentoId = "0";// 218 Num<EFBFBD>rico
protected final String finalLinha = "*";// 239 1 Alfanum<EFBFBD>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");
@ -63,6 +63,32 @@ public class DespesaReceita {
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) {
this.dataLancamento = sdf.format(dataLancamento);
}