fixes bug#21693

qua:wally
dev:aristides

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@106105 d1611594-4594-4d17-8e1d-87c2c4800839
master
walace 2021-04-06 19:50:51 +00:00
parent a512e11f7e
commit d3c2db6787
6 changed files with 249 additions and 1 deletions

View File

@ -52,6 +52,7 @@ import com.rjconsultores.ventaboletos.entidad.CategoriaMercado;
import com.rjconsultores.ventaboletos.entidad.CategoriaOrgao; import com.rjconsultores.ventaboletos.entidad.CategoriaOrgao;
import com.rjconsultores.ventaboletos.entidad.CategoriaPeriodo; import com.rjconsultores.ventaboletos.entidad.CategoriaPeriodo;
import com.rjconsultores.ventaboletos.entidad.CategoriaRuta; import com.rjconsultores.ventaboletos.entidad.CategoriaRuta;
import com.rjconsultores.ventaboletos.entidad.CategoriaRutaExcecao;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.Corrida; import com.rjconsultores.ventaboletos.entidad.Corrida;
@ -85,6 +86,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCa
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaMercado; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaMercado;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaOrgao; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaOrgao;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaRuta; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaRuta;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConfiguracionCategoriaRutaExcecao;
/** /**
* *
@ -123,6 +125,7 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
private List<Categoria> lsCategorias; private List<Categoria> lsCategorias;
private List<OrgaoConcedente> lsOrgao; private List<OrgaoConcedente> lsOrgao;
private List<Ruta> lsRuta; private List<Ruta> lsRuta;
private List<Ruta> lsRutaSemTodas;
private CategoriaMercado categoriaMercado; private CategoriaMercado categoriaMercado;
private CategoriaMarca categoriaMarca; private CategoriaMarca categoriaMarca;
private CategoriaDescuento categoriaDescuento; private CategoriaDescuento categoriaDescuento;
@ -139,6 +142,7 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
private MyListbox categoriaMercadoList; private MyListbox categoriaMercadoList;
private MyListbox categoriaOrgaoList; private MyListbox categoriaOrgaoList;
private MyListbox categoriaRutaList; private MyListbox categoriaRutaList;
private MyListbox categoriaRutaExcecaoList;
private List<CategoriaClase> lsCategoriaClase; private List<CategoriaClase> lsCategoriaClase;
private List<CategoriaDescuento> lsCategoriaDescuento; private List<CategoriaDescuento> lsCategoriaDescuento;
private List<CategoriaMarca> lsCategoriaMarca; private List<CategoriaMarca> lsCategoriaMarca;
@ -146,6 +150,7 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
private List<CategoriaCorrida> lsCategoriaCorrida; private List<CategoriaCorrida> lsCategoriaCorrida;
private List<CategoriaOrgao> lsCategoriaOrgao; private List<CategoriaOrgao> lsCategoriaOrgao;
private List<CategoriaRuta> lsCategoriaRuta; private List<CategoriaRuta> lsCategoriaRuta;
private List<CategoriaRutaExcecao> lsCategoriaRutaExcecao;
private boolean clone = false; private boolean clone = false;
private Combobox cmbCategorias; private Combobox cmbCategorias;
private Combobox cmbEmpresas; private Combobox cmbEmpresas;
@ -155,6 +160,7 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
private Combobox cmbParadaDestino; private Combobox cmbParadaDestino;
private Combobox cmbOrgao; private Combobox cmbOrgao;
private Combobox cmbRuta; private Combobox cmbRuta;
private Combobox cmbCategoriaRutaExcecao;
private Combobox cmbIndGeneraFeriado; private Combobox cmbIndGeneraFeriado;
private Decimalbox descuentoImporte; private Decimalbox descuentoImporte;
private Decimalbox descuentoPorc; private Decimalbox descuentoPorc;
@ -417,6 +423,14 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
this.lsRuta = lsRuta; this.lsRuta = lsRuta;
} }
public List<Ruta> getLsRutaSemTodas() {
return lsRutaSemTodas;
}
public void setLsRutaSemTodas(List<Ruta> lsRutaSemTodas) {
this.lsRutaSemTodas = lsRutaSemTodas;
}
public CategoriaRuta getCategoriaRuta() { public CategoriaRuta getCategoriaRuta() {
return categoriaRuta; return categoriaRuta;
} }
@ -476,6 +490,7 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
lsMarcas = marcaService.buscarMarcaPorEmpresa(UsuarioLogado.getUsuarioLogado().getEmpresa()); lsMarcas = marcaService.buscarMarcaPorEmpresa(UsuarioLogado.getUsuarioLogado().getEmpresa());
lsOrgao = orgaoService.obtenerTodos(); lsOrgao = orgaoService.obtenerTodos();
lsRuta = rutaService.obtenerTodos(); lsRuta = rutaService.obtenerTodos();
lsRutaSemTodas = restringirOpcaoTodasLinhas(lsRuta);
super.doAfterCompose(comp); super.doAfterCompose(comp);
@ -510,6 +525,9 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
// Ruta // Ruta
categoriaRutaList.setItemRenderer(new RenderConfiguracionCategoriaRuta()); categoriaRutaList.setItemRenderer(new RenderConfiguracionCategoriaRuta());
lsCategoriaRuta = new ArrayList<CategoriaRuta>(); lsCategoriaRuta = new ArrayList<CategoriaRuta>();
// Ruta Excecao
categoriaRutaExcecaoList.setItemRenderer(new RenderConfiguracionCategoriaRutaExcecao());
lsCategoriaRutaExcecao = new ArrayList<CategoriaRutaExcecao>();
// Recarrega Listas // Recarrega Listas
if (categoriaCtrl.getCategoriactrlId() != null) { if (categoriaCtrl.getCategoriactrlId() != null) {
@ -536,6 +554,9 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
lsCategoriaCorrida = categoriaCtrl.getCategoriaCorridaList(); lsCategoriaCorrida = categoriaCtrl.getCategoriaCorridaList();
categoriaCorridaList.setData(lsCategoriaCorrida); categoriaCorridaList.setData(lsCategoriaCorrida);
lsCategoriaRutaExcecao = categoriaCtrl.getCategoriaRutaExcecaoList();
categoriaRutaExcecaoList.setData(lsCategoriaRutaExcecao);
} }
descuentoImporte.setValue(BigDecimal.ZERO); descuentoImporte.setValue(BigDecimal.ZERO);
@ -655,6 +676,16 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
if (!validaObligatorios()) { if (!validaObligatorios()) {
return; return;
} }
if(!validarExisteExcecaoLinha()) {
int resp = Messagebox.show(
Labels.getLabel("editarConfiguracionCategoriaController.MSG.validarTodasComboLinhaSalvar"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"), Messagebox.OK | Messagebox.CANCEL,
Messagebox.QUESTION);
if (!(resp == Messagebox.OK)) {
return;
}
inativarExcecoesLinha();
}
if (categoriaCtrl.getCategoriactrlId() != null) { if (categoriaCtrl.getCategoriactrlId() != null) {
for (CategoriaDescuento cd : lsCategoriaDescuento) { for (CategoriaDescuento cd : lsCategoriaDescuento) {
@ -744,6 +775,9 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
List<CategoriaRuta> lsCategoriaRuta = nuevo.addNuevoCloneCategoriaRuta((List<CategoriaRuta>) categoriaRutaList.getListData(), nuevo); List<CategoriaRuta> lsCategoriaRuta = nuevo.addNuevoCloneCategoriaRuta((List<CategoriaRuta>) categoriaRutaList.getListData(), nuevo);
nuevo.setCategoriarutaList(lsCategoriaRuta); nuevo.setCategoriarutaList(lsCategoriaRuta);
List<CategoriaRutaExcecao> lsCategoriaRutaExcecao = nuevo.addNuevoCloneCategoriaRutaExcecao((List<CategoriaRutaExcecao>) categoriaRutaExcecaoList.getListData(), nuevo);
nuevo.setCategoriarutaExcecaoList(lsCategoriaRutaExcecao);
List<CategoriaCorrida> lsCategoriaCorrida = nuevo.addNuevoCloneCategoriaCorrida((List<CategoriaCorrida>) categoriaCorridaList.getListData(), nuevo); List<CategoriaCorrida> lsCategoriaCorrida = nuevo.addNuevoCloneCategoriaCorrida((List<CategoriaCorrida>) categoriaCorridaList.getListData(), nuevo);
nuevo.setCategoriaCorridaList(lsCategoriaCorrida); nuevo.setCategoriaCorridaList(lsCategoriaCorrida);
@ -1264,6 +1298,95 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
} }
} }
public void onClick$btnAdicionarRutaExcecao(Event ev) throws InterruptedException {
if (cmbCategoriaRutaExcecao.getSelectedItem() == null) {
Messagebox.show(
Labels.getLabel("MSG.Error.combobox"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
cmbCategoriaRutaExcecao.focus();
return;
}
if(!validarOpcaoTodasComboLinhas()) {
Messagebox.show(
Labels.getLabel("editarConfiguracionCategoriaController.validarOpcaoTodasComboLinha"),
Labels.getLabel("MSG.Error.combobox"),
Messagebox.OK, Messagebox.EXCLAMATION);
cmbCategoriaRutaExcecao.focus();
return;
}
try {
boolean existe = false;
for (CategoriaRutaExcecao cm : lsCategoriaRutaExcecao) {
Ruta categoriaRutaTeste = (Ruta) cmbCategoriaRutaExcecao.getSelectedItem().getValue();
if (cm.getActivo() && cm.getRuta().getRutaId().equals(categoriaRutaTeste.getRutaId())) {
existe = true;
}
}
if (!existe) {
CategoriaRutaExcecao cRutaExcecao = new CategoriaRutaExcecao();
cRutaExcecao.setCategoriaCtrl(categoriaCtrl);
cRutaExcecao.setActivo(Boolean.TRUE);
cRutaExcecao.setRuta((Ruta) cmbCategoriaRutaExcecao.getSelectedItem().getValue());
cRutaExcecao.setFecmodif(Calendar.getInstance().getTime());
cRutaExcecao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
lsCategoriaRutaExcecao.add(cRutaExcecao);
categoriaRutaExcecaoList.addItemNovo(cRutaExcecao);
categoriaCtrl.setCategoriarutaExcecaoList(lsCategoriaRutaExcecao);
} else {
Messagebox.show(
Labels.getLabel("MSG.Registro.Existe"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
} catch (Exception ex) {
log.error("", ex);
Clients.alert(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.ERROR);
}
}
public void onClick$btnRemoverCategoriaRutaExcecao(Event ev) {
try {
CategoriaRutaExcecao cRutaExcecao = (CategoriaRutaExcecao) categoriaRutaExcecaoList.getSelected();
int resp = Messagebox.show(
Labels.getLabel("editarConfiguracionCategoriaController.MSG.borrarPergunta"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) {
if (cRutaExcecao != null) {
// removo o antigo
lsCategoriaRutaExcecao.remove(cRutaExcecao);
cRutaExcecao.setFecmodif(Calendar.getInstance().getTime());
cRutaExcecao.setActivo(Boolean.FALSE);
cRutaExcecao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
lsCategoriaRutaExcecao.add(cRutaExcecao);
categoriaCtrl.setCategoriarutaExcecaoList(lsCategoriaRutaExcecao);
categoriaRutaExcecaoList.removeItem(cRutaExcecao);
} else {
Messagebox.show(
Labels.getLabel("editarConfiguracionCategoriaController.MSG.selectItem"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
}
}
} catch (Exception ex) {
log.error("", ex);
Clients.alert(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarConfiguracionCategoriaController.window.title"),
Messagebox.ERROR);
}
}
public void onClick$btnAdicionarOrgao(Event ev) throws InterruptedException { public void onClick$btnAdicionarOrgao(Event ev) throws InterruptedException {
if (cmbOrgao.getSelectedItem() == null) { if (cmbOrgao.getSelectedItem() == null) {
Messagebox.show( Messagebox.show(
@ -1781,4 +1904,56 @@ public class EditarConfiguracionCategoriaController extends MyGenericForwardComp
public void setRadioIndPermiteTrocaTransferenciaSim(Radio radioIndPermiteTrocaTransferenciaSim) { public void setRadioIndPermiteTrocaTransferenciaSim(Radio radioIndPermiteTrocaTransferenciaSim) {
this.radioIndPermiteTrocaTransferenciaSim = radioIndPermiteTrocaTransferenciaSim; this.radioIndPermiteTrocaTransferenciaSim = radioIndPermiteTrocaTransferenciaSim;
} }
private List<Ruta> restringirOpcaoTodasLinhas(List<Ruta> lsRuta) {
List<Ruta> lsRutaSemOpcaoTodas = new ArrayList<Ruta>();
for (Ruta ruta : lsRuta) {
if(!ruta.getRutaId().equals(-1)) {
lsRutaSemOpcaoTodas.add(ruta);
}
}
return lsRutaSemOpcaoTodas;
}
@SuppressWarnings("unchecked")
private boolean validarOpcaoTodasComboLinhas() {
List<CategoriaRuta> ls = categoriaRutaList.getListData();
boolean contem = false;
for (CategoriaRuta ruta : ls) {
if(ruta.getRuta().getRutaId().equals(-1)) {
return true;
}
}
return contem;
}
@SuppressWarnings("unchecked")
private boolean validarExisteExcecaoLinha() {
boolean contem = false;
List<CategoriaRuta> ls = categoriaRutaList.getListData();
if(categoriaRutaExcecaoList.getListData().isEmpty()) {
return true;
}
if(!categoriaRutaExcecaoList.getListData().isEmpty()) {
for (CategoriaRuta ruta : ls) {
if(ruta.getRuta().getRutaId().equals(-1)) {
return true;
}
}
}
return contem;
}
private void inativarExcecoesLinha() {
List<CategoriaRutaExcecao> ls = categoriaRutaExcecaoList.getListData();
for (CategoriaRutaExcecao ruta : ls) {
ruta.setActivo(Boolean.FALSE);
}
}
} }

View File

@ -0,0 +1,24 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.CategoriaRutaExcecao;
public class RenderConfiguracionCategoriaRutaExcecao implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
CategoriaRutaExcecao categoria = (CategoriaRutaExcecao) o;
if(categoria.getActivo()){
Listcell lc = new Listcell(categoria.getRuta() == null ? "" : categoria.getRuta().getRutaId().toString());
lc.setParent(lstm);
lc = new Listcell(categoria.getRuta() == null ? "" : categoria.getRuta().getDescruta());
lc.setParent(lstm);
lstm.setAttribute("data", categoria);
}
}
}

View File

@ -503,6 +503,7 @@
<value>com.rjconsultores.ventaboletos.entidad.EmbarcadaDispOperador</value> <value>com.rjconsultores.ventaboletos.entidad.EmbarcadaDispOperador</value>
<value>com.rjconsultores.ventaboletos.entidad.AgrupamentoParada</value> <value>com.rjconsultores.ventaboletos.entidad.AgrupamentoParada</value>
<value>com.rjconsultores.ventaboletos.entidad.EmpresaEmailFlexBus</value> <value>com.rjconsultores.ventaboletos.entidad.EmpresaEmailFlexBus</value>
<value>com.rjconsultores.ventaboletos.entidad.CategoriaRutaExcecao</value>
</list> </list>
</property> </property>

View File

@ -2537,6 +2537,8 @@ editarConfiguracionCategoriaController.lblConfigEmiteSomenteCupomEmbarque.value=
editarConfiguracionCategoriaController.lblIndEmiteSomenteCupomEmbarque.value=Emite Somente Cupom de Embarque editarConfiguracionCategoriaController.lblIndEmiteSomenteCupomEmbarque.value=Emite Somente Cupom de Embarque
editarConfiguracionCategoriaController.lblQtdeViasCupomEmbarque.value=Quantidade Vias Cupom de Embarque editarConfiguracionCategoriaController.lblQtdeViasCupomEmbarque.value=Quantidade Vias Cupom de Embarque
editarConfiguracionCategoriaController.lblVendaAntecipadaKM.value=Venda Antecipada por KM editarConfiguracionCategoriaController.lblVendaAntecipadaKM.value=Venda Antecipada por KM
editarConfiguracionCategoriaController.validarOpcaoTodasComboLinha = Favor Incluir a opção todas na aba de Linha
editarConfiguracionCategoriaController.MSG.validarTodasComboLinhaSalvar = Existem exceções de linhas, mas não existe a opção todas na aba de linhas. Serão inativadas as exceções, Deseja Continuar ?

View File

@ -2536,6 +2536,7 @@ editarConfiguracionCategoriaController.tabOrgao.labelOrgao = Orgão Concedente
editarConfiguracionCategoriaController.tabOrgao.labelOrgaoId = Id editarConfiguracionCategoriaController.tabOrgao.labelOrgaoId = Id
editarConfiguracionCategoriaController.tabOrgao.labelNome = Orgão Concedente editarConfiguracionCategoriaController.tabOrgao.labelNome = Orgão Concedente
editarConfiguracionCategoriaController.tabLinha.label = Linha editarConfiguracionCategoriaController.tabLinha.label = Linha
editarConfiguracionCategoriaController.tabLinhaExcecao.label = Linha Exceção
editarConfiguracionCategoriaController.tabLinha.labelRutaId = Id editarConfiguracionCategoriaController.tabLinha.labelRutaId = Id
editarConfiguracionCategoriaController.tabLinha.labelNome = Linha editarConfiguracionCategoriaController.tabLinha.labelNome = Linha
editarConfiguracionCategoriaController.btnBorrarOrgao.tooltiptext = Eliminar editarConfiguracionCategoriaController.btnBorrarOrgao.tooltiptext = Eliminar
@ -2615,6 +2616,9 @@ editarConfiguracionCategoriaController.lblVendaAntecipadaKM.value = Venda Anteci
editarConfiguracionCategoriaController.lblQtdeLimiteNaoEmbarque.value = Qtd Limite Não Embarque editarConfiguracionCategoriaController.lblQtdeLimiteNaoEmbarque.value = Qtd Limite Não Embarque
editarConfiguracionCategoriaController.lblIndClientePcd.value = Cliente PCD editarConfiguracionCategoriaController.lblIndClientePcd.value = Cliente PCD
editarConfiguracionCategoriaController.permitetrocatransferencia.value = Permite Troca/Transferência editarConfiguracionCategoriaController.permitetrocatransferencia.value = Permite Troca/Transferência
editarConfiguracionCategoriaController.validarOpcaoTodasComboLinha = Favor Incluir a opção todas na aba de Linha
editarConfiguracionCategoriaController.MSG.validarTodasComboLinhaSalvar = Existem exceções de linhas, mas não existe a opção todas na aba de linhas. Serão inativadas as exceções, Deseja Continuar ?
# Detener a pantalla de Pesquisa # Detener a pantalla de Pesquisa
busquedaCatalogoDeParadaController.window.title = Localidade busquedaCatalogoDeParadaController.window.title = Localidade

View File

@ -45,6 +45,8 @@
label="${c:l('editarConfiguracionCategoriaController.tabOrgao.label')}" /> label="${c:l('editarConfiguracionCategoriaController.tabOrgao.label')}" />
<tab id="tabLinha" <tab id="tabLinha"
label="${c:l('editarConfiguracionCategoriaController.tabLinha.label')}" /> label="${c:l('editarConfiguracionCategoriaController.tabLinha.label')}" />
<tab id="tabLinhaExcecao"
label="${c:l('editarConfiguracionCategoriaController.tabLinhaExcecao.label')}" />
</tabs> </tabs>
<tabpanels> <tabpanels>
<tabpanel> <tabpanel>
@ -772,6 +774,46 @@
</listhead> </listhead>
</listbox> </listbox>
</tabpanel> </tabpanel>
<tabpanel height="485px"><!-- Linha excecao -->
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="80%" />
</columns>
<rows>
<row>
<label
value="${c:l('editarConfiguracionCategoriaController.tabLinhaExcecao.label')}" />
<hbox>
<combobox id="cmbCategoriaRutaExcecao"
constraint="no empty"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="300px"
model="@{winEditarConfiguracionCategoria$composer.lsRutaSemTodas}" />
<button id="btnAdicionarRutaExcecao"
height="20" image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('editarConfiguracionCategoriaController.btnAddRuta.tooltiptext')}" />
<button id="btnRemoverCategoriaRutaExcecao"
height="20" image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('editarConfiguracionCategoriaController.btnBorrarRuta.tooltiptext')}" />
</hbox>
</row>
</rows>
</grid>
<listbox id="categoriaRutaExcecaoList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader id="lhCategoriaLinhaExcecaoId"
image="/gui/img/create_doc.gif"
label="${c:l('editarConfiguracionCategoriaController.tabLinha.labelRutaId')}"
width="30%" />
<listheader id="lhCategoriaLinhaExcecaoNome"
image="/gui/img/create_doc.gif" width="70%"
label="${c:l('editarConfiguracionCategoriaController.tabLinha.labelNome')}" />
</listhead>
</listbox>
</tabpanel>
</tabpanels> </tabpanels>
</tabbox> </tabbox>
</window> </window>