- Ajustes RDA (caso 0004448)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@30799 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
30784c74d7
commit
b651ef497d
|
@ -37,15 +37,23 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
|
||||
this.setCustomDataSource(new ArrayDataSource(this) {
|
||||
|
||||
protected HashMap<Integer, HashMap<String, Object>> mapDados;
|
||||
protected HashMap<String, HashMap<String, Object>> mapDados;
|
||||
|
||||
@Override
|
||||
public Object valueCustomFields(String fieldName) throws Exception {
|
||||
if (fieldName.equals("RECEITA_TOTAL")) {
|
||||
return ((BigDecimal) this.getByName("RECEITA_TARIFA")).add((BigDecimal) this.getByName("RECEITA_SEGURO")).add((BigDecimal) this.getByName("RECEITA_BAGAGEM")).add((BigDecimal) this.getByName("RECEITA_EMBARQUE")).subtract((BigDecimal) this.getByName("TOTAL_DEVOL"));
|
||||
BigDecimal gap = BigDecimal.ZERO;
|
||||
if ((Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP")) {
|
||||
gap = ((BigDecimal) this.getByName("RECEITA_TARIFA_GAP")).add((BigDecimal) this.getByName("RECEITA_SEGURO_GAP")).add((BigDecimal) this.getByName("RECEITA_EMBARQUE_GAP")).subtract((BigDecimal) this.getByName("TOTAL_DEVOL_GAP"));
|
||||
}
|
||||
return ((BigDecimal) this.getByName("RECEITA_TARIFA")).add((BigDecimal) this.getByName("RECEITA_SEGURO")).add((BigDecimal) this.getByName("RECEITA_BAGAGEM")).add((BigDecimal) this.getByName("RECEITA_EMBARQUE")).subtract((BigDecimal) this.getByName("TOTAL_DEVOL")).add(gap);
|
||||
}
|
||||
else if (fieldName.equals("RECEITA_LIQUIDA")) {
|
||||
return ((BigDecimal) this.getByName("RECEITA_TARIFA")).add((BigDecimal) this.getByName("RECEITA_SEGURO")).add((BigDecimal) this.getByName("RECEITA_BAGAGEM")).add((BigDecimal) this.getByName("RECEITA_EMBARQUE")).subtract((BigDecimal) this.getByName("TOTAL_DEVOL")).subtract((BigDecimal) this.getByName("IMPOSTOS"));
|
||||
BigDecimal gap = BigDecimal.ZERO;
|
||||
if ((Boolean) this.relatorio.getParametros().get("B_CONTEMPLAR_GAP"))
|
||||
gap = ((BigDecimal) this.getByName("RECEITA_TARIFA_GAP")).add((BigDecimal) this.getByName("RECEITA_SEGURO_GAP")).add((BigDecimal) this.getByName("RECEITA_EMBARQUE_GAP")).subtract((BigDecimal) this.getByName("TOTAL_DEVOL_GAP"));
|
||||
|
||||
return ((BigDecimal) this.getByName("RECEITA_TARIFA")).add((BigDecimal) this.getByName("RECEITA_SEGURO")).add((BigDecimal) this.getByName("RECEITA_BAGAGEM")).add((BigDecimal) this.getByName("RECEITA_EMBARQUE")).subtract((BigDecimal) this.getByName("TOTAL_DEVOL")).subtract((BigDecimal) this.getByName("IMPOSTOS")).add(gap);
|
||||
}
|
||||
else if (fieldName.equals("DIFERENCA_COMISSAO")) {
|
||||
return ((BigDecimal) this.getByName("VALOR_COMISSAO")).subtract((BigDecimal) this.getByName("ANTECIPACAO"));
|
||||
|
@ -78,14 +86,12 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
for (Estado s : (ArrayList<Estado>) parametros.get("ESTADO_ID")) {
|
||||
strEstadoList.append("," + s.getEstadoId() + ",");
|
||||
}
|
||||
|
||||
stmt.setString("ESTADO_ID", strEstadoList.toString());
|
||||
stmt.setString("ISESTADOTODOS", "N");
|
||||
}
|
||||
else {
|
||||
stmt.setNull("ESTADO_ID", java.sql.Types.INTEGER);
|
||||
stmt.setString("ISESTADOTODOS", "S");
|
||||
|
||||
}
|
||||
|
||||
if (parametros.get("EMPRESA_ID") != null)
|
||||
|
@ -115,7 +121,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
|
||||
// Verifica se existe agência de destino da comissão e atualiza a row se necessario
|
||||
if ((Integer) configComissao.get("PUNTOVENTA_ID") != 0 && !((Integer) configComissao.get("PUNTOVENTA_ID")).equals(this.resultSet.getInt("PUNTOVENTA_ID")))
|
||||
rowDestino = this.getRow((Integer) configComissao.get("PUNTOVENTA_ID"), null);
|
||||
rowDestino = this.getRow((Integer) configComissao.get("PUNTOVENTA_ID"), (Integer) rowOrigem.get("EMPRESA_ID"), null);
|
||||
|
||||
Integer puntoVentaId = (Integer) rowDestino.get("PUNTOVENTA_ID");
|
||||
BigDecimal motivoCancelacionId = this.resultSet.getBigDecimal("MOTIVOCANCELACION_ID");
|
||||
|
@ -201,18 +207,20 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
rowDestino.put("NUMPUNTOVENTA", configComissao.get("NUMPUNTOVENTA"));
|
||||
rowDestino.put("NOMBPUNTOVENTA", configComissao.get("NOMBPUNTOVENTA"));
|
||||
rowDestino.put("EMPRESAPUNTOVENTA_ID", rowOrigem.get("EMPRESAPUNTOVENTA_ID"));
|
||||
rowDestino.put("EMPRESA", rowOrigem.get("EMPRESA"));
|
||||
rowDestino.put("EMPRESA_ID", rowOrigem.get("EMPRESA_ID"));
|
||||
rowDestino.put("ESTADO_ID", configComissao.get("ESTADO_ID"));
|
||||
rowDestino.put("TIPO_AGENCIA", configComissao.get("TIPO_AGENCIA"));
|
||||
|
||||
mapDados.put(puntoVentaId, (HashMap<String, Object>) rowDestino);
|
||||
mapDados.put(puntoVentaId+"-"+rowOrigem.get("EMPRESA_ID"), (HashMap<String, Object>) rowDestino);
|
||||
}
|
||||
}
|
||||
|
||||
protected Map<String, Object> getRow(Integer puntoVentaId, ResultSet rs) throws SQLException {
|
||||
protected Map<String, Object> getRow(Integer puntoVentaId, Integer empresaId, ResultSet rs) throws SQLException {
|
||||
|
||||
Map<String, Object> row;
|
||||
if (mapDados.containsKey(puntoVentaId)) {
|
||||
row = mapDados.get(puntoVentaId);
|
||||
if (mapDados.containsKey(puntoVentaId.toString()+"-"+empresaId.toString())) {
|
||||
row = mapDados.get(puntoVentaId.toString()+"-"+empresaId.toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -243,6 +251,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
row.put("CVEESTADO", rs.getString("CVEESTADO"));
|
||||
row.put("NUMPUNTOVENTA", rs.getString("NUMPUNTOVENTA"));
|
||||
row.put("EMPRESA", rs.getString("NOMBEMPRESA"));
|
||||
row.put("EMPRESA_ID", rs.getString("EMPRESA_ID"));
|
||||
row.put("NOMBPUNTOVENTA", rs.getString("NOMBPUNTOVENTA"));
|
||||
row.put("EMPRESAPUNTOVENTA_ID", rs.getInt("EMPRESAPUNTOVENTA_ID"));
|
||||
row.put("ESTADO_ID", rs.getBigDecimal("ESTADO_ID"));
|
||||
|
@ -251,7 +260,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
// Como a receita de bagagem é obtida por agencia, já calcula o valor
|
||||
if (!(Boolean) this.relatorio.getParametros().get("B_EXCLUI_BAGAGEM"))
|
||||
{
|
||||
BigDecimal receitaBagagem = getValorReceitaBagagem(puntoVentaId);
|
||||
BigDecimal receitaBagagem = getValorReceitaBagagem(puntoVentaId, empresaId);
|
||||
try {
|
||||
row.put("IMPOSTOS", getValorImposto(rs.getInt("ORIGEM_ESTADO_ID"), puntoVentaId, rs.getString("INTERESTADUAL"), BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO, BigDecimal.ZERO, receitaBagagem));
|
||||
} catch (Exception e) {
|
||||
|
@ -272,19 +281,20 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
public void initDados() throws Exception {
|
||||
|
||||
this.prepareQuery();
|
||||
this.mapDados = new HashMap<Integer, HashMap<String, Object>>();
|
||||
this.mapDados = new HashMap<String, HashMap<String, Object>>();
|
||||
|
||||
while (this.resultSet.next()) {
|
||||
|
||||
Integer puntoVentaId = this.resultSet.getInt("PUNTOVENTA_ID");
|
||||
Integer empresaId = this.resultSet.getInt("EMPRESA_ID");
|
||||
Integer motivoCancelacionId = this.resultSet.getInt("MOTIVOCANCELACION_ID");
|
||||
Integer tipoVentaId = this.resultSet.getInt("TIPOVENTA_ID");
|
||||
Integer idEstado = this.resultSet.getInt("ORIGEM_ESTADO_ID");
|
||||
|
||||
// Inicializa a row atual
|
||||
Map<String, Object> row = this.getRow(puntoVentaId, this.resultSet);
|
||||
Map<String, Object> row = this.getRow(puntoVentaId,empresaId, this.resultSet);
|
||||
|
||||
this.mapDados.put((Integer) row.get("PUNTOVENTA_ID"), (HashMap<String, Object>) row);
|
||||
this.mapDados.put(row.get("PUNTOVENTA_ID")+"-"+empresaId.toString(), (HashMap<String, Object>) row);
|
||||
|
||||
row.put("TOTAL_BILHETES", ((BigDecimal) row.get("TOTAL_BILHETES")).add(motivoCancelacionId == 0 && !tipoVentaId.equals(18) ? BigDecimal.ONE : BigDecimal.ZERO));
|
||||
row.put("TOTAL_BILHETES_GAP", ((BigDecimal) row.get("TOTAL_BILHETES_GAP")).add(motivoCancelacionId == 0 && tipoVentaId.equals(18) ? BigDecimal.ONE : BigDecimal.ZERO));
|
||||
|
@ -469,7 +479,7 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
return BigDecimal.ZERO;
|
||||
}
|
||||
|
||||
public BigDecimal getValorReceitaBagagem(Integer puntoVentaId) throws SQLException {
|
||||
public BigDecimal getValorReceitaBagagem(Integer puntoVentaId, Integer empresaId) throws SQLException {
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.append(" SELECT nvl(SUM(CASE ");
|
||||
sql.append(" WHEN EE.TIPOEVENTOEXTRA_ID = 1 AND EE.ACTIVO = 1 THEN ");
|
||||
|
@ -479,9 +489,11 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
sql.append(" WHERE TRUNC(EE.FECHORINGRESO) BETWEEN :DATA_INICIO AND ");
|
||||
sql.append(" :DATA_FINAL ");
|
||||
sql.append(" AND EE.PUNTOVENTA_ID = :PUNTOVENTA_ID ");
|
||||
sql.append(" AND EE.EMPRESA_ID = :EMPRESA_ID ");
|
||||
|
||||
NamedParameterStatement stmt = new NamedParameterStatement(this.getConexao(), sql.toString());
|
||||
stmt.setInt("PUNTOVENTA_ID", puntoVentaId);
|
||||
stmt.setInt("EMPRESA_ID", empresaId);
|
||||
stmt.setDate("DATA_INICIO", (java.sql.Date) this.getParametros().get("DATA_INICIO"));
|
||||
stmt.setDate("DATA_FINAL", (java.sql.Date) this.getParametros().get("DATA_FINAL"));
|
||||
|
||||
|
@ -570,9 +582,11 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
sql.append(" AND CJD.PUNTOVENTA_ID = CJ.PUNTOVENTA_ID");
|
||||
sql.append(" AND ROWNUM = 1) POSSUI_CANC, ");
|
||||
sql.append(" TP.CVEPTOVTA TIPO_AGENCIA, ");
|
||||
sql.append(" EC.NOMBEMPRESA ");
|
||||
sql.append(" EC.NOMBEMPRESA, ");
|
||||
sql.append(" EC.EMPRESA_ID ");
|
||||
sql.append(" FROM CAJA CJ, ");
|
||||
sql.append(" PUNTO_VENTA PV, ");
|
||||
sql.append(" MARCA MC, ");
|
||||
sql.append(" EMPRESA EM, ");
|
||||
sql.append(" EMPRESA EC, ");
|
||||
sql.append(" PARADA PR, ");
|
||||
|
@ -589,7 +603,8 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
sql.append(" :DATA_FINAL ");
|
||||
sql.append(" AND PR.PARADA_ID = PV.PARADA_ID ");
|
||||
sql.append(" AND CJ.EMPRESAPUNTOVENTA_ID = EM.EMPRESA_ID ");
|
||||
sql.append(" AND CJ.EMPRESACORRIDA_ID = EC.EMPRESA_ID ");
|
||||
sql.append(" AND CJ.MARCA_ID = MC.MARCA_ID ");
|
||||
sql.append(" AND MC.EMPRESA_ID = EC.EMPRESA_ID ");
|
||||
sql.append(" AND EM.CIUDAD_ID = CE.CIUDAD_ID ");
|
||||
sql.append(" AND CX.CIUDAD_ID = PR.CIUDAD_ID ");
|
||||
sql.append(" AND CX.ESTADO_ID = ES.ESTADO_ID ");
|
||||
|
@ -601,13 +616,13 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
|
|||
sql.append(" AND CJ.INDREIMPRESION = 0 ");
|
||||
sql.append(" AND PV.TIPOPTOVTA_ID = NVL(:TIPOPTOVTA_ID, PV.TIPOPTOVTA_ID) ");
|
||||
sql.append(" AND TP.TIPOPTOVTA_ID = PV.TIPOPTOVTA_ID ");
|
||||
sql.append(" AND CJ.EMPRESACORRIDA_ID = NVL(:EMPRESA_ID, CJ.EMPRESACORRIDA_ID) ");
|
||||
sql.append(" AND EC.EMPRESA_ID = NVL(:EMPRESA_ID, EC.EMPRESA_ID) ");
|
||||
// sql.append(" AND ES.ESTADO_ID = NVL(:ESTADO_ID, ES.ESTADO_ID) ");
|
||||
sql.append(" AND ((INSTR(:NUMPUNTOVENTA, ',' || TRIM(PV.NUMPUNTOVENTA) || ',') > 0 AND ");
|
||||
sql.append(" :ISNUMPUNTOVENTATODOS = 'N') OR (:ISNUMPUNTOVENTATODOS = 'S')) ");
|
||||
sql.append(" AND ((INSTR(:ESTADO_ID, ',' || TRIM(ES.ESTADO_ID) || ',') > 0 AND ");
|
||||
sql.append(" :ISESTADOTODOS = 'N') OR (:ISESTADOTODOS = 'S')) ");
|
||||
sql.append(" ORDER BY EC.NOMBEMPRESA ");
|
||||
sql.append(" ORDER BY EC.NOMBEMPRESA, ES.CVEESTADO ");
|
||||
|
||||
return sql.toString();
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -247,6 +247,7 @@
|
|||
<field name="RECEITA_EMBARQUE" class="java.math.BigDecimal"/>
|
||||
<field name="RECEITA_EMBARQUE_GAP" class="java.math.BigDecimal"/>
|
||||
<field name="EMPRESA" class="java.lang.String"/>
|
||||
<sortField name="EMPRESA"/>
|
||||
<sortField name="CVEESTADO"/>
|
||||
<variable name="TOTAL_BILHETES_SUM" class="java.math.BigDecimal" resetType="Group" resetGroup="GRUPO_ESTADO" calculation="Sum">
|
||||
<variableExpression><![CDATA[$F{TOTAL_BILHETES}]]></variableExpression>
|
||||
|
|
|
@ -1 +1 @@
|
|||
ADM_20130910_1RC229
|
||||
ADM_20130910_1RC230
|
Loading…
Reference in New Issue