- Nova funcionalidade de categoria com tempo para ativar e desativar

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@25194 d1611594-4594-4d17-8e1d-87c2c4800839
master
gleimar 2013-03-14 14:11:38 +00:00
parent bd97434617
commit 53d3a9e140
6 changed files with 208 additions and 91 deletions

View File

@ -84,7 +84,6 @@ public class BusquedaConfiguracionCategoriaController extends MyGenericForwardCo
configCategoriaBusqueda.addFilterEqual("activo", Boolean.TRUE);
configCategoriaBusqueda.addSortAsc("empresa.nombempresa");
configCategoriaBusqueda.addFilterIn("empresa", UsuarioLogado.getUsuarioLogado().getEmpresa());

View File

@ -27,8 +27,10 @@ import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Decimalbox;
import org.zkoss.zul.Intbox;
import org.zkoss.zul.Label;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Row;
import org.zkoss.zul.Spinner;
import org.zkoss.zul.Tab;
import org.zkoss.zul.api.Timebox;
@ -147,6 +149,11 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
private Checkbox chkPrecoPedagio;
private Checkbox chkPrecoSeguro;
private Checkbox chkPrecoOutros;
private Label lblMsgTiempo;
private Spinner spnHora;
private Spinner spnMinuto;
private Radio rdVendaAntecipadaSi;
private Radio rdVendaAntecipadaNo;
public List<Categoria> getLsCategorias() {
@ -587,7 +594,7 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
public void onClick$btnAdicionarDesconto(Event ev) throws InterruptedException {
if (cmbCategorias.getSelectedItem() == null) {
Messagebox.show(
Labels.getLabel("MSG.Error.combobox"),
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoCategoria"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
@ -595,6 +602,21 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
return;
}
if (rdVendaAntecipadaSi.isChecked()){
int hora = (spnHora.getValue() == null)?0:spnHora.getValue();
int minuto = (spnMinuto.getValue() == null)?0:spnMinuto.getValue();
if ( (hora + minuto) == 0){
Messagebox.show(
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
spnHora.focus();
return;
}
}
cmbCategorias.getValue();
cantAutorizada.getValue();
descuentoPorc.getValue();
@ -622,6 +644,12 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
cDescuento.setIndImporteSeguro(chkPrecoSeguro.isChecked());
cDescuento.setIndImporteTxEmbarque(chkPrecoTxEmbarque.isChecked());
if (rdVendaAntecipadaSi.isChecked()){
cDescuento.setTiempoDesactivar(spnHora.getValue(), spnMinuto.getValue());
}else{
cDescuento.setTiempoActivar(spnHora.getValue(), spnMinuto.getValue());
}
if (cmbIndGeneraFeriado.getSelectedItem() != null) {
cDescuento.setIndAplicaFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue());
}
@ -656,8 +684,8 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
} else {
onClick$radioPor(null);
}
cmbIndGeneraFeriado.setSelectedItem(null);
onClick$rdVendaAntecipadaNo(null);
rdVendaAntecipadaNo.setChecked(true);
} else {
Messagebox.show(
Labels.getLabel("MSG.Registro.Existe"),
@ -1171,6 +1199,16 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
descuentoPorc.setConstraint("no empty, no zero, no negative");
}
public void onClick$rdVendaAntecipadaSi(Event ev) {
spnHora.setValue(0);
spnMinuto.setValue(0);
lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoDesactivar.value"));
}
public void onClick$rdVendaAntecipadaNo(Event ev) {
spnHora.setValue(0);
spnMinuto.setValue(0);
lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value"));
}
public void onClick$rdCuotaSi(Event ev) {
mudarCamposCuota(true);
}

View File

@ -9,6 +9,7 @@ import java.math.BigDecimal;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.WrongValueException;
@ -16,8 +17,10 @@ import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Label;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Row;
import org.zkoss.zul.Spinner;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.api.Timebox;
@ -48,6 +51,12 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene
private Radio rdCuotaSi;
private Radio rdTrecho;
private Combobox cmbIndGeneraFeriado;
private Label lblMsgTiempo;
private Spinner spnHora;
private Spinner spnMinuto;
private Radio rdVendaAntecipadaSi;
private Radio rdVendaAntecipadaNo;
@Override
public void doAfterCompose(Component comp) throws Exception {
@ -92,18 +101,53 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene
cmbIndGeneraFeriado.setSelectedIndex(2);
}
}
if (categoriaDescuento.getTiempoActivar()!=null){
preencherDataHora(categoriaDescuento.getTiempoActivar());
rdVendaAntecipadaNo.setChecked(true);
}else if (categoriaDescuento.getTiempoDesactivar() !=null){
rdVendaAntecipadaSi.setChecked(true);
preencherDataHora(categoriaDescuento.getTiempoDesactivar());
}else{
rdVendaAntecipadaNo.setChecked(true);
}
public void onClick$btnSalvar(Event ev) {
}
private void preencherDataHora(Integer tiempoMinutos){
if (tiempoMinutos != null){
spnHora.setValue(tiempoMinutos/60);
spnMinuto.setValue(tiempoMinutos%60);
}
}
public void onClick$btnSalvar(Event ev) throws InterruptedException {
if (radioImprimePassagem.isSelected()) {
categoriaDescuento.setIndImprimeBoleto(Boolean.TRUE);
} else if (radioNaoImprimePassagem.isSelected()) {
categoriaDescuento.setIndImprimeBoleto(Boolean.FALSE);
}
if (rdVendaAntecipadaSi.isChecked()){
int hora = (spnHora.getValue() == null)?0:spnHora.getValue();
int minuto = (spnMinuto.getValue() == null)?0:spnMinuto.getValue();
if ( (hora + minuto) == 0){
Messagebox.show(
Labels.getLabel("editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
spnHora.focus();
return;
}
}
categoriaDescuento.setIndAplicaFeriado((String) cmbIndGeneraFeriado.getSelectedItem().getValue());
categoriaDescuento.setIndCuota(false);
categoriaDescuento.setIndCuotaTramo(false);
if (rdVendaAntecipadaSi.isChecked()){
categoriaDescuento.setTiempoDesactivar(spnHora.getValue(), spnMinuto.getValue());
}else{
categoriaDescuento.setTiempoActivar(spnHora.getValue(), spnMinuto.getValue());
}
if (rdCuotaSi.isChecked()){
if (timeTempoPermitir.getValue() == null){
throw new WrongValueException(timeTempoPermitir, Labels.getLabel("MSG.CONSTRAINT.CONSTRAINTNUMBERBDOBLIGATORIO"));
@ -177,4 +221,15 @@ public class EditarConfiguracionCategoriaDatosCategoriaController extends MyGene
combobox.removeItemAt(i);
}
}
public void onClick$rdVendaAntecipadaSi(Event ev) {
spnHora.setValue(0);
spnMinuto.setValue(0);
lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoDesactivar.value"));
}
public void onClick$rdVendaAntecipadaNo(Event ev) {
spnHora.setValue(0);
spnMinuto.setValue(0);
lblMsgTiempo.setValue(Labels.getLabel("editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value"));
}
}

View File

@ -7,7 +7,7 @@
# <controler>. <id>. <propiedade> = XXX
#Versao do VentaBoleto:
versao = ADM_20130312_1RC127
versao = ADM_20130314_1RC128
# MSG Defaut:
MSG.CONSTRAINT.PORCENTAGEM = Os valores devem estar entre 0 e 100
@ -983,6 +983,12 @@ editarConfiguracionCategoriaController.lblComponentesPrecoTxEmbarque.value=Taxa
editarConfiguracionCategoriaController.lblComponentesPrecoPedagio.value=Pedágio
editarConfiguracionCategoriaController.lblComponentesPrecoSeguro.value=Seguro
editarConfiguracionCategoriaController.lblComponentesPrecoOutros.value=Outros
editarConfiguracionCategoriaController.lblVentaAntecipada.value=Venda Antecipada
editarConfiguracionCategoriaController.lblVentaAntecipadaTempo.value=Tempo (HH:mm)
editarConfiguracionCategoriaController.lblVentaAntecipadaTempoDesactivar.value=O tipo de passagem firá disponível até X horas antes do serviço sair
editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value=O tipo de passagem firá disponível a partir de X horas antes do serviço sair
editarConfiguracionCategoriaController.msg.validacaoVentaAntecipada=Para venda antecipada, é obrigatório informar o tempo
editarConfiguracionCategoriaController.msg.validacaoCategoria=É necessário informar uma categoria
# Detener a pantalla de Pesquisa
busquedaCatalogoDeParadaController.window.title = Localidade

View File

@ -6,8 +6,8 @@
<zk>
<window id="winEditarConfiguracionCategoria" border="normal"
apply="${editarConfiguracionCategoriaController}" height="540px"
width="925px" contentStyle="overflow:auto"
apply="${editarConfiguracionCategoriaController}" height="598px"
width="940px" contentStyle="overflow:auto"
title="${c:l('editarConfiguracionCategoriaController.window.title')}">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
@ -62,7 +62,7 @@
</rows>
</grid>
</tabpanel>
<tabpanel height="420px">
<tabpanel>
<!-- Desconto -->
<grid fixedLayout="true">
<columns>
@ -75,18 +75,16 @@
value="${c:l('editarConfiguracionCategoriaController.lblCategorias.value')}" />
<combobox id="cmbCategorias"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="70%"
mold="rounded" buttonVisible="true" width="50%"
model="@{winEditarConfiguracionCategoria$composer.lsCategorias}" />
</row>
<row>
<label id="lblCantAutorizada"
value="${c:l('editarConfiguracionCategoriaController.lblCantAutorizada.value')}" />
<intbox id="cantAutorizada"
constraint="no empty, no zero" width="50%" maxlength="3" />
<intbox id="cantAutorizada" constraint="no empty, no zero" width="50%" maxlength="3" />
</row>
<row>
<label
value="${c:l('editarConfiguracionCategoriaController.lblDescuento.value')}" />
<label value="${c:l('editarConfiguracionCategoriaController.lblDescuento.value')}" />
<radiogroup Id="descuento">
<radio id="radioImp"
label="${c:l('editarConfiguracionCategoriaController.lblDescuentoImporte.value')}" />
@ -94,6 +92,16 @@
label="${c:l('editarConfiguracionCategoriaController.lblDescuentoPorc.value')}" />
</radiogroup>
</row>
<row>
<label id="lblDescuentoImporte"
value="${c:l('editarConfiguracionCategoriaController.lblDescuentoImporte.value')}" />
<decimalbox id="descuentoImporte" constraint="no empty" width="50%" maxlength="9" />
</row>
<row>
<label id="lblDescuentoPorc"
value="${c:l('editarConfiguracionCategoriaController.lblDescuentoPorc.value')}" />
<decimalbox id="descuentoPorc" constraint="no empty" width="50%" maxlength="9" />
</row>
<row>
<label
value="${c:l('editarConfiguracionCategoriaController.lblImprimirPassagem.value')}" />
@ -105,18 +113,6 @@
label="${c:l('editarConfiguracionCategoriaController.lblNaoImprimePassagem.value')}" />
</radiogroup>
</row>
<row>
<label id="lblDescuentoImporte"
value="${c:l('editarConfiguracionCategoriaController.lblDescuentoImporte.value')}" />
<decimalbox id="descuentoImporte"
constraint="no empty" width="50%" maxlength="9" />
</row>
<row>
<label id="lblDescuentoPorc"
value="${c:l('editarConfiguracionCategoriaController.lblDescuentoPorc.value')}" />
<decimalbox id="descuentoPorc"
constraint="no empty" width="50%" maxlength="9" />
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblComponentesPreco.value')}" />
<hbox>
@ -127,36 +123,46 @@
</hbox>
</row>
<row>
<label
value="${c:l('editarConfiguracionCategoriaController.lblCotaObli.value')}" />
<label value="${c:l('editarConfiguracionCategoriaController.lblVentaAntecipada.value')}" />
<radiogroup>
<radio id="rdVendaAntecipadaSi" label="Sim" />
<radio id="rdVendaAntecipadaNo" label="Nao" selected="true" />
</radiogroup>
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblVentaAntecipadaTempo.value')}" />
<hbox>
<spinner id="spnHora" value="00" width="50px" maxlength="4" constraint="max 9999,no negative"/>
<label value=":" />
<spinner id="spnMinuto" value="00" width="50px" maxlength="2" constraint="max 99,no negative" />
<label id="lblMsgTiempo" value="${c:l('editarConfiguracionCategoriaController.lblVentaAntecipadaTempoActivar.value')}"/>
</hbox>
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblFeriado.value')}" />
<combobox id="cmbIndGeneraFeriado"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
constraint="no empty" mold="rounded" width="50%" />
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblCotaObli.value')}" />
<radiogroup>
<radio id="rdCuotaSi" label="Sim" />
<radio id="rdCuotaNo" label="Nao"
selected="true" />
<radio id="rdCuotaNo" label="Nao" selected="true" />
</radiogroup>
</row>
<row id="rowTrecho" visible="false">
<label
value="${c:l('editarConfiguracionCategoriaController.lblTipoCota.value')}" />
<label value="${c:l('editarConfiguracionCategoriaController.lblTipoCota.value')}" />
<radiogroup>
<radio selected="true"
label="${c:l('editarConfiguracionCategoriaController.lblServico.value')}" />
<radio id="rdTrecho"
label="${c:l('editarConfiguracionCategoriaController.lblTrecho.value')}" />
<radio selected="true" label="${c:l('editarConfiguracionCategoriaController.lblServico.value')}" />
<radio id="rdTrecho" label="${c:l('editarConfiguracionCategoriaController.lblTrecho.value')}" />
</radiogroup>
</row>
<row id="rowTiempo" visible="false">
<label
value="${c:l('editarConfiguracionCategoriaController.lblTiempoValido.value')}" />
<timebox id="timeTempoPermitir"
width="25%" mold="rounded" format="HH:mm" />
</row>
<row>
<label
value="${c:l('editarConfiguracionCategoriaController.lblFeriado.value')}" />
<combobox id="cmbIndGeneraFeriado"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
constraint="no empty" mold="rounded" width="70%" />
<label value="${c:l('editarConfiguracionCategoriaController.lblTiempoValido.value')}" />
<timebox id="timeTempoPermitir" width="70px" mold="rounded" format="HH:mm" />
</row>
<row>
<label value=" " />
@ -175,11 +181,8 @@
tooltiptext="${c:l('editarConfiguracionCategoriaController.btnAgregarPeriodo.tooltiptext')}" />
</hbox>
</row>
</rows>
</grid>
<listbox id="categoriaDescuentoList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false">
<row height="130px" spans="2">
<listbox id="categoriaDescuentoList" height="120px" use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox" multiple="false">
<listhead sizable="true">
<listheader width="150px"
label="${c:l('editarConfiguracionCategoriaController.lblCategorias.value')}"
@ -197,16 +200,20 @@
<listheader width="100px"
label="${c:l('editarConfiguracionCategoriaController.lblDescuentoPorc.value')}"
sort="auto(descuentoporc)" />
<listheader width="100%"
<listheader width="155px"
label="${c:l('editarConfiguracionCategoriaControllerPeriodo.window.title')}" />
<listheader width="100%"
<listheader width="100px"
label="${c:l('editarConfiguracionCategoriaController.lblFeriado.value')}" />
<listheader width="100%"
<listheader width="140px"
label="${c:l('editarConfiguracionCategoriaController.lblComponentesPreco.value')}" />
</listhead>
</listbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel height="420px">
<tabpanel height="485px">
<!-- Marca -->
<grid fixedLayout="true">
<columns>
@ -244,7 +251,7 @@
</listhead>
</listbox>
</tabpanel>
<tabpanel height="420px">
<tabpanel height="485px">
<!-- Mercado -->
<grid fixedLayout="true">
<columns>
@ -293,7 +300,7 @@
</listhead>
</listbox>
</tabpanel>
<tabpanel height="420px">
<tabpanel height="485px">
<!-- Clase -->
<grid fixedLayout="true">
<columns>
@ -331,7 +338,7 @@
</listhead>
</listbox>
</tabpanel>
<tabpanel height="420px">
<tabpanel height="485px">
<!-- Corrida -->
<grid fixedLayout="true">
<columns>
@ -369,7 +376,7 @@
</listhead>
</listbox>
</tabpanel>
<tabpanel height="420px">
<tabpanel height="485px">
<grid fixedLayout="true">
<columns>
<column width="20%" />
@ -411,11 +418,5 @@
</tabpanel>
</tabpanels>
</tabbox>
<popup id="mail" width="300px">
<html>
"Haga Double Click en Grid para agregar el período del
descuento."
</html>
</popup>
</window>
</zk>

View File

@ -9,7 +9,7 @@
border="normal"
title="${c:l('editarConfiguracionCategoriaController.window.title')}"
apply="${editarConfiguracionCategoriaDatosCategoriaController}"
width="400px" contentStyle="overflow:auto">
width="500px" contentStyle="overflow:auto">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
<button id="btnSalvar" height="20"
@ -25,8 +25,8 @@
<!--Periodo-->
<grid fixedLayout="true">
<columns>
<column width="45%" />
<column width="55%" />
<column width="30%" />
<column width="70%" />
</columns>
<rows>
<row>
@ -80,12 +80,30 @@
maxValue="100" constraint="no empty" width="50%" maxlength="9"
value="@{winEditarConfiguracionCategoriasDatosCategoria$composer.categoriaDescuento.descuentoporc,converter=com.rjconsultores.ventaboletos.web.utilerias.StringDecimalToDecimalConverter}" />
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblVentaAntecipada.value')}" />
<radiogroup>
<radio id="rdVendaAntecipadaSi" label="Sim" />
<radio id="rdVendaAntecipadaNo" label="Nao" />
</radiogroup>
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblVentaAntecipadaTempo.value')}" />
<hbox>
<spinner id="spnHora" value="00" width="50px" maxlength="4" constraint="max 9999,no negative"/>
<label value=":" />
<spinner id="spnMinuto" value="00" width="50px" maxlength="2" constraint="max 99,no negative" />
<label id="lblMsgTiempo" value="O tipo de passagem firá disponível até X horas antes do serviço sair "/>
</hbox>
</row>
<row>
<label
value="${c:l('editarConfiguracionCategoriaController.lblFeriado.value')}" />
<combobox id="cmbIndGeneraFeriado"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
constraint="no empty" mold="rounded" width="99%" />
constraint="no empty" mold="rounded" width="50%" />
</row>
<row>
<label value="${c:l('editarConfiguracionCategoriaController.lblComponentesPreco.value')}" />