diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java index e49af3b65..922b64fd3 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java @@ -13,9 +13,11 @@ import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; +import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; @@ -66,6 +68,7 @@ import com.rjconsultores.ventaboletos.entidad.RutaCaseta; import com.rjconsultores.ventaboletos.entidad.RutaCombinacion; import com.rjconsultores.ventaboletos.entidad.RutaEmbarqueDesembarque; import com.rjconsultores.ventaboletos.entidad.RutaEmpresa; +import com.rjconsultores.ventaboletos.entidad.RutaIcmsExcepcion; import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.TramoServicio; @@ -79,6 +82,7 @@ import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; import com.rjconsultores.ventaboletos.service.RutaCombinacionService; import com.rjconsultores.ventaboletos.service.RutaEmbarqueDesembarqueService; import com.rjconsultores.ventaboletos.service.RutaEmpresaService; +import com.rjconsultores.ventaboletos.service.RutaIcmsExcepcionService; import com.rjconsultores.ventaboletos.service.RutaSecuenciaService; import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.service.TramoService; @@ -87,6 +91,7 @@ import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.esquemaoperacional.RutaTramoVO; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; @@ -96,6 +101,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCatalogoDeRutasSecuencia; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaEmbarqueDesembarque; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaEmpresa; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderRutaIcmsExcepcion; /** * @@ -134,6 +140,8 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private CorridaService corridaService; @Autowired private RutaEmbarqueDesembarqueService rutaEmbarqueDesembarqueService; + @Autowired + private RutaIcmsExcepcionService rutaIcmsExcepcionService; private Ruta ruta; private MyListbox rutaList; @@ -188,6 +196,15 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private Boolean claseAlterada = Boolean.FALSE; private Boolean embarque = Boolean.FALSE; private Boolean desembarque = Boolean.FALSE; + + private Combobox cmbParadaOrigenExcecao; + private Combobox cmbParadaDestinoExcecao; + private Checkbox chkIndTribTarifaExcecao; + private Checkbox chkIndTribTaxaEmbarqueExcecao; + private Checkbox chkIndTribPedagioExcecao; + private List lsParadasExcecao; + private List lsRutaIcmsExcepcions; + private MyListbox rutaIcmsExcepcionsList; private List lsRutacComb; private List lsRutaSec; @@ -409,9 +426,17 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer if (ruta.getRutaId() == null) { btnApagar.setVisible(Boolean.FALSE); } - + + lsRutaIcmsExcepcions = new ArrayList(); + if(ruta.getLsRutaIcmsExcepcions() != null) { + lsRutaIcmsExcepcions = ruta.getLsRutaIcmsExcepcions(); + } + rutaIcmsExcepcionsList.setItemRenderer(new RenderRutaIcmsExcepcion()); + rutaIcmsExcepcionsList.setData(lsRutaIcmsExcepcions); + carregouCombinacao = false; alterarBotaoRetomarCancelar(); + carregarParadasRuta(); } private void alterarBotaoRetomarCancelar() { @@ -1540,5 +1565,134 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer public void setDesembarque(Boolean desembarque) { this.desembarque = desembarque; } + + private void carregarParadasRuta() { + Set lsParadas = new HashSet(0); + if(ruta != null && ruta.getRutaCombinacionList() != null) { + for (RutaCombinacion rc : ruta.getRutaCombinacionList()) { + if(rc.getTramo() != null) { + lsParadas.add(rc.getTramo().getOrigem()); + lsParadas.add(rc.getTramo().getDestino()); + } + } + } + + lsParadasExcecao = new ArrayList(0); + lsParadasExcecao.addAll(lsParadas); + + } + + public List getLsParadasExcecao() { + return lsParadasExcecao; + } + + public List getLsRutaIcmsExcepcions() { + return lsRutaIcmsExcepcions; + } + + public void onClick$btnAdicionarIcmsExcecao(Event ev) { + try { + if(!validarCamposIcmsExcecao()) { + return; + } + + Parada origen = (Parada) cmbParadaOrigenExcecao.getSelectedItem().getValue(); + Parada destino = (Parada) cmbParadaDestinoExcecao.getSelectedItem().getValue(); + chkIndTribTarifaExcecao.getValue(); + chkIndTribTaxaEmbarqueExcecao.getValue(); + chkIndTribPedagioExcecao.getValue(); + + RutaIcmsExcepcion rutaIcmsExcepcion = new RutaIcmsExcepcion(); + rutaIcmsExcepcion.setRuta(ruta); + rutaIcmsExcepcion.setOrigen(origen); + rutaIcmsExcepcion.setDestino(destino); + rutaIcmsExcepcion.setIndTribTarifa(chkIndTribTarifaExcecao.isChecked()); + rutaIcmsExcepcion.setIndTribTaxaEmbarque(chkIndTribTaxaEmbarqueExcecao.isChecked()); + rutaIcmsExcepcion.setIndTribPedagio(chkIndTribPedagioExcecao.isChecked()); + rutaIcmsExcepcion.setActivo(Boolean.TRUE); + rutaIcmsExcepcion.setFecmodif(Calendar.getInstance().getTime()); + rutaIcmsExcepcion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + + lsRutaIcmsExcepcions.add(rutaIcmsExcepcion); + ruta.setLsRutaIcmsExcepcions(lsRutaIcmsExcepcions); + rutaIcmsExcepcionsList.setData(lsRutaIcmsExcepcions); + + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + Clients.alert(Labels.getLabel("MSG.Error"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.ERROR); + } + } + + private boolean validarCamposIcmsExcecao() throws InterruptedException { + if (ruta.getRutaId() == null && (ruta.getIsClone() != null && ruta.getIsClone())) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.IncluirRutaImcsExcepcionCloneError"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if(cmbParadaDestinoExcecao.getSelectedIndex() == -1 || cmbParadaOrigenExcecao.getSelectedIndex() == -1) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoNaoSelecionado"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + Parada origen = (Parada) cmbParadaOrigenExcecao.getSelectedItem().getValue(); + Parada destino = (Parada) cmbParadaDestinoExcecao.getSelectedItem().getValue(); + + if(origen.equals(destino)) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoIguais"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if(lsRutaIcmsExcepcions != null) { + for (RutaIcmsExcepcion rie: lsRutaIcmsExcepcions) { + if(rie.getDestino().equals(destino) && rie.getOrigen().equals(origen)) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoJaAdicionados"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + } + } + + return true; + } + + public void onClick$btnRemoverIcmsExcecao(Event ev) { + try { + if (ruta.getRutaId() == null && (ruta.getIsClone() != null && ruta.getIsClone())) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.ExcluirRutaImcsExcepcionCloneError"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + if(rutaIcmsExcepcionsList.getSelectedIndex() == -1) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.RutaImcsExcepcionNaoSelecionado"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + RutaIcmsExcepcion rutaIcmsExcepcion = (RutaIcmsExcepcion) rutaIcmsExcepcionsList.getSelected(); + int idx = rutaIcmsExcepcionsList.getSelectedIndex(); + + if(rutaIcmsExcepcion.getRutaIcmsExcepcionId() != null) { + rutaIcmsExcepcionService.borrar(rutaIcmsExcepcion); + } + lsRutaIcmsExcepcions.remove(idx); + rutaIcmsExcepcionsList.setData(lsRutaIcmsExcepcions); + + } catch (Exception ex) { + log.error(ex.getMessage(), ex); + Clients.alert(Labels.getLabel("MSG.Error"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.ERROR); + } + } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaIcmsExcepcion.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaIcmsExcepcion.java new file mode 100644 index 000000000..62c77cebb --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaIcmsExcepcion.java @@ -0,0 +1,32 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import org.zkoss.util.resource.Labels; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.RutaIcmsExcepcion; + +public class RenderRutaIcmsExcepcion implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + RutaIcmsExcepcion rutaIcmsExcepcion = (RutaIcmsExcepcion) o; + + Listcell lc = new Listcell(rutaIcmsExcepcion.getOrigen().getDescparada()); + lc.setParent(lstm); + + lc = new Listcell(rutaIcmsExcepcion.getDestino().getDescparada()); + lc.setParent(lstm); + + lc = new Listcell(rutaIcmsExcepcion.getIndTribTarifa() ? Labels.getLabel("MSG.SI") : Labels.getLabel("MSG.NO")); + lc.setParent(lstm); + + lc = new Listcell(rutaIcmsExcepcion.getIndTribTaxaEmbarque() ? Labels.getLabel("MSG.SI") : Labels.getLabel("MSG.NO")); + lc.setParent(lstm); + + lc = new Listcell(rutaIcmsExcepcion.getIndTribPedagio() ? Labels.getLabel("MSG.SI") : Labels.getLabel("MSG.NO")); + lc.setParent(lstm); + + lstm.setAttribute("data", rutaIcmsExcepcion); + } +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index bfbecf7bb..901563096 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -2396,6 +2396,7 @@ editarCatalogoDeRutaController.MSG.localidade = Parada inexistente editarCatalogoDeRutaController.tabRuta.value = Linea editarCatalogoDeRutaController.tabSecuencia.value = Secuencia editarCatalogoDeRutaController.tabCombinacion.value = Combinación +editarCatalogoDeRutaController.tabIcmsExcecao.value = ICMS Excepciones editarCatalogoDeRutaController.btnAddCombinacion.tooltiptext = Incluir editarCatalogoDeRutaController.btnBorrarCombinacion.tooltiptext = Eliminar editarCatalogoDeRutaController.btnGerarCombinacion.tooltiptext = Generar combinación @@ -2556,6 +2557,15 @@ editarTramosController.msg.coeficiente2ObligatorioDados = Informe todos los dato editarTramosController.msg.coeficiente3ObligatorioDados = Informe todos los datos para el índice 3 editarTramosController.msg.coeficiente1Obligatorio = El índice 1 es obligatório editarTramosController.msg.orgaoJahInformado=Ya está dado de alta índice para esta instituición y tipo de clase +editarTramosController.headerICMSComponenteTarifa.value=ICMS Tarifa +editarTramosController.headerICMSComponenteTaxaEmbarque.value=ICMS Tx. Emb. +editarTramosController.headerICMSComponentePedagio.value=ICMS Pedag. +editarCatalogoDeRutaController.MSG.IncluirRutaImcsExcepcionCloneError = Favor salvar a linha antes de adicionar uma exceção do ICMS. +editarCatalogoDeRutaController.MSG.ExcluirRutaImcsExcepcionCloneError = Favor salvar a linha antes de excluir uma exceção do ICMS. +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoNaoSelecionado = Favor seleccionar el Origen y el Destino +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoIguais = Origen y Destino son iguales +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoJaAdicionados = Origen y Destino ya añadidos +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionNaoSelecionado = Ningún registro fue seleccionado para exclusión #Panatalla VentaBoletos Comissionistas pantalla.VentaBoletosTDO.window.title = Grupo Senda - Comisionista onLine diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 64bb149b0..a96518e62 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -2570,6 +2570,7 @@ editarCatalogoDeRutaController.MSG.localidade = Localidade inexistente. editarCatalogoDeRutaController.tabRuta.value = Linha editarCatalogoDeRutaController.tabSecuencia.value = Sequência editarCatalogoDeRutaController.tabCombinacion.value = Combinação +editarCatalogoDeRutaController.tabIcmsExcecao.value = ICMS Exceções editarCatalogoDeRutaController.btnAddCombinacion.tooltiptext = Incluir editarCatalogoDeRutaController.btnBorrarCombinacion.tooltiptext = Eliminar editarCatalogoDeRutaController.btnGerarCombinacion.tooltiptext = Gerar Combinação @@ -2625,10 +2626,16 @@ editarCatalogoDeRutaController.MSG.IncluirSequenciaRutaCloneError = Favor salvar editarCatalogoDeRutaController.MSG.ExcluirSequenciaRutaCloneError = Favor salvar a linha antes de excluir uma sequência. editarCatalogoDeRutaController.MSG.IncluirEmpresaRutaCloneError = Favor salvar a linha antes de adicionar uma nova empresa. editarCatalogoDeRutaController.MSG.ExcluirEmpresaRutaCloneError = Favor salvar a linha antes de excluir uma empresa. +editarCatalogoDeRutaController.MSG.IncluirRutaImcsExcepcionCloneError = Favor salvar a linha antes de adicionar uma exceção do ICMS. +editarCatalogoDeRutaController.MSG.ExcluirRutaImcsExcepcionCloneError = Favor salvar a linha antes de excluir uma exceção do ICMS. editarCatalogoDeRutaController.lbTipoPassagem.value = Tipo Passagem editarCatalogoDeRutaController.rdSentado.value = Sentado editarCatalogoDeRutaController.rdEmPe.value = Em Pé editarCatalogoDeRutaController.rdAmbos.value = Ambos +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoNaoSelecionado = Favor selecionar a Origem e o Destino +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoIguais = Origem e Destino são iguais +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionOrigenDestinoJaAdicionados = Origem e Destino já adicionados +editarCatalogoDeRutaController.MSG.RutaImcsExcepcionNaoSelecionado = Nenhum registro foi selecionado para exclusão # A través da pantalla de Pesquisa busquedaViaController.window.title = Via @@ -2740,6 +2747,9 @@ editarTramosController.msg.coeficiente2ObligatorioDados = Informe todos os dados editarTramosController.msg.coeficiente3ObligatorioDados = Informe todos os dados para o coeficiente 3 editarTramosController.msg.coeficiente1Obligatorio = O coeficiente 1 é obrigatório editarTramosController.msg.orgaoJahInformado=Já está cadastrado coeficiente para esse Órgão e Tipo de Classe +editarTramosController.headerICMSComponenteTarifa.value=ICMS Tarifa +editarTramosController.headerICMSComponenteTaxaEmbarque.value=ICMS Tx. Emb. +editarTramosController.headerICMSComponentePedagio.value=ICMS Pedag. #Panatalla VentaBoletos Comissionistas pantalla.VentaBoletosTDO.window.title = Grupo Senda - Comissionista onLine diff --git a/web/gui/esquema_operacional/editarRuta.zul b/web/gui/esquema_operacional/editarRuta.zul index 7fe6d92cc..ad34c292f 100644 --- a/web/gui/esquema_operacional/editarRuta.zul +++ b/web/gui/esquema_operacional/editarRuta.zul @@ -44,6 +44,8 @@ label="${c:l('editarCatalogoDeRutaController.tabCombinacion.value')}" /> + @@ -454,6 +456,72 @@ + + + + + + + + + + + + + + + +