Evidencia em anexa,

Relatorio tirado apontado para o ambiente do cliente.

fixes bug#AL-1590
qua:
dev:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@115066 d1611594-4594-4d17-8e1d-87c2c4800839
master
walace 2022-10-28 13:51:31 +00:00
parent 286244d34d
commit e5cc21975b
1 changed files with 20 additions and 4 deletions

View File

@ -21,6 +21,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioIndiceIRKBean;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
@ -53,7 +54,7 @@ public class RelatorioIndiceIRK extends Relatorio {
String corridasIds = parametros.get("SERVICO_FILTRO") != null ? (parametros.get("SERVICO_FILTRO").toString()) : null;
// Executa query relatório e preenche objeto relatório
lsDadosRelatorio= preencheAgrupaRelatorioBean(preparaExecutaQuery(parametros, conexao, rutaId, empresa, grupoRutaId, rutaIds, corridasIds));
lsDadosRelatorio= preencheAgrupaRelatorioBean(preparaExecutaQuery(parametros, conexao, rutaId, empresa, grupoRutaId, rutaIds, corridasIds), parametros);
// Ordena pela Desc Linha
Collections.sort(lsDadosRelatorio, new Comparator<RelatorioIndiceIRKBean>() {
@ -144,7 +145,7 @@ public class RelatorioIndiceIRK extends Relatorio {
sb.append(" gruporuta,");
sb.append(" indiceirkminimo,");
sb.append(" hora,");
sb.append(" extensao,");
sb.append(" (extensao) AS extensao,");
sb.append(" SUM(seguro) AS seguro,");
sb.append(" SUM(txembarque) AS txembarque,");
sb.append(" SUM(pedagio) AS pedagio,");
@ -230,8 +231,14 @@ public class RelatorioIndiceIRK extends Relatorio {
}
private List<RelatorioIndiceIRKBean> preencheAgrupaRelatorioBean(ResultSet rset) throws SQLException {
private List<RelatorioIndiceIRKBean> preencheAgrupaRelatorioBean(ResultSet rset, Map<String, Object> parametros) throws SQLException {
lsDadosRelatorio = new ArrayList<RelatorioIndiceIRKBean>();
Date dataInicio = (Date) parametros.get("DATA_INICIO");
Date dataFinal = (Date) parametros.get("DATA_FINAL");
int diferenciaDeDiasFiltroData = calcularQuantidadeDeDiasFiltroData(dataInicio, dataFinal);
while (rset.next()) {
RelatorioIndiceIRKBean relatorioIndiceIRK = new RelatorioIndiceIRKBean();
relatorioIndiceIRK.setServico((Integer) rset.getInt("servico"));
@ -242,7 +249,7 @@ public class RelatorioIndiceIRK extends Relatorio {
relatorioIndiceIRK.setIrkMinimo((BigDecimal) rset.getObject("indiceirkminimo"));
relatorioIndiceIRK.setHora((String) rset.getObject("hora"));
relatorioIndiceIRK.setExtensao((BigDecimal) rset.getObject("extensao"));
relatorioIndiceIRK.setKmRodado((BigDecimal) rset.getObject("extensao"));
relatorioIndiceIRK.setKmRodado(((BigDecimal) rset.getObject("extensao")).multiply(new BigDecimal(diferenciaDeDiasFiltroData)));
relatorioIndiceIRK.setSeguro((BigDecimal) rset.getObject("seguro"));
relatorioIndiceIRK.setTxEmbarque((BigDecimal) rset.getObject("txembarque"));
relatorioIndiceIRK.setPedagio((BigDecimal) rset.getObject("pedagio"));
@ -259,4 +266,13 @@ public class RelatorioIndiceIRK extends Relatorio {
return lsDadosRelatorio;
}
private int calcularQuantidadeDeDiasFiltroData(Date dataInicial, Date dataFInal) {
if (dataInicial != null && dataFInal != null) {
int diferencaDias = DateUtil.diferencaEntreDatasEmdias(dataInicial, dataFInal)+1;
return diferencaDias;
}
return 1;
}
}