diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissao.java index 45b3b2d68..db8b85ebd 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasComissao.java @@ -13,6 +13,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import com.rjconsultores.ventaboletos.constantes.Constantes; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.utilitarios.DataSource; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.relatorios.utilitarios.RelatorioVendasComissaoBean; @@ -32,6 +33,7 @@ public class RelatorioVendasComissao extends Relatorio { private Timestamp fecFinal; private Integer empresaId; private Boolean apenasCancelados; + private PuntoVenta puntoVenta; public RelatorioVendasComissao(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -48,6 +50,13 @@ public class RelatorioVendasComissao extends Relatorio { } apenasCancelados = (Boolean) parametros.get("apenasCancelados"); + Object puntoVentaParam = parametros.get("puntoVenta"); + if (puntoVentaParam != null) { + puntoVenta = (PuntoVenta) puntoVentaParam; + parametros.put("nombPuntoVenta", puntoVenta.getNombpuntoventa()); + } else { + parametros.put("nombPuntoVenta", "Todas;"); + } Connection conexao = this.relatorio.getConexao(); processarVendasComissao(conexao); @@ -118,18 +127,21 @@ public class RelatorioVendasComissao extends Relatorio { if(indice > -1) { relatorioVendaComissao = lsDadosRelatorio.get(indice); } + + BigDecimal total = rset.getBigDecimal("TOTAL"); + BigDecimal totalTaxas = rset.getBigDecimal("TOTAL_TAXAS"); if(isVenda(indstatusboleto, indreimpresion) || isTroca(indstatusboleto, indreimpresion)) { - relatorioVendaComissao.setTotalVendas(relatorioVendaComissao.getTotalVendas().add(rset.getBigDecimal("TOTAL") != null ? rset.getBigDecimal("TOTAL") : new BigDecimal(0))); - relatorioVendaComissao.setTotalTaxasVendas(relatorioVendaComissao.getTotalTaxasVendas().add(rset.getBigDecimal("TOTAL_TAXAS") != null ? rset.getBigDecimal("TOTAL_TAXAS") : new BigDecimal(0))); + relatorioVendaComissao.setTotalVendas(relatorioVendaComissao.getTotalVendas().add(total)); + relatorioVendaComissao.setTotalTaxasVendas(relatorioVendaComissao.getTotalTaxasVendas().add(totalTaxas)); } else if(isCancelamentoCaja(indstatusboleto, motivocancelacionId, indreimpresion)) { - relatorioVendaComissao.setTotalVendasCanceladas(relatorioVendaComissao.getTotalVendasCanceladas().add(rset.getBigDecimal("TOTAL") != null ? rset.getBigDecimal("TOTAL") : new BigDecimal(0))); - relatorioVendaComissao.setTotalTaxasVendasCanceladas(relatorioVendaComissao.getTotalTaxasVendasCanceladas().add(rset.getBigDecimal("TOTAL_TAXAS") != null ? rset.getBigDecimal("TOTAL_TAXAS") : new BigDecimal(0))); + relatorioVendaComissao.setTotalVendasCanceladas(relatorioVendaComissao.getTotalVendasCanceladas().add(total)); + relatorioVendaComissao.setTotalTaxasVendasCanceladas(relatorioVendaComissao.getTotalTaxasVendasCanceladas().add(totalTaxas)); } else if(isDevolucaoCaja(indstatusboleto, motivocancelacionId, indreimpresion) || isDevolucaoOcdCaja(indstatusboleto, motivocancelacionId, indreimpresion) || isDevolucaoTrocaCaja(indstatusboleto, motivocancelacionId, indreimpresion)) { - relatorioVendaComissao.setTotalVendasDevolucao(relatorioVendaComissao.getTotalVendasDevolucao().add(rset.getBigDecimal("TOTAL") != null ? rset.getBigDecimal("TOTAL") : new BigDecimal(0))); - relatorioVendaComissao.setTotalTaxasVendasDevolucao(relatorioVendaComissao.getTotalTaxasVendasDevolucao().add(rset.getBigDecimal("TOTAL_TAXAS") != null ? rset.getBigDecimal("TOTAL_TAXAS") : new BigDecimal(0))); + relatorioVendaComissao.setTotalVendasDevolucao(relatorioVendaComissao.getTotalVendasDevolucao().add(total)); + relatorioVendaComissao.setTotalTaxasVendasDevolucao(relatorioVendaComissao.getTotalTaxasVendasDevolucao().add(totalTaxas)); } if(indice == -1) { @@ -151,6 +163,7 @@ public class RelatorioVendasComissao extends Relatorio { relatorioVendaComissao.setNumAsiento(rset.getString("NUMASIENTO")); relatorioVendaComissao.setPrecioTotalPagado(rset.getBigDecimal("TOTAL")); relatorioVendaComissao.setFecHorVenta(rset.getDate("FECHORVENTA")); + relatorioVendaComissao.setNombPuntoVenta(rset.getString("NOMBPUNTOVENTA")); lsDadosRelatorioCancelamento.add(relatorioVendaComissao); } @@ -206,6 +219,9 @@ public class RelatorioVendasComissao extends Relatorio { if(empresaId != null){ stmt.setInt("EMPRESA_ID", empresaId); } + if (puntoVenta != null) { + stmt.setInt("puntoVentaId", puntoVenta.getPuntoventaId()); + } return stmt; } @@ -219,23 +235,21 @@ public class RelatorioVendasComissao extends Relatorio { .append("FROM CAJA C ") .append("JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = C.PUNTOVENTA_ID ") .append("JOIN MARCA M ON M.MARCA_ID = C.MARCA_ID ") - .append("LEFT JOIN PUNTO_VENTA PV1 ON PV1.PUNTOVENTA_ID = C.PTOVTAVENTA_ID "); - - if (apenasCancelados) { - sQuery.append(" WHERE (C.INDCANCELACION = 1 AND C.INDSTATUSBOLETO = 'C') "); - - } else { - sQuery.append("WHERE ((C.INDSTATUSBOLETO = 'V' AND C.INDREIMPRESION = 0)" - + " OR (C.INDSTATUSBOLETO = 'T' AND C.INDREIMPRESION = 0) " - + "OR (C.INDCANCELACION = 1 AND C.INDSTATUSBOLETO = 'C')) "); + .append("LEFT JOIN PUNTO_VENTA PV1 ON PV1.PUNTOVENTA_ID = C.PTOVTAVENTA_ID ") + .append("WHERE ((C.INDSTATUSBOLETO = 'V' AND C.INDREIMPRESION = 0) ") + .append("OR (C.INDSTATUSBOLETO = 'T' AND C.INDREIMPRESION = 0) ") + .append("OR (C.INDCANCELACION = 1 AND C.INDSTATUSBOLETO = 'C')) "); + + if (puntoVenta != null) { + sQuery.append("AND C.PUNTOVENTA_ID = :puntoVentaId "); } - + sQuery.append("AND C.FECHORVENTA BETWEEN :fecInicio AND :fecFinal "); - if(parametros.get("EMPRESA_ID")!= null){ - sQuery.append("AND M.EMPRESA_ID =:EMPRESA_ID "); - } - sQuery.append("GROUP BY PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, C.PTOVTAVENTA_ID, PV1.NUMPUNTOVENTA, PV1.NOMBPUNTOVENTA, C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, C.INDREIMPRESION ") - .append("ORDER BY PV.NUMPUNTOVENTA, PV1.NUMPUNTOVENTA, C.INDSTATUSBOLETO"); + if(parametros.get("EMPRESA_ID")!= null){ + sQuery.append("AND M.EMPRESA_ID =:EMPRESA_ID "); + } + sQuery.append("GROUP BY PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA, PV.NOMBPUNTOVENTA, C.PTOVTAVENTA_ID, PV1.NUMPUNTOVENTA, PV1.NOMBPUNTOVENTA, C.INDSTATUSBOLETO, C.MOTIVOCANCELACION_ID, C.INDREIMPRESION ") + .append("ORDER BY PV.NUMPUNTOVENTA, PV1.NUMPUNTOVENTA, C.INDSTATUSBOLETO"); return sQuery.toString(); } @@ -244,17 +258,24 @@ public class RelatorioVendasComissao extends Relatorio { StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT C.NUMFOLIOSISTEMA, C.CORRIDA_ID, C.FECHORVIAJE, C.NUMASIENTO, C.PRECIOPAGADO, C.FECHORVENTA, ") + sQuery.append("SELECT C.NUMFOLIOSISTEMA, C.CORRIDA_ID, C.FECHORVIAJE, C.NUMASIENTO, C.PRECIOPAGADO, C.FECHORVENTA, PV.NOMBPUNTOVENTA, ") .append("(COALESCE (C.PRECIOPAGADO,0) + COALESCE (C.IMPORTETAXAEMBARQUE,0) + COALESCE (C.IMPORTESEGURO,0) + COALESCE (C.IMPORTEPEDAGIO,0) + COALESCE (C.IMPORTEOUTROS,0)) AS TOTAL ") .append("FROM CAJA C ") .append("JOIN MARCA M ON M.MARCA_ID = C.MARCA_ID ") - .append("WHERE C.INDCANCELACION = 1 AND C.INDSTATUSBOLETO = 'C' "); + .append("JOIN PUNTO_VENTA PV ON PV.PUNTOVENTA_ID = C.PUNTOVENTA_ID ") + .append("WHERE C.INDSTATUSBOLETO = 'C' ") + .append("AND ((C.MOTIVOCANCELACION_ID IN(32, 10) AND C.INDREIMPRESION = 0) ") + .append("OR (C.MOTIVOCANCELACION_ID = 99 AND C.INDREIMPRESION = 1)) "); sQuery.append("AND C.FECHORVENTA BETWEEN :fecInicio AND :fecFinal "); if(parametros.get("EMPRESA_ID")!= null) { sQuery.append("AND M.EMPRESA_ID =:EMPRESA_ID "); } + if (puntoVenta != null) { + sQuery.append("AND C.PUNTOVENTA_ID = :puntoVentaId "); + } + return sQuery.toString(); } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_es.properties index ba65ae0a3..d1c2d9044 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_es.properties @@ -18,4 +18,6 @@ label.corridaId=N label.fecHorViaje=Data Servicio label.numAsiento=Número de Asiento label.precioTotalPagado=Valor de Entradas -label.fecHorVenta=Fecha de Regreso \ No newline at end of file +label.fecHorVenta=Fecha de Regreso +label.puntoVenta=Agência +label.nombPuntoVenta=Nome Agência \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_pt_BR.properties index acc9e4a3f..a9568cf16 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissaoCancelamento_pt_BR.properties @@ -18,4 +18,6 @@ label.corridaId=N label.fecHorViaje=Data do Serviço label.numAsiento=Poltrona label.precioTotalPagado=Valor do Bilhete -label.fecHorVenta=Data da Devolução \ No newline at end of file +label.fecHorVenta=Data da Devolução +label.puntoVenta=Agência +label.nombPuntoVenta=Nome Agência \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_es.properties index 5a8ce2039..9bd241b06 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_es.properties @@ -20,4 +20,5 @@ label.totalVendasCanceladas=Anula label.totalTaxasVendasCanceladas=Taxas Anulação label.totalVendasDevolucao=Devolução label.totalTaxasVendasDevolucao=Taxas Devolução -label.total=Total \ No newline at end of file +label.total=Total +label.puntoVenta=Agência: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_pt_BR.properties index 5a8ce2039..9bd241b06 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioVendasComissao_pt_BR.properties @@ -20,4 +20,5 @@ label.totalVendasCanceladas=Anula label.totalTaxasVendasCanceladas=Taxas Anulação label.totalVendasDevolucao=Devolução label.totalTaxasVendasDevolucao=Taxas Devolução -label.total=Total \ No newline at end of file +label.total=Total +label.puntoVenta=Agência: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jasper index 67106bc11..f65fa1b1e 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jrxml index de52a226d..1574eeb10 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissao.jrxml @@ -7,7 +7,7 @@ - + @@ -74,11 +74,14 @@ - - - - - + + + + + + + + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jasper index e9a4d071d..a8a75c9be 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jrxml index 7c6e8b145..10af5f943 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioVendasComissaoCancelamento.jrxml @@ -1,13 +1,13 @@ - - - + + + - + @@ -17,6 +17,7 @@ + @@ -26,47 +27,52 @@ <band height="81" splitType="Stretch"> <textField> - <reportElement x="0" y="0" width="620" height="20" uuid="43b2c28d-4760-4890-b00d-25e931e79c74"/> + <reportElement uuid="43b2c28d-4760-4890-b00d-25e931e79c74" x="0" y="0" width="620" height="20"/> <textElement markup="none"> <font size="14" isBold="true"/> </textElement> <textFieldExpression><![CDATA[$R{cabecalho.nome}]]></textFieldExpression> </textField> <textField pattern="dd/MM/yyyy HH:mm"> - <reportElement x="638" y="0" width="164" height="20" uuid="4d1bcd65-c9a6-44b4-8dca-cc3c4c20c9a5"/> + <reportElement uuid="4d1bcd65-c9a6-44b4-8dca-cc3c4c20c9a5" x="638" y="0" width="164" height="20"/> <textElement textAlignment="Right"> <font isBold="true"/> </textElement> <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression> </textField> <textField> - <reportElement x="0" y="20" width="620" height="20" uuid="fd05bd35-30d9-4baf-aa56-f8e5d3c3268b"/> + <reportElement uuid="fd05bd35-30d9-4baf-aa56-f8e5d3c3268b" x="0" y="20" width="620" height="20"/> <textElement> <font isBold="true"/> </textElement> <textFieldExpression><![CDATA[$R{cabecalho.periodo} + " " + $P{fecInicio} + " " + $R{cabecalho.periodoA} + " " + $P{fecFinal}]]></textFieldExpression> </textField> <textField> - <reportElement x="53" y="41" width="139" height="20" uuid="8fa1c53b-1da7-4d4d-a75c-ab1543acae2a"/> + <reportElement uuid="8fa1c53b-1da7-4d4d-a75c-ab1543acae2a" x="53" y="41" width="139" height="20"/> + <textElement/> <textFieldExpression><![CDATA[$P{empresa}]]></textFieldExpression> </textField> <staticText> - <reportElement x="0" y="41" width="53" height="20" uuid="a91f6081-4740-4e36-8965-41b6cde4cc20"/> + <reportElement uuid="a91f6081-4740-4e36-8965-41b6cde4cc20" x="0" y="41" width="53" height="20"/> + <textElement/> <text><![CDATA[Empresa:]]></text> </staticText> <textField> - <reportElement x="0" y="61" width="139" height="20" uuid="f1811f21-420c-4faf-87d2-2d46e1b74118"/> - <textElement> - <font isBold="true" pdfFontName="Helvetica-Bold"/> - </textElement> - <textFieldExpression><![CDATA[$P{apenasCancelados} ? "Apenas cancelamentos" : ""]]></textFieldExpression> + <reportElement uuid="96d6ce56-5bf3-460a-b3ba-a81890a2caed" x="0" y="61" width="53" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$R{label.puntoVenta}]]></textFieldExpression> + </textField> + <textField> + <reportElement uuid="b75cac86-9c93-40ec-b667-afd66f26103d" x="53" y="61" width="139" height="20"/> + <textElement/> + <textFieldExpression><![CDATA[$P{nombPuntoVenta}]]></textFieldExpression> </textField> </band> - + @@ -77,62 +83,82 @@ - + + - + - + + - + + - + + - + - + + + + + + + - + - + + - + + - + + - + + - + + + + + + + @@ -144,15 +170,15 @@ - + - + - + @@ -163,7 +189,7 @@ - + diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasComissaoCancelamentoBean.java b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasComissaoCancelamentoBean.java index da05b353c..e390d936b 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasComissaoCancelamentoBean.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/utilitarios/RelatorioVendasComissaoCancelamentoBean.java @@ -16,6 +16,8 @@ public class RelatorioVendasComissaoCancelamentoBean { private BigDecimal precioTotalPagado; private Date fecHorVenta; + + private String nombPuntoVenta; public String getNumFolioSistema() { return numFolioSistema; @@ -65,4 +67,12 @@ public class RelatorioVendasComissaoCancelamentoBean { this.fecHorVenta = fecHorVenta; } + public String getNombPuntoVenta() { + return nombPuntoVenta; + } + + public void setNombPuntoVenta(String nombPuntoVenta) { + this.nombPuntoVenta = nombPuntoVenta; + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java index 791ecd9e8..956f49d4e 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasComissaoController.java @@ -20,11 +20,13 @@ import org.zkoss.zul.Comboitem; import org.zkoss.zul.Datebox; import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasComissao; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @Controller("relatorioVendasComissaoController") @@ -45,6 +47,7 @@ public class RelatorioVendasComissaoController extends MyGenericForwardComposer private Datebox dataInicial; private Datebox dataFinal; private Checkbox chkApenasCancelados; + private MyComboboxPuntoVenta cmbPuntoVenta; @Override public void doAfterCompose(Component comp) throws Exception { @@ -78,6 +81,13 @@ public class RelatorioVendasComissaoController extends MyGenericForwardComposer parametros.put("apenasCancelados", chkApenasCancelados.isChecked()); + Comboitem cmbItemPuntoVenta = cmbPuntoVenta.getSelectedItem(); + if (cmbItemPuntoVenta != null) { + PuntoVenta puntoVenta = (PuntoVenta) cmbItemPuntoVenta.getValue(); + parametros.put("puntoVenta", puntoVenta); + parametros.put("nombPuntoVenta", puntoVenta.getNombpuntoventa()); + } + Relatorio relatorio = new RelatorioVendasComissao(parametros, dataSourceRead.getConnection()); Map args = new HashMap();