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 final String finalLinha = "*";// 239 1 Alfanumerico 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 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; } }