diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java index 3550c2ae1..23331a0b0 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasPTA.java @@ -25,21 +25,41 @@ public class RelatorioVendasPTA extends Relatorio { public enum SituacaoBoleto { - TODAS(-1, "Todas"), ANULADO(31, "Anulado"), DEVOLVIDO(32, "Devolvido"), REMARCADO(23, "Remarcado"), TROCADO(10, "Trocado"), VENDIDO(1, "Vendido"), ENTREGUE(2, "Entregue"), NAO_ENTREGUE(3, "Não Entregue"); + TODAS(-1, "Todas", ""), ANULADO(31, "Anulado", "A"), DEVOLVIDO(32, "Devolvido", "D"), + REMARCADO(23, "Remarcado", "R"), TROCADO(10, "Trocado", "TP"), VENDIDO(1, "Vendido", ""), + ENTREGUE(2, "Entregue", ""), NAO_ENTREGUE(3, "Não Entregue", ""), CONTIGENCIA_100(37, "Contingencia 100%", "D"); private String situacao; private Integer codigo; + private String siglaCancelamento; - private SituacaoBoleto(Integer codigo, String situacao) { + private SituacaoBoleto(Integer codigo, String situacao, String siglaCancelamento) { this.situacao = situacao; this.codigo = codigo; + this.siglaCancelamento = siglaCancelamento; } + public String getSituacao() { return this.situacao; } + public Integer getCodigo() { return codigo; } + + public String getSiglaCancelamento() { + return this.siglaCancelamento; + } + + public static SituacaoBoleto getSituacaoBoletoCancelado(Integer codigo) { + for (SituacaoBoleto situacao : SituacaoBoleto.values()) { + if (!situacao.siglaCancelamento.isEmpty() + && situacao.getCodigo().equals(codigo)) { + return situacao; + } + } + throw new IllegalArgumentException("Situação de cancelamento inválido."); + } } private List lsDadosRelatorio; @@ -99,17 +119,10 @@ public class RelatorioVendasPTA extends Relatorio { saldo = saldo.add(vendasPTABean.getPreco() != null ? vendasPTABean.getPreco() : BigDecimal.ZERO); } else { BigDecimal situacao = (BigDecimal) rset.getObject("situacaoCancelado"); - if (situacao != null) { - vendasPTABean.setSituacaoCancelado(situacao.toString()); - if (vendasPTABean.getSituacaoCancelado().equals("31")) { - vendasPTABean.setSituacaoCancelado("A"); - } else if (vendasPTABean.getSituacaoCancelado().equals("32")) { - vendasPTABean.setSituacaoCancelado("D"); - } else if (vendasPTABean.getSituacaoCancelado().equals("23")) { - vendasPTABean.setSituacaoCancelado("R"); - } else if (vendasPTABean.getSituacaoCancelado().equals("10")) { - vendasPTABean.setSituacaoCancelado("TP"); - } + SituacaoBoleto situacaoBoletoCancelado; + if (situacao != null + && (situacaoBoletoCancelado = SituacaoBoleto.getSituacaoBoletoCancelado(situacao.intValue())) != null) { + vendasPTABean.setSituacaoCancelado(situacaoBoletoCancelado.getSiglaCancelamento()); } total = total.add(vendasPTABean.getPreco() != null ? vendasPTABean.getPreco() : BigDecimal.ZERO); @@ -140,14 +153,15 @@ public class RelatorioVendasPTA extends Relatorio { if (situacaoBoleto.getCodigo().equals(31)) { motivoCancelacion = "31"; - } else if (situacaoBoleto.getCodigo().equals(32)) { - motivoCancelacion = "32"; + } else if (situacaoBoleto.getCodigo().equals(32) + || situacaoBoleto.getCodigo().equals(37)) { + motivoCancelacion = "32, 37"; } else if (situacaoBoleto.getCodigo().equals(23)) { motivoCancelacion = "23"; } else if (situacaoBoleto.getCodigo().equals(10)) { motivoCancelacion = "10"; } else { - motivoCancelacion = "31, 32, 23, 10"; + motivoCancelacion = "31, 32, 37, 23, 10"; } if (situacaoBoleto.getCodigo().equals(1)) { // Somente Vendidos