fixes bug#0012351

dev: walace
qua: bruno

Implementação efetuada. Foi utilizado o campo tipo de pagamento turismo, e essa implementação foi feita no custom da Eucatur para não impactar outros clientes.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/Integracion/IntegracaoReceitaDespesa/trunk/IntegracaoReceitaDespesa@87106 d1611594-4594-4d17-8e1d-87c2c4800839
master
emerson 2018-11-16 18:55:51 +00:00
parent d673c3bd4d
commit 9568568e09
4 changed files with 126 additions and 138 deletions

View File

@ -10,5 +10,6 @@
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/LibreriasAdmVenta/commons-lang.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -18,10 +18,10 @@ import java.util.Properties;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import com.rjconsultores.integracaoreceitadespesa.dao.Totalbus;
import com.rjconsultores.integracaoreceitadespesa.entidades.DespesaReceita;
public class BGMApplication {
private static BGMApplication instance = null;
@ -71,7 +71,7 @@ public class BGMApplication {
return props;
}
public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos) throws IllegalArgumentException{
public String executaExportacao(Date dataInicio, Date dataFinal, String diretorio, Integer empresaId, Integer puntoVentaId, Connection con,String pathGravacaoExternaArquivos, boolean incluiTipoPagamentoTurismoBGM) throws IllegalArgumentException{
if (empresaId == null){
throw new IllegalArgumentException("o parâmetro empesaId é obrigatório!");
}
@ -96,11 +96,13 @@ public class BGMApplication {
try{
while (cal.before(cf)) {
String fileName = diretorio + File.separator + "BGM_" + empresaId + "-" + cal.get(Calendar.YEAR) + "" + DespesaReceita.lpad(Integer.toString(cal.get(Calendar.MONTH) + 1), "0", 2) + "" + DespesaReceita.lpad(Integer.toString(cal.get(Calendar.DAY_OF_MONTH)), "0", 2) + ".txt";
String fileName = diretorio + File.separator + "BGM_" + empresaId + "-" + cal.get(Calendar.YEAR)
+ "" + StringUtils.leftPad(Integer.toString(cal.get(Calendar.MONTH) + 1), 2, "0") + ""
+ StringUtils.leftPad(Integer.toString(cal.get(Calendar.DAY_OF_MONTH)), 2, "0") + ".txt";
File file = new File(fileName);
log.debug("gerando arquivo...");
Arquivo.GravaArquivo(file.getAbsolutePath(), totalbus.getDespesasReceitas(puntoVentaId, empresaId, cal.getTime()));
Arquivo.GravaArquivo(file.getAbsolutePath(), totalbus.getDespesasReceitas(puntoVentaId, empresaId, cal.getTime(), incluiTipoPagamentoTurismoBGM));
this.copiarArquivoExternamente(file, pathGravacaoExternaArquivos);

View File

@ -11,6 +11,7 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import com.rjconsultores.integracaoreceitadespesa.entidades.DespesaReceita;
@ -36,15 +37,15 @@ public class Totalbus {
loadPuntosVenta();
}
public List<String> getDespesasReceitas(Integer puntoventaId, Integer empresaId,Date fechaParam){
public List<String> getDespesasReceitas(Integer puntoventaId, Integer empresaId,Date fechaParam, boolean incluiTipoPagamentoTurismoBGM){
log.debug("gerando depósitos...");
List<DespesaReceita> despesasReceitas = getDepositos(puntoventaId, empresaId, fechaParam);
List<DespesaReceita> despesasReceitas = getDepositos(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM);
log.debug("gerando despesas...");
despesasReceitas.addAll(getDespesas(puntoventaId, empresaId, fechaParam));
despesasReceitas.addAll(getDespesas(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
log.debug("gerando despesas cartão...");
despesasReceitas.addAll(getDespesaCartaoDebCred(puntoventaId, empresaId, fechaParam));
despesasReceitas.addAll(getDespesaCartaoDebCred(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
log.debug("gerando receitas...");
despesasReceitas.addAll(getReceitas(puntoventaId, empresaId, fechaParam));
despesasReceitas.addAll(getReceitas(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
List<String> rows = new ArrayList<String>();
@ -100,40 +101,36 @@ public class Totalbus {
return this.conn;
}
public List<DespesaReceita> getDespesaCartaoDebCred(final Integer puntoVentaId, final Integer empresaId, Date fechaParam) {
public List<DespesaReceita> getDespesaCartaoDebCred(final Integer puntoVentaId, final Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) {
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuffer sb = new StringBuffer();
sb.append(" select ");
sb.append(" cd.feccorte AS fechorvta, ");
sb.append(" e.empresa_id AS empresa, ");
sb.append(" pv.puntoventa_id AS puntoventaId, ");
sb.append(" sum(cdp.importe) AS valor, ");
sb.append(" case when cdp.formapago_id = 2 then 802 else 803 end as contacontabil, ");
sb.append(" pv.numpuntoventa AS numpuntoventa ");
sb.append(" from ");
sb.append(" caja_diversos cd ");
sb.append(" left join evento_extra ev on ev.eventoextra_id = cd.eventoextra_id ");
sb.append(" left join empresa e on e.empresa_id = ev.empresa_id ");
sb.append(" left join punto_venta pv on pv.puntoventa_id = cd.puntoventa_id ");
sb.append(" left join caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id ");
sb.append(" left join tipo_evento_extra tee on tee.tipoeventoextra_id = ev.tipoeventoextra_id ");
sb.append(" left join ptovta_integra pi on e.empresa_id = pi.empresa_id and pi.puntoventa_id = pv.puntoventa_id ");
sb.append(" where ");
sb.append(" cd.feccorte = ? ");
if (puntoVentaId != null && !puntoVentaId.equals(-1)){
sb.append(" and cd.puntoventa_id = " + puntoVentaId);
}
if (empresaId != null){
sb.append(" and e.empresa_id = " + empresaId);
}
sb.append(" and cd.activo = 1 ");
StringBuilder sb = new StringBuilder();
sb.append(" select ");
sb.append(" cd.feccorte AS fechorvta, ");
sb.append(" e.empresa_id AS empresa, ");
sb.append(" pv.puntoventa_id AS puntoventaId, ");
sb.append(" sum(cdp.importe) AS valor, ");
sb.append(" case when cdp.formapago_id = 2 then 802 else 803 end as contacontabil, ");
sb.append(" pv.numpuntoventa AS numpuntoventa, ev.tipoeventoextra_id ");
sb.append(" from ");
sb.append(" caja_diversos cd ");
sb.append(" left join evento_extra ev on ev.eventoextra_id = cd.eventoextra_id ");
sb.append(" left join empresa e on e.empresa_id = ev.empresa_id ");
sb.append(" left join punto_venta pv on pv.puntoventa_id = cd.puntoventa_id ");
sb.append(" left join caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id ");
sb.append(" left join tipo_evento_extra tee on tee.tipoeventoextra_id = ev.tipoeventoextra_id ");
sb.append(" left join ptovta_integra pi on e.empresa_id = pi.empresa_id and pi.puntoventa_id = pv.puntoventa_id ");
sb.append(" where ");
sb.append(" cd.feccorte = ? ");
adicionaFiltroQuery(puntoVentaId, sb, " and cd.puntoventa_id = ", puntoVentaId != null && !puntoVentaId.equals(-1));
adicionaFiltroQuery(empresaId, sb, " and e.empresa_id = ", empresaId != null);
sb.append(" and cd.activo = 1 ");
sb.append(" and cdp.formapago_id in (2,3) ");
sb.append(" group by ");
sb.append(" cd.feccorte, ");
sb.append(" e.empresa_id, ");
sb.append(" pv.puntoventa_id, ");
sb.append(" case when cdp.formapago_id = 2 then 802 else 803 end, ");
sb.append(" pv.numpuntoventa ");
sb.append(" group by ");
sb.append(" cd.feccorte, ");
sb.append(" e.empresa_id, ");
sb.append(" pv.puntoventa_id, ");
sb.append(" case when cdp.formapago_id = 2 then 802 else 803 end, ");
sb.append(" pv.numpuntoventa, ev.tipoeventoextra_id ");
PreparedStatement stmt = null;
@ -155,7 +152,7 @@ public class Totalbus {
despesa.setCodigoReceitaDespesa(rs.getString(5));
despesa.setDataLancamento(rs.getDate(1));
despesa.setDataMovimento(rs.getDate(1));
despesa.setLocalArrecadação(rs.getString(6));
despesa.setLocalArrecadacao(rs.getString(6));
if (rs.getBigDecimal(4).signum() == -1){
despesa.setIdentificadorReceitaDespesa("R");
despesa.setValorLancamento(df.format(rs.getBigDecimal(4).multiply(new BigDecimal(-1))));
@ -163,6 +160,9 @@ public class Totalbus {
despesa.setIdentificadorReceitaDespesa("D");
despesa.setValorLancamento(df.format(rs.getBigDecimal(4)));
}
if (incluiTipoPagamentoTurismoBGM) {
despesa.setTipoPagamentoTurismo(rs.getString("tipoeventoextra_id"));
}
despesas.add(despesa);
}
} catch (Exception e){
@ -173,44 +173,42 @@ public class Totalbus {
}
return despesas;
}
private void adicionaFiltroQuery(final Integer valor, StringBuilder sb, String filtroSQL, Boolean adicionar) {
if (adicionar) {
sb.append(filtroSQL + valor);
}
}
public List<DespesaReceita> getReceitas(final Integer puntoVentaId, final Integer empresaId, Date fechaParam) {
public List<DespesaReceita> getReceitas(final Integer puntoVentaId, final Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) {
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuffer sb = new StringBuffer();
sb.append(" select ");
sb.append(" cd.feccorte AS fechorvta, ");
sb.append(" e.empresa_id AS empresa, ");
sb.append(" pv.puntoventa_id AS puntoventaId, ");
sb.append(" sum(cdp.importe) AS valor, ");
sb.append(" tee.contacontabil AS contacontabil, ");
sb.append(" pv.numpuntoventa AS numpuntoventa, ");
sb.append(" ev.descinfo as descinfo ");
sb.append(" from ");
sb.append(" caja_diversos cd ");
sb.append(" left join evento_extra ev on ev.eventoextra_id = cd.eventoextra_id ");
sb.append(" left join empresa e on e.empresa_id = ev.empresa_id ");
sb.append(" left join punto_venta pv on pv.puntoventa_id = cd.puntoventa_id ");
sb.append(" left join caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id ");
sb.append(" left join tipo_evento_extra tee on tee.tipoeventoextra_id = ev.tipoeventoextra_id ");
sb.append(" left join ptovta_integra pi on e.empresa_id = pi.empresa_id and pi.puntoventa_id = pv.puntoventa_id ");
sb.append(" where ");
StringBuilder sb = new StringBuilder();
sb.append(" select ");
sb.append(" cd.feccorte AS fechorvta, ");
sb.append(" e.empresa_id AS empresa, ");
sb.append(" pv.puntoventa_id AS puntoventaId, ");
sb.append(" sum(cdp.importe) AS valor, ");
sb.append(" tee.contacontabil AS contacontabil, ");
sb.append(" pv.numpuntoventa AS numpuntoventa, ");
sb.append(" ev.descinfo as descinfo, ev.tipoeventoextra_id ");
sb.append(" from ");
sb.append(" caja_diversos cd ");
sb.append(" left join evento_extra ev on ev.eventoextra_id = cd.eventoextra_id ");
sb.append(" left join empresa e on e.empresa_id = ev.empresa_id ");
sb.append(" left join punto_venta pv on pv.puntoventa_id = cd.puntoventa_id ");
sb.append(" left join caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id ");
sb.append(" left join tipo_evento_extra tee on tee.tipoeventoextra_id = ev.tipoeventoextra_id ");
sb.append(" left join ptovta_integra pi on e.empresa_id = pi.empresa_id and pi.puntoventa_id = pv.puntoventa_id ");
sb.append(" where ");
sb.append(" cd.feccorte = ? ");
if (puntoVentaId != null && !puntoVentaId.equals(-1)){
sb.append(" and cd.puntoventa_id = " + puntoVentaId);
}
if (empresaId != null){
sb.append(" and e.empresa_id = " + empresaId);
}
sb.append(" and cd.activo = 1 ");
sb.append(" and tee.indtipo = 1 ");
//sb.append(" and cd.usuario_id=7061 ");
sb.append(" group by ");
sb.append(" cd.feccorte, ");
sb.append(" e.empresa_id, ");
sb.append(" pv.puntoventa_id, ");
sb.append(" tee.contacontabil, ");
sb.append(" pv.numpuntoventa, ev.descinfo ");
adicionaFiltroQuery(puntoVentaId, sb, " and cd.puntoventa_id = ", puntoVentaId != null && !puntoVentaId.equals(-1));
adicionaFiltroQuery(empresaId, sb, " and e.empresa_id = ", empresaId != null);
sb.append(" and cd.activo = 1 ");
sb.append(" and tee.indtipo = 1 ");
sb.append(" group by cd.feccorte, ");
sb.append(" e.empresa_id, pv.puntoventa_id, ");
sb.append(" tee.contacontabil, pv.numpuntoventa, ");
sb.append(" ev.descinfo, ev.tipoeventoextra_id ");
PreparedStatement stmt = null;
ResultSet rs = null;
@ -231,7 +229,7 @@ public class Totalbus {
receita.setCodigoReceitaDespesa(rs.getString(5));
receita.setDataLancamento(rs.getDate(1));
receita.setDataMovimento(rs.getDate(1));
receita.setLocalArrecadação(rs.getString(6));
receita.setLocalArrecadacao(rs.getString(6));
if (rs.getBigDecimal(4).signum() == -1){
receita.setIdentificadorReceitaDespesa("D");
receita.setValorLancamento(df.format(rs.getBigDecimal(4).multiply(new BigDecimal(-1))));
@ -240,6 +238,9 @@ public class Totalbus {
receita.setValorLancamento(df.format(rs.getBigDecimal(4)));
}
receita.setDescricaoDetalhada(rs.getString(7));
if (incluiTipoPagamentoTurismoBGM) {
receita.setTipoPagamentoTurismo(rs.getString("tipoeventoextra_id"));
}
despesas.add(receita);
}
} catch (Exception e){
@ -251,7 +252,7 @@ public class Totalbus {
return despesas;
}
public List<DespesaReceita> getDespesas(Integer puntoventaId, Integer empresaId, Date fechaParam){
public List<DespesaReceita> getDespesas(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM){
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuilder sb = new StringBuilder();
sb.append(" select ");
@ -260,7 +261,7 @@ public class Totalbus {
sb.append(" pv.numpuntoventa as numpuntoventa, ");
sb.append(" cdp.importe as valor, ");
sb.append(" tee.contacontabil as contacontabil, ");
sb.append(" ev.descinfo as descinfo ");
sb.append(" ev.descinfo as descinfo, ev.tipoeventoextra_id ");
sb.append(" from ");
sb.append(" caja_diversos cd ");
sb.append(" left join evento_extra ev on ev.eventoextra_id = cd.eventoextra_id ");
@ -272,14 +273,9 @@ public class Totalbus {
sb.append(" where ");
sb.append(" cd.feccorte = ? ");
sb.append(" and tee.indtipo = 0 ");
if (puntoventaId != null && !puntoventaId.equals(-1)){
sb.append(" and cd.puntoventa_id = " + puntoventaId);
}
if (empresaId != null){
sb.append(" and e.empresa_id = " + empresaId);
}
adicionaFiltroQuery(puntoventaId, sb, " and cd.puntoventa_id = ", puntoventaId != null && !puntoventaId.equals(-1));
adicionaFiltroQuery(empresaId, sb, " and e.empresa_id = ", empresaId != null);
sb.append(" and cd.activo = 1 ");
//sb.append(" and cd.usuario_id=7061 ");
sb.append(" and not exists (select ee.EVENTOEXTRA_ID from evento_extra ee where ev.EVENTOEXTRA_ID = ee.EVENTOEXTRACANC_ID) ");
sb.append(" and ev.EVENTOEXTRACANC_ID is null ");
@ -302,10 +298,13 @@ public class Totalbus {
despesa.setCodigoReceitaDespesa(rs.getString(5));
despesa.setDataLancamento(rs.getDate(1));
despesa.setDataMovimento(rs.getDate(1));
despesa.setLocalArrecadação(rs.getString(3));
despesa.setLocalArrecadacao(rs.getString(3));
despesa.setValorLancamento(df.format(rs.getBigDecimal(4).doubleValue() * -1));
despesa.setIdentificadorReceitaDespesa("D");
despesa.setDescricaoDetalhada(rs.getString(6));
if (incluiTipoPagamentoTurismoBGM) {
despesa.setTipoPagamentoTurismo(rs.getString("tipoeventoextra_id"));
}
despesas.add(despesa);
}
} catch (Exception e){
@ -317,11 +316,12 @@ public class Totalbus {
return despesas;
}
public List<DespesaReceita> getDepositos(Integer puntoventaId, Integer empresaId, Date fechaParam){
public List<DespesaReceita> getDepositos(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM){
List<DespesaReceita> depositos = new ArrayList<DespesaReceita>();
StringBuilder strFechamentos = new StringBuilder();
strFechamentos.append("Select distinct sum(fd.valor_pago), fdep.numdeposito, fdep.fecha_deposito, fc.empresa_id, pv.numpuntoventa, ec.numagencia, ec.numconta, if.CODIGO, ec.numintegracion, fdep.feccreacion ");
strFechamentos.append("Select distinct sum(fd.valor_pago), fdep.numdeposito, fdep.fecha_deposito, fc.empresa_id, ");
strFechamentos.append(" pv.numpuntoventa, ec.numagencia, ec.numconta, if.CODIGO, ec.numintegracion, fdep.feccreacion, ev.tipoeventoextra_id ");
strFechamentos.append(" from fechamento_deposito fdep ");
strFechamentos.append(" join fechamento_cct_deposito fd on fd.fechamentodeposito_id = fdep.fechamentodeposito_id ");
strFechamentos.append(" join fechamento_cntcorrente fc on fc.fechamentocntcorrente_id = fd.fechamentocntcorrente_id ");
@ -330,17 +330,10 @@ public class Totalbus {
strFechamentos.append(" join INSTI_FINANCEIRA if on if.INSTIFINANCEIRA_ID = EC.INSTIFINANCEIRA_ID ");
strFechamentos.append(" join EMPRESA e on e.empresa_id = fc.empresa_id ");
strFechamentos.append(" where trunc(fdep.feccreacion) = :fecha and fd.activo = 1 and fc.activo = 1 and fdep.activo = 1 ");
if (puntoventaId != null && !puntoventaId.equals(-1)){
strFechamentos.append(" and fc.puntoventa_id = " + puntoventaId);
}
if (empresaId != null){
strFechamentos.append(" and fc.empresa_id = " + empresaId);
}
adicionaFiltroQuery(puntoventaId, strFechamentos, " and fc.puntoventa_id = ", puntoventaId != null && !puntoventaId.equals(-1));
adicionaFiltroQuery(empresaId, strFechamentos, " and fc.empresa_id = ", empresaId != null);
strFechamentos.append(" group by fdep.numdeposito, fdep.feccreacion, fdep.fecha_deposito, fc.empresa_id, pv.numpuntoventa, ec.numagencia, ec.numconta, if.CODIGO, ec.numintegracion ");
Date fecha = fechaParam;
if(fechaParam == null){
fecha = getData();
@ -350,14 +343,13 @@ public class Totalbus {
ResultSet rsFechamentos = null;
BigDecimal soma = BigDecimal.ZERO;
try{
pstmtFechamentos = getConnection().prepareStatement(strFechamentos.toString());
pstmtFechamentos = getConnection().prepareStatement(strFechamentos.toString());
pstmtFechamentos.setDate(1, new java.sql.Date(fecha.getTime()));
rsFechamentos = pstmtFechamentos.executeQuery();
while (rsFechamentos.next()){
Integer empId = null;
Integer pvId = null;
String banco = "" ;
String agencia = "";
String contaCorrente = "";
@ -366,22 +358,24 @@ public class Totalbus {
String numpuntoventa = rsFechamentos.getString(5);
if (empId == null ){ empId = rsFechamentos.getInt(4); }
if (banco.isEmpty()){banco = "Bco: " + DespesaReceita.lpad(rsFechamentos.getString(8), "0", 3);}
if (banco.isEmpty()){banco = "Bco: " + StringUtils.leftPad(rsFechamentos.getString(8), 3, "0");}
if (agencia.isEmpty()){ agencia = " Ag: " + rsFechamentos.getString(6); }
if (contaCorrente.isEmpty()){ contaCorrente = " C/C: " + rsFechamentos.getString(7); }
//ref += ref.length() <= 6 ? sdf.format(rsFechamentos.getDate(3)) : ", " + sdf.format(rsFechamentos.getDate(3));
if (codRecDesp == null){ codRecDesp = rsFechamentos.getString(9); }
DespesaReceita deposito = new DespesaReceita();
deposito.setCodigoEmpresa(empId);
deposito.setDataLancamento(rsFechamentos.getDate(10));
deposito.setDataMovimento(rsFechamentos.getDate(3));
deposito.setLocalArrecadação(numpuntoventa);
deposito.setLocalArrecadacao(numpuntoventa);
deposito.setValorLancamento(df.format(rsFechamentos.getBigDecimal(1)));
deposito.setIdentificadorReceitaDespesa("D");
deposito.setCodigoReceitaDespesa(codRecDesp);
deposito.setDescricaoDetalhada(banco + agencia + contaCorrente + numDep);
if (incluiTipoPagamentoTurismoBGM) {
deposito.setTipoPagamentoTurismo(rsFechamentos.getString("tipoeventoextra_id"));
}
depositos.add(deposito);
soma = soma.add(rsFechamentos.getBigDecimal(1));
}
@ -446,7 +440,6 @@ public class Totalbus {
StringBuilder sb = new StringBuilder();
PreparedStatement pstmt = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat sdfConstante = new SimpleDateFormat("yyyy/MM/dd");
try{
if (!getConnection().
prepareStatement("Select valorconstante from constante where nombconstante = 'DATA_LIMITE_EDICAO_DEPOSITO_" + empresaId + "'").

View File

@ -4,6 +4,8 @@ import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
public class DespesaReceita {
private String dataLancamento; // DD/MM/YYYY
private String codigoEmpresa; // 011 003 Numérico
@ -19,7 +21,7 @@ public class DespesaReceita {
private final String numeroContratoTurismo = "0000000000";// 098 010 Numérico
private final String numeroReciboTurismo = " ";// 108 010 Alfanumérico
private final String formaPagamentoTurismo = "00";// 118 002 Numérico
private final String tipoPagamentoTurismo = "00";// 120 002 Numérico
private String tipoPagamentoTurismo = "00";// 120 002 Numérico
private String descricaoDetalhada = " ";// 122 100 Alfanumérico
private final String documentoVenda = "000000";// 222 6 Numérico
private final String tipoDocumentoVenda = " ";// 228 1 Alfanumérico
@ -39,7 +41,7 @@ public class DespesaReceita {
turno + codigoReceitaDespesa +
identificadorReceitaDespesa.toUpperCase() + valorLancamento +
numeroContratoTurismo + numeroReciboTurismo +
formaPagamentoTurismo + tipoPagamentoTurismo +
getFormaPagamentoTurismo() + getTipoPagamentoTurismo() +
descricaoDetalhada + documentoVenda + tipoDocumentoVenda +
numerodocumentoCPG + finalLinha + System.getProperty("line.separator"));
}
@ -49,15 +51,15 @@ public class DespesaReceita {
}
public void setCodigoEmpresa(Integer codigoEmpresa) {
this.codigoEmpresa = lpad(codigoEmpresa.toString(), "0", 3);
this.codigoEmpresa = StringUtils.leftPad(codigoEmpresa.toString(), 3, "0");
}
public void setLocalArrecadação(Integer localArrecadação) {
this.localArrecadação = rpad(localArrecadação.toString(), " ", 5);
public void setLocalArrecadacao(Integer localArrecadacao) {
this.localArrecadação = StringUtils.rightPad(localArrecadacao.toString(), 5, " ");
}
public void setLocalArrecadação(String localArrecadação) {
this.localArrecadação = rpad(localArrecadação.toString(), " ", 5);
public void setLocalArrecadacao(String localArrecadacao) {
this.localArrecadação = StringUtils.rightPad(localArrecadacao, 5, " ");
}
public void setDataMovimento(Date dataMovimento) {
@ -65,48 +67,38 @@ public class DespesaReceita {
}
public void setCodigoReceitaDespesa(String codigoReceitaDespesa) {
if (codigoReceitaDespesa != null){
this.codigoReceitaDespesa = lpad(codigoReceitaDespesa.toString(), "0", 10);
} else {
this.codigoReceitaDespesa = lpad("0", "0", 10);
}
this.codigoReceitaDespesa = StringUtils.leftPad(codigoReceitaDespesa != null ? codigoReceitaDespesa : "0", 10, "0");
}
public void setIdentificadorReceitaDespesa(String identificadorReceitaDespesa) {
this.identificadorReceitaDespesa = identificadorReceitaDespesa.toUpperCase();
}
public void setValorLancamento(String valorLançamento) {
this.valorLancamento = lpad(valorLançamento.toString().replace(",", "").replace(".", ""), "0", 13);
public void setValorLancamento(String valorLancamento) {
this.valorLancamento = StringUtils.leftPad(valorLancamento.replace(",", "").replace(".", ""), 13, "0");
}
public void setDescricaoDetalhada(String desc){
if (desc != null){
this.descricaoDetalhada = rpad(truncStr(desc, 100), " ", 100);
} else {
this.descricaoDetalhada = rpad("", " ", 100);
}
this.descricaoDetalhada = StringUtils.rightPad(desc != null ? truncStr(desc, 100) : "", 100, " ");
}
public String getFormaPagamentoTurismo() {
return formaPagamentoTurismo;
}
public String getTipoPagamentoTurismo() {
return tipoPagamentoTurismo;
}
public void setTipoPagamentoTurismo(String tipoPagamentoTurismo) {
this.tipoPagamentoTurismo = StringUtils.leftPad(tipoPagamentoTurismo, 2, "0");
}
private String truncStr(String str, int size){
if (str.length() > size){
return str.substring(0, size -1);
}
return str;
}
public static String lpad(String valueToPad, String filler, int size) {
while (valueToPad.length() < size) {
valueToPad = filler + valueToPad;
}
return valueToPad;
}
public static String rpad(String valueToPad, String filler, int size) {
while (valueToPad.length() < size) {
valueToPad = valueToPad+filler;
}
return valueToPad;
}
}