0022355: ESPEC 2021 - Relatorio de pricing especifico SPRINT 2

bug#22355
dev:
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@108181 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2021-08-04 12:05:41 +00:00
parent 0a2d56fb34
commit 9e68405d3f
7 changed files with 126 additions and 2 deletions

View File

@ -98,6 +98,12 @@ public class RelatorioPricingEspecifico extends Relatorio {
Double tarifaVolta = (Double) parametros.get("TARIFAVOLTA"); Double tarifaVolta = (Double) parametros.get("TARIFAVOLTA");
Integer ocupacaoInicial = (Integer) parametros.get("OCUPACAOINICIAL");
Integer ocupacaoFinal = (Integer) parametros.get("OCUPACAOFINAL");
Double tarifaOcupacao = (Double) parametros.get("TARIFAOCUPACAO");
Double descontoOcupacao = (Double) parametros.get("DESCONTOOCUPACAO");
sql.append(" SELECT "); sql.append(" SELECT ");
sql.append(" PE.PRICINGESPECIFICO_ID, PE.NOMBPRICING, PE.DATAINICIOVIAGEM, PE.DATAFIMVIAGEM, PE.DATAINICIOVENDA, PE.DATAFIMVENDA, "); sql.append(" PE.PRICINGESPECIFICO_ID, PE.NOMBPRICING, PE.DATAINICIOVIAGEM, PE.DATAFIMVIAGEM, PE.DATAINICIOVENDA, PE.DATAFIMVENDA, ");
sql.append(" PE.CORRIDA_ID, cs.DESCCLASE, m.DESCMARCA, ORIGEM.DESCPARADA as ORIGEM, DESTINO.DESCPARADA as DESTINO, "); sql.append(" PE.CORRIDA_ID, cs.DESCCLASE, m.DESCMARCA, ORIGEM.DESCPARADA as ORIGEM, DESTINO.DESCPARADA as DESTINO, ");
@ -105,7 +111,7 @@ public class RelatorioPricingEspecifico extends Relatorio {
//Subquery ocupacao //Subquery ocupacao
sql.append(" ( SELECT"); sql.append(" ( SELECT");
sql.append(" LISTAGG(PEO.OCUPACIONINICIAL || ' a ' || PEO.OCUPACIONFINAL || ', ' || CASE PEO.TARIFA WHEN NULL THEN 'D: ' ||PEO.DESCUENTO ELSE 'T: ' || PEO.TARIFA END, '; ' ) "); sql.append(" LISTAGG(PEO.OCUPACIONINICIAL || ' a ' || PEO.OCUPACIONFINAL || ', ' || CASE WHEN PEO.TARIFA IS NULL THEN 'Desconto: ' ||PEO.DESCUENTO ELSE 'Tarifa: ' || PEO.TARIFA END, '; ' ) ");
sql.append(" WITHIN GROUP (ORDER BY PEO.PRICINGESPECIFICO_ID) OCUPACAO "); sql.append(" WITHIN GROUP (ORDER BY PEO.PRICINGESPECIFICO_ID) OCUPACAO ");
sql.append(" FROM "); sql.append(" FROM ");
sql.append(" PRICING_ESPECIFICO_OCUPACION PEO "); sql.append(" PRICING_ESPECIFICO_OCUPACION PEO ");
@ -204,6 +210,26 @@ public class RelatorioPricingEspecifico extends Relatorio {
sql.append(" AND pe.TARIFAREDABIERTO = ").append(tarifaVolta); sql.append(" AND pe.TARIFAREDABIERTO = ").append(tarifaVolta);
} }
if(ocupacaoInicial != null && ocupacaoFinal != null ) {
sql.append(" AND ( SELECT ");
sql.append(" COUNT(PEO.PRICINGESPECIFICOOCUPACION_ID) ");
sql.append(" FROM ");
sql.append(" PRICING_ESPECIFICO_OCUPACION PEO ");
sql.append(" WHERE ");
sql.append(" PEO.ACTIVO = 1 AND PEO.PRICINGESPECIFICO_ID = PE.PRICINGESPECIFICO_ID");
if(tarifaOcupacao != null) {
sql.append(" AND PEO.TARIFA = ").append(tarifaOcupacao);
}
if(descontoOcupacao != null) {
sql.append(" AND PEO.DESCUENTO = ").append(descontoOcupacao);
}
sql.append(" AND ").append(ocupacaoInicial).append(" BETWEEN PEO.OCUPACIONINICIAL AND PEO.OCUPACIONFINAL ");
sql.append(" AND ").append(ocupacaoFinal).append(" BETWEEN PEO.OCUPACIONINICIAL AND PEO.OCUPACIONFINAL ) > 0 ");
}
if (CANAL_DE_VENDA != null ) { if (CANAL_DE_VENDA != null ) {
sql.append(" AND ").append(CANAL_DE_VENDA).append(" in "); sql.append(" AND ").append(CANAL_DE_VENDA).append(" in ");
sql.append(" ( SELECT PECV.TIPOPTOVTA_ID "); sql.append(" ( SELECT PECV.TIPOPTOVTA_ID ");

View File

@ -212,7 +212,7 @@
</textElement> </textElement>
<textFieldExpression><![CDATA[$R{label.exibeNaVenda}]]></textFieldExpression> <textFieldExpression><![CDATA[$R{label.exibeNaVenda}]]></textFieldExpression>
</textField> </textField>
<textField isStretchWithOverflow="true" pattern="¤ #,##0.00" isBlankWhenNull="true"> <textField isStretchWithOverflow="true" pattern="#,##0.00" isBlankWhenNull="true">
<reportElement uuid="ddc9d137-b7ca-4f6d-a74d-deebadf6a0f6" positionType="Float" stretchType="RelativeToTallestObject" x="677" y="16" width="53" height="15" isPrintWhenDetailOverflows="true"/> <reportElement uuid="ddc9d137-b7ca-4f6d-a74d-deebadf6a0f6" positionType="Float" stretchType="RelativeToTallestObject" x="677" y="16" width="53" height="15" isPrintWhenDetailOverflows="true"/>
<textElement textAlignment="Center" verticalAlignment="Middle"> <textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/> <font size="8"/>

View File

@ -115,6 +115,12 @@ public class RelatorioPricingEspecificoController extends MyGenericForwardCompos
private Checkbox chkSexta; private Checkbox chkSexta;
private Checkbox chkSabado; private Checkbox chkSabado;
private Intbox ocupacaoInicial;
private Intbox ocupacaoFinal;
private Doublebox txtTarifaOcupacao;
private Doublebox txtDescontoOcupacao;
@Autowired @Autowired
private transient PagedListWrapper<PuntoVenta> plwPuntoVenta; private transient PagedListWrapper<PuntoVenta> plwPuntoVenta;
@ -333,6 +339,35 @@ public class RelatorioPricingEspecificoController extends MyGenericForwardCompos
filtro.append("; Tarifa Volta: " + tarifaVolta); filtro.append("; Tarifa Volta: " + tarifaVolta);
} }
Double tarifaOcupcao = txtTarifaOcupacao.getValue();
if (tarifaOcupcao != null) {
parametros.put("TARIFAOCUPACAO", tarifaOcupcao);
filtro.append("; Tarifa: " + tarifaOcupcao);
}
Double descontoOcupcao = txtDescontoOcupacao.getValue();
if (descontoOcupcao != null) {
parametros.put("DESCONTOOCUPACAO", descontoOcupcao);
filtro.append("; Desconto: " + descontoOcupcao);
}
Integer ocpInicial = ocupacaoInicial.getValue();
if (ocpInicial != null) {
parametros.put("OCUPACAOINICIAL", ocpInicial);
filtro.append("; Ocupação Inicial: " + ocpInicial);
}
Integer ocpFinal = ocupacaoFinal.getValue();
if (ocpFinal != null) {
parametros.put("OCUPACAOFINAL", ocpFinal);
filtro.append("; Ocupação Final: " + ocpFinal);
}
if((ocpInicial != null && ocpFinal == null) || (ocpFinal != null && ocpInicial == null)) {
Messagebox.show(Labels.getLabel("editarPricingController.ErroOcupacao"), Labels.getLabel("relatorioPricingEspecificoController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
return;
}
parametros.put("FILTROS", filtro.toString()); parametros.put("FILTROS", filtro.toString());
relatorio = new RelatorioPricingEspecifico(parametros, dataSourceRead.getConnection()); relatorio = new RelatorioPricingEspecifico(parametros, dataSourceRead.getConnection());
@ -566,4 +601,36 @@ public class RelatorioPricingEspecificoController extends MyGenericForwardCompos
public void setPuntoVentaSelList(MyListbox puntoVentaSelList) { public void setPuntoVentaSelList(MyListbox puntoVentaSelList) {
this.puntoVentaSelList = puntoVentaSelList; this.puntoVentaSelList = puntoVentaSelList;
} }
public Intbox getOcupacaoInicial() {
return ocupacaoInicial;
}
public void setOcupacaoInicial(Intbox ocupacaoInicial) {
this.ocupacaoInicial = ocupacaoInicial;
}
public Intbox getOcupacaoFinal() {
return ocupacaoFinal;
}
public void setOcupacaoFinal(Intbox ocupacaoFinal) {
this.ocupacaoFinal = ocupacaoFinal;
}
public Doublebox getTxtTarifaOcupacao() {
return txtTarifaOcupacao;
}
public void setTxtTarifaOcupacao(Doublebox txtTarifaOcupacao) {
this.txtTarifaOcupacao = txtTarifaOcupacao;
}
public Doublebox getTxtDescontoOcupacao() {
return txtDescontoOcupacao;
}
public void setTxtDescontoOcupacao(Doublebox txtDescontoOcupacao) {
this.txtDescontoOcupacao = txtDescontoOcupacao;
}
} }

View File

@ -3667,6 +3667,13 @@ editarPricingController.lhQuinta.label= Qui
editarPricingController.lhSexta.label= Sex editarPricingController.lhSexta.label= Sex
editarPricingController.lhSabado.label= Sab editarPricingController.lhSabado.label= Sab
editarPricingController.ocupacao=Ocupação
editarPricingController.ocupacaoInicial=Ocupaçao Inicial
editarPricingController.ocupacaoFinal=Ocupaçao Inicial
editarPricingController.TarifaOcupacao=Tarifa
editarPricingController.DescontoOcupacao=Desconto
editarPricingController.ErroOcupacao= É necessário preencher a ocupação inicial e final ou nenhuma delas.
editarPricingController.lhPorcSen.label = Porcentaje ida editarPricingController.lhPorcSen.label = Porcentaje ida
editarPricingController.lhPorcRed.label = Porcentaje viaje ida y regreso editarPricingController.lhPorcRed.label = Porcentaje viaje ida y regreso
editarPricingController.lhCantDias.label = Días de anticipación editarPricingController.lhCantDias.label = Días de anticipación

View File

@ -3961,6 +3961,13 @@ editarPricingController.lhQuinta.label= Qui
editarPricingController.lhSexta.label= Sex editarPricingController.lhSexta.label= Sex
editarPricingController.lhSabado.label= Sab editarPricingController.lhSabado.label= Sab
editarPricingController.ocupacao=Ocupação
editarPricingController.ocupacaoInicial=Ocupaçao Inicial
editarPricingController.ocupacaoFinal=Ocupaçao Inicial
editarPricingController.TarifaOcupacao=Tarifa
editarPricingController.DescontoOcupacao=Desconto
editarPricingController.ErroOcupacao= É necessário preencher a ocupação inicial e final ou nenhuma delas.
editarPricingController.lhPorcSen.label = Porcentagem Ida editarPricingController.lhPorcSen.label = Porcentagem Ida
editarPricingController.lhPorcRed.label = Porcentagem Viagem Ida e Volta editarPricingController.lhPorcRed.label = Porcentagem Viagem Ida e Volta
editarPricingController.lhCantDias.label = Dias de Antecipação editarPricingController.lhCantDias.label = Dias de Antecipação

View File

@ -113,6 +113,23 @@
</hlayout> </hlayout>
</row> </row>
<row spans="1,3">
<label value="${c:l('editarPricingController.ocupacao')}" />
<hlayout>
<label value="${c:l('editarPricingController.ocupacaoInicial')}" />
<intbox id="ocupacaoInicial" />
<label value="${c:l('editarPricingController.ocupacaoFinal')}" />
<intbox id="ocupacaoFinal" />
<label value="${c:l('editarPricingController.TarifaOcupacao')}" />
<doublebox id="txtTarifaOcupacao" />
<label value="${c:l('editarPricingController.DescontoOcupacao')}" />
<doublebox id="txtDescontoOcupacao" />
</hlayout>
</row>
<row spans="1,3"> <row spans="1,3">
<label value="Agencia" /> <label value="Agencia" />
<bandbox id="bbPesquisaPuntoVenta" width="100%" mold="rounded" readonly="true"> <bandbox id="bbPesquisaPuntoVenta" width="100%" mold="rounded" readonly="true">