fixes bug#16390
dev: qua: git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@98525 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
4a647a869b
commit
9145a645d3
|
@ -10,7 +10,9 @@ import java.sql.ResultSet;
|
|||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.rjconsultores.ventaboletos.entidad.Estado;
|
||||
|
@ -28,7 +30,11 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
|
|||
public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
||||
|
||||
private Map<String, HashMap<String, Object>> mapCacheConfigComissao;
|
||||
|
||||
//Mantis 16390
|
||||
//As vendas com impressão posterior não estavam sendo exibidas como prévenda pois só estavam sendo validados os tipoVendaId 18 e 39.
|
||||
//Verifiquei a classe RelatorioImpressaoPosterior e adicionei os tipoVendaId faltantes de acordo com sua regra de negócio.
|
||||
private List<Integer> listaTipoVentaIdPreVenda = Arrays.asList(5, 12, 18, 41, 49, 39);
|
||||
|
||||
public RelatorioReceitaDiariaAgencia(Map<String, Object> parametros, Connection conexao) throws Exception {
|
||||
|
||||
super(parametros, conexao);
|
||||
|
@ -320,11 +326,13 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
row.put("TOTAL_BILHETES_GAP", ((BigDecimal) row.get("TOTAL_BILHETES_GAP")).add(motivoCancelacionId == 0 && tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 0 ? BigDecimal.ONE : BigDecimal.ZERO));
|
||||
row.put("TOTAL_BILHETES_CANC", ((BigDecimal) row.get("TOTAL_BILHETES_CANC")).add(motivoCancelacionId == 31 ? BigDecimal.ONE : BigDecimal.ZERO));
|
||||
|
||||
boolean preVenda = isTipoVentaIdPreVenda(tipoVentaId);
|
||||
|
||||
// Aumenta receita
|
||||
// Não se trate de cancelamento e não seja uma impressão de pré venda
|
||||
if (motivoCancelacionId == 0 && !((tipoVentaId.equals(18) && this.resultSet.getInt("INDREIMPRESION") == 1))) {
|
||||
|
||||
row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).add(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
/*row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).add(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_TARIFA_GAP", ((BigDecimal) row.get("RECEITA_TARIFA_GAP")).add((tipoVentaId.equals(18) || tipoVentaId.equals(39)) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO", ((BigDecimal) row.get("RECEITA_SEGURO")).add(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) && this.resultSet.getBigDecimal("IMPORTESEGURO") != null ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO_GAP", ((BigDecimal) row.get("RECEITA_SEGURO_GAP")).add(((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTESEGURO") != null) ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
|
@ -337,6 +345,25 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
|
||||
// Realiza os calculos de comissão se o tipo de venda não for "EM ABERTO" e se for venda normal, ou se for GAP e o check estiver marcado
|
||||
if (!tipoVentaId.equals(9) && ((!tipoVentaId.equals(18) && !tipoVentaId.equals(39)) || ((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && (Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP"))))
|
||||
this.setRowComissao(row);*/
|
||||
|
||||
//Mantis 16390
|
||||
//As vendas com impressão posterior não estavam sendo exibidas como prévenda pois só estavam sendo validados os tipoVendaId 18 e 39.
|
||||
//Verifiquei a classe RelatorioImpressaoPosterior e adicionei os tipoVendaId faltantes de acordo com sua regra de negócio.
|
||||
|
||||
row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).add(!preVenda ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_TARIFA_GAP", ((BigDecimal) row.get("RECEITA_TARIFA_GAP")).add(preVenda ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO", ((BigDecimal) row.get("RECEITA_SEGURO")).add(!preVenda && this.resultSet.getBigDecimal("IMPORTESEGURO") != null ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO_GAP", ((BigDecimal) row.get("RECEITA_SEGURO_GAP")).add((preVenda && this.resultSet.getBigDecimal("IMPORTESEGURO") != null) ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_EMBARQUE", ((BigDecimal) row.get("RECEITA_EMBARQUE")).add(!preVenda && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_EMBARQUE_GAP", ((BigDecimal) row.get("RECEITA_EMBARQUE_GAP")).add(preVenda && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_OUTROS", ((BigDecimal) row.get("RECEITA_OUTROS")).add(!preVenda && this.resultSet.getBigDecimal("IMPORTEOUTROS") != null ? this.resultSet.getBigDecimal("IMPORTEOUTROS") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_OUTROS_GAP", ((BigDecimal) row.get("RECEITA_OUTROS_GAP")).add(preVenda && this.resultSet.getBigDecimal("IMPORTEOUTROS") != null ? this.resultSet.getBigDecimal("IMPORTEOUTROS") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_PEDAGIO", ((BigDecimal) row.get("RECEITA_PEDAGIO")).add(!preVenda && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_PEDAGIO_GAP", ((BigDecimal) row.get("RECEITA_PEDAGIO_GAP")).add(preVenda && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));
|
||||
|
||||
// Realiza os calculos de comissão se o tipo de venda não for "EM ABERTO" e se for venda normal, ou se for GAP e o check estiver marcado
|
||||
if (!tipoVentaId.equals(9) && (!preVenda || (preVenda && (Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP"))))
|
||||
this.setRowComissao(row);
|
||||
}
|
||||
|
||||
|
@ -354,7 +381,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
// Deduz os cancelamentos e trocas e transferencias
|
||||
if (motivoCancelacionId == 31 || motivoCancelacionId == 10 || (motivoCancelacionId == 23 && (Boolean) getParametros().get("TRANSFERENCIA_PASSAGENS"))) {
|
||||
|
||||
row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
/*row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_TARIFA_GAP", ((BigDecimal) row.get("RECEITA_TARIFA_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO", ((BigDecimal) row.get("RECEITA_SEGURO")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) && this.resultSet.getBigDecimal("IMPORTESEGURO") != null ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO_GAP", ((BigDecimal) row.get("RECEITA_SEGURO_GAP")).subtract(((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTESEGURO") != null) ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
|
@ -363,8 +390,22 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
row.put("RECEITA_OUTROS", ((BigDecimal) row.get("RECEITA_OUTROS")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) && this.resultSet.getBigDecimal("IMPORTEOUTROS") != null ? this.resultSet.getBigDecimal("IMPORTEOUTROS") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_OUTROS_GAP", ((BigDecimal) row.get("RECEITA_OUTROS_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTEOUTROS") != null ? this.resultSet.getBigDecimal("IMPORTEOUTROS") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_PEDAGIO", ((BigDecimal) row.get("RECEITA_PEDAGIO")).subtract(!tipoVentaId.equals(18) && !tipoVentaId.equals(39) && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_PEDAGIO_GAP", ((BigDecimal) row.get("RECEITA_PEDAGIO_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));
|
||||
|
||||
row.put("RECEITA_PEDAGIO_GAP", ((BigDecimal) row.get("RECEITA_PEDAGIO_GAP")).subtract((tipoVentaId.equals(18) || tipoVentaId.equals(39)) && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));*/
|
||||
|
||||
//Mantis 16390
|
||||
//As vendas com impressão posterior não estavam sendo exibidas como prévenda pois só estavam sendo validados os tipoVendaId 18 e 39.
|
||||
//Verifiquei a classe RelatorioImpressaoPosterior e adicionei os tipoVendaId faltantes de acordo com sua regra de negócio.
|
||||
|
||||
row.put("RECEITA_TARIFA", ((BigDecimal) row.get("RECEITA_TARIFA")).subtract(!preVenda ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_TARIFA_GAP", ((BigDecimal) row.get("RECEITA_TARIFA_GAP")).subtract(preVenda ? this.resultSet.getBigDecimal("PRECIOPAGADO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO", ((BigDecimal) row.get("RECEITA_SEGURO")).subtract(!preVenda && this.resultSet.getBigDecimal("IMPORTESEGURO") != null ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_SEGURO_GAP", ((BigDecimal) row.get("RECEITA_SEGURO_GAP")).subtract((preVenda && this.resultSet.getBigDecimal("IMPORTESEGURO") != null) ? this.resultSet.getBigDecimal("IMPORTESEGURO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_EMBARQUE", ((BigDecimal) row.get("RECEITA_EMBARQUE")).subtract(!preVenda && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_EMBARQUE_GAP", ((BigDecimal) row.get("RECEITA_EMBARQUE_GAP")).subtract(preVenda && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null ? this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_OUTROS", ((BigDecimal) row.get("RECEITA_OUTROS")).subtract(!preVenda && this.resultSet.getBigDecimal("IMPORTEOUTROS") != null ? this.resultSet.getBigDecimal("IMPORTEOUTROS") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_OUTROS_GAP", ((BigDecimal) row.get("RECEITA_OUTROS_GAP")).subtract(preVenda && this.resultSet.getBigDecimal("IMPORTEOUTROS") != null ? this.resultSet.getBigDecimal("IMPORTEOUTROS") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_PEDAGIO", ((BigDecimal) row.get("RECEITA_PEDAGIO")).subtract(!preVenda && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));
|
||||
row.put("RECEITA_PEDAGIO_GAP", ((BigDecimal) row.get("RECEITA_PEDAGIO_GAP")).subtract(preVenda && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null ? this.resultSet.getBigDecimal("IMPORTEPEDAGIO") : BigDecimal.ZERO));
|
||||
}
|
||||
// Aumenta devolução
|
||||
if (motivoCancelacionId == 32) {
|
||||
|
@ -694,5 +735,8 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private boolean isTipoVentaIdPreVenda(Integer tipoVentaId) {
|
||||
return listaTipoVentaIdPreVenda.contains(tipoVentaId);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue