package com.rjconsultores.integracaoreceitadespesa.entidades; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import org.apache.commons.lang.StringUtils; public class DespesaReceita { protected String dataLancamento; // DD/MM/YYYY 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 String tipoDocumentoVenda = " ";// 208 1 Alfanumerico protected final String numerodocumentoCPG = "0000000000";// 209 10 Numerico protected String formaPagamentoId = "0";// 218 Numerico protected String tx_id = " "; protected String numFolioSistema = " "; protected final String finalLinha = "*";// 239 1 Alfanumerico protected String numeroEstabelecimento = " "; protected String codigoAutorizacao = " "; protected String cantParcelas = "0000"; protected SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); public DespesaReceita() { } public void preencheLinha(List rows) { StringBuilder sb = new StringBuilder(); sb.append(dataLancamento); sb.append(codigoEmpresa); sb.append(codigoFilial); sb.append(localArrecadacao.toUpperCase()); sb.append(numeroDaGuia); sb.append(dataMovimento); sb.append(usuarioGlobus); sb.append(turno); sb.append(codigoReceitaDespesa); sb.append(identificadorReceitaDespesa.toUpperCase()); sb.append(valorLancamento); sb.append(StringUtils.rightPad("", 10, " ")); sb.append(numeroReciboTurismo); sb.append(getFormaPagamentoTurismo()); sb.append(getTipoPagamentoTurismo()); sb.append(StringUtils.rightPad(StringUtils.isNotEmpty(descricaoDetalhada) ? truncStr(descricaoDetalhada, 100) : "", 100, " ")); sb.append(documentoVenda); sb.append(tipoDocumentoVenda); sb.append(StringUtils.rightPad("", 9, "0")); sb.append(formaPagamentoId); sb.append(finalLinha); sb.append(System.getProperty("line.separator")); rows.add(sb.toString()); } public void preencheLinhaComporte(List rows) { StringBuilder sb = new StringBuilder(); sb.append(StringUtils.rightPad(dataLancamento.trim(), 10, " ")); //10 sb.append(StringUtils.leftPad(codigoEmpresa.trim(), 3, "0")); //13 sb.append(StringUtils.leftPad(codigoFilial.trim(), 3, "0")); //16 sb.append(StringUtils.rightPad(truncStr(localArrecadacao.toUpperCase(), 5), 5, " ")); //21 sb.append(StringUtils.rightPad(numeroDaGuia.trim(), 25, " ")); //46 sb.append(StringUtils.rightPad(dataMovimento.trim(), 10, " ")); //56 sb.append(StringUtils.rightPad(usuarioGlobus.trim(), 15, " ")); //71 sb.append(StringUtils.leftPad(turno.trim(), 2, "0")); //73 sb.append(StringUtils.leftPad(codigoReceitaDespesa.trim(), 10, "0")); //83 sb.append(StringUtils.rightPad(identificadorReceitaDespesa.toUpperCase().trim(), 1, " ")); //84 sb.append(StringUtils.leftPad(valorLancamento.trim(), 13, "0")); //97 sb.append(StringUtils.rightPad(numeroContratoTurismo.trim(), 10, "0")); //107 sb.append(StringUtils.rightPad(numeroReciboTurismo.trim(), 10, "0")); //117 sb.append(StringUtils.leftPad(getFormaPagamentoId().trim(), 2, "0")); //119 sb.append(StringUtils.leftPad(getTipoPagamentoTurismo().trim(), 2, "0")); //121 sb.append(StringUtils.rightPad(descricaoDetalhada.trim(), 80, " ")); //201 sb.append(StringUtils.rightPad(StringUtils.isNotEmpty(numeroEstabelecimento) ? StringUtils.rightPad(numeroEstabelecimento, 10, "0").substring(0,10) : "", 10, "0"));//211 sb.append(codigoAutorizacao != null ? StringUtils.rightPad(codigoAutorizacao, 25, "0") : StringUtils.rightPad("", 25, "0")); //236 sb.append(StringUtils.rightPad(formaPagamentoId.trim(), 2, "0")); //238 sb.append(StringUtils.leftPad(cantParcelas.trim(), 4, "0")); //242 sb.append(StringUtils.leftPad(numFolioSistema.trim(), 16, " ")); //258 sb.append(StringUtils.leftPad(tx_id.trim(), 35, " ")); //293 sb.append(finalLinha); 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(getFormaPagamentoId().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); } public void setCodigoEmpresa(Integer codigoEmpresa) { this.codigoEmpresa = StringUtils.leftPad(codigoEmpresa.toString(), 3, "0"); } public void setLocalArrecadacao(Integer localArrecadacao) { this.localArrecadacao = StringUtils.rightPad(localArrecadacao != null ? truncStr(localArrecadacao.toString(), 5) : "", 5, " "); } public void setLocalArrecadacao(String localArrecadacao) { this.localArrecadacao = StringUtils.rightPad(localArrecadacao != null ? truncStr(localArrecadacao, 6) : "", 5, ""); } public void setDataMovimento(Date dataMovimento) { this.dataMovimento = sdf.format(dataMovimento); } public void setCodigoReceitaDespesa(String codigoReceitaDespesa) { this.codigoReceitaDespesa = StringUtils.leftPad(codigoReceitaDespesa != null ? codigoReceitaDespesa : "0", 10, "0"); } public void setIdentificadorReceitaDespesa(String identificadorReceitaDespesa) { this.identificadorReceitaDespesa = identificadorReceitaDespesa.toUpperCase(); } public void setValorLancamento(String valorLancamento) { this.valorLancamento = StringUtils.leftPad(valorLancamento!=null?truncStr(valorLancamento.replace(",", "").replace(".", ""), 100):"", 13, "0"); } public void setDescricaoDetalhada(String desc) { this.descricaoDetalhada = StringUtils.rightPad(StringUtils.isNotEmpty(desc) ? truncStr(desc, 100) : "", 100, " "); } public String getFormaPagamentoTurismo() { return formaPagamentoTurismo; } public String getTipoPagamentoTurismo() { return tipoPagamentoTurismo; } public void setTipoPagamentoTurismo(String tipoPagamentoTurismo) { this.tipoPagamentoTurismo = StringUtils.leftPad(StringUtils.isNotEmpty(tipoPagamentoTurismo) ? truncStr(tipoPagamentoTurismo, 2):tipoPagamentoTurismo, 2, " "); } public String getFormaPagamentoId() { return formaPagamentoId; } public void setFormaPagamentoId(String formaPagamentoId) { this.formaPagamentoId = StringUtils.leftPad(StringUtils.isNotEmpty(formaPagamentoId) ? truncStr(formaPagamentoId.toString(), 2) : "", 1, "0"); } protected String truncStr(String str, int size) { if (str.length() > size) { return str.substring(0, size - 1); } return str; } public String getTipoDocumentoVenda() { return tipoDocumentoVenda; } public void setTipoDocumentoVenda(String tipoDocumentoVenda) { this.tipoDocumentoVenda = tipoDocumentoVenda; } public String getNumeroEstabelecimento() { return numeroEstabelecimento; } public void setNumeroEstabelecimento(String numeroEstabelecimento) { this.numeroEstabelecimento = StringUtils.rightPad(numeroEstabelecimento != null ? numeroEstabelecimento : " ", 10, " "); } public String getCodigoAutorizacao() { return codigoAutorizacao; } public void setCodigoAutorizacao(String codigoAutorizacao) { this.codigoAutorizacao = StringUtils.rightPad(codigoAutorizacao != null ? truncStr(codigoAutorizacao, 22) : " ", 22, "0"); } public String getCantParcelas() { return cantParcelas; } public void setCantParcelas(String cantParcelas) { this.cantParcelas = StringUtils.isNotEmpty(cantParcelas) ? StringUtils.leftPad(cantParcelas, 4,"0") : " "; } }