diff --git a/pom.xml b/pom.xml index af1378a08..dce5de29a 100644 --- a/pom.xml +++ b/pom.xml @@ -4,12 +4,12 @@ 4.0.0 br.com.rjconsultores ventaboletosadm - 1.115.1 + 1.116.0 war - 1.87.1 - 1.75.2 + 1.88.0 + 1.76.0 UTF-8 diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java index 7e5bfff63..202882c86 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarCategoriaController.java @@ -6,7 +6,9 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; import java.util.Arrays; import java.util.Calendar; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -17,22 +19,29 @@ import org.zkoss.util.resource.Labels; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; import org.zkoss.zul.Messagebox; +import org.zkoss.zul.Tab; import org.zkoss.zul.api.Comboitem; import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.CategoriaFormAutorizacao; +import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.GrupoCategoria; import com.rjconsultores.ventaboletos.enums.TipoDescontoBPe; import com.rjconsultores.ventaboletos.enums.TipoDescontoMonitrip; +import com.rjconsultores.ventaboletos.service.CategoriaFormAutorizacaoService; import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.GrupoCategoriaService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCategoriaFormAutorizacao; /** * @@ -47,7 +56,11 @@ public class EditarCategoriaController extends MyGenericForwardComposer { private CategoriaService categoriaService; @Autowired private GrupoCategoriaService grupoCategoriaService; - + @Autowired + private EmpresaService empresaService; + @Autowired + private CategoriaFormAutorizacaoService categoriaFormAutorizacaoService; + private Categoria categoria; private MyListbox categoriaList; private Button btnApagar; @@ -64,16 +77,25 @@ public class EditarCategoriaController extends MyGenericForwardComposer { private Checkbox chkIndnaousaassento; private Checkbox chkIndvendenaapi; private Checkbox chkIndExigeIdentidade; + private Checkbox chkEmiteFormularioAutorizacao; private Checkbox chkIndntegracaoAGR; + private MyListbox tipoPassagemAutorizacaoList; + private List lsGrupoCategoria; private List lsTipoDescontoMonitrips; private List lsTipoDescontoBPe; + + private List lsEmpresa; + + private List lsTipoPassagemAutorizacao; private static String CVESISTEMA_FIDELIDADE = "FIDELIDADE"; + private Tab tabAutorizacao; + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); @@ -88,6 +110,9 @@ public class EditarCategoriaController extends MyGenericForwardComposer { categoria = (Categoria) Executions.getCurrent().getArg().get("categoria"); categoriaList = (MyListbox) Executions.getCurrent( ).getArg().get("categoriaList"); + + lsTipoPassagemAutorizacao = categoriaFormAutorizacaoService.obtenerTodosPorCategoria(categoria.getCategoriaId()); + if (categoria.getCategoriaId() == null) { btnApagar.setVisible(Boolean.FALSE); } else if(CVESISTEMA_FIDELIDADE.equals(categoria.getCvesistema())){ @@ -117,12 +142,67 @@ public class EditarCategoriaController extends MyGenericForwardComposer { chkIndExigeIdentidade.setChecked((categoria.getIndExigeIdentidade() == null) ? false : categoria.getIndExigeIdentidade()); chkIndntegracaoAGR.setChecked(categoria.getIndIntegracaoAGR()); + chkEmiteFormularioAutorizacao.setChecked(categoria.getIndEmiteFormularioAutorizacao()); + chkEmiteFormularioAutorizacao.addEventListener("onClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + tabAutorizacao.setVisible(chkEmiteFormularioAutorizacao.isChecked()); + } + }); if (categoria.getGrupoCategoria() != null) { cmbGrupoCategoria.setValue(categoria.getGrupoCategoria().getDescGrupo()); } txtNome.focus(); + + lsTipoPassagemAutorizacao = categoriaFormAutorizacaoService.obtenerTodosPorCategoria(categoria.getCategoriaId()); + tipoPassagemAutorizacaoList.setItemRenderer(new RenderCategoriaFormAutorizacao()); + tipoPassagemAutorizacaoList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + CategoriaFormAutorizacao form = (CategoriaFormAutorizacao) tipoPassagemAutorizacaoList.getSelected(); + verFormAutorizacao(form); + } + }); + tipoPassagemAutorizacaoList.setData(lsTipoPassagemAutorizacao); + } + + private void verFormAutorizacao(CategoriaFormAutorizacao form) { + Map args = new HashMap(); + args.put("form", form); + args.put("formList", tipoPassagemAutorizacaoList); + args.put("categoria", categoria); + + openWindow("/gui/catalogos/editarFormAutorizacao.zul", + Labels.getLabel("editarCategoriaController.window.title"), args, MODAL); + } + + public void onClick$btnAdicionarForm(Event ev) throws InterruptedException { + verFormAutorizacao(new CategoriaFormAutorizacao()); + } + + public void onClick$btnRemoverForm(Event ev) throws InterruptedException { + int resp = Messagebox.show( + Labels.getLabel("editarFormAutorizacaoController.MSG.borrarPergunta"), + Labels.getLabel("editarFormAutorizacaoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + CategoriaFormAutorizacao form = (CategoriaFormAutorizacao)tipoPassagemAutorizacaoList.getSelected(); + + categoriaFormAutorizacaoService.borrar(form); + + Messagebox.show( + Labels.getLabel("editarFormAutorizacaoController.MSG.borrarOK"), + Labels.getLabel("editarFormAutorizacaoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + tipoPassagemAutorizacaoList.removeItem(form); + + } + } public void onClick$btnSalvar(Event ev) throws InterruptedException { txtNome.getValue(); @@ -136,6 +216,7 @@ public class EditarCategoriaController extends MyGenericForwardComposer { categoria.setIndvendeapi(chkIndvendenaapi.isChecked()); categoria.setIndExigeIdentidade(chkIndExigeIdentidade.isChecked()); categoria.setIndIntegracaoAGR(chkIndntegracaoAGR.isChecked()); + categoria.setIndEmiteFormularioAutorizacao(chkEmiteFormularioAutorizacao.isChecked()); Comboitem grupo = cmbGrupoCategoria.getSelectedItem(); @@ -280,5 +361,21 @@ public class EditarCategoriaController extends MyGenericForwardComposer { public void setLsTipoDescontoBPe(List lsTipoDescontoBPe) { this.lsTipoDescontoBPe = lsTipoDescontoBPe; } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public MyListbox getTipoPassagemAutorizacaoList() { + return tipoPassagemAutorizacaoList; + } + + public void setTipoPassagemAutorizacaoList(MyListbox tipoPassagemAutorizacaoList) { + this.tipoPassagemAutorizacaoList = tipoPassagemAutorizacaoList; + } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarFormAutorizacaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarFormAutorizacaoController.java new file mode 100644 index 000000000..d3559d0ff --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarFormAutorizacaoController.java @@ -0,0 +1,120 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkforge.ckez.CKeditor; +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.Executions; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Messagebox; + +import com.rjconsultores.ventaboletos.entidad.Categoria; +import com.rjconsultores.ventaboletos.entidad.CategoriaFormAutorizacao; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.service.CategoriaFormAutorizacaoService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; +import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; + +@Controller("editarFormAutorizacaoController") +@Scope("prototype") +public class EditarFormAutorizacaoController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + + @Autowired + private EmpresaService empresaService; + @Autowired + private CategoriaFormAutorizacaoService categoriaFormAutorizacaoService; + private CategoriaFormAutorizacao form; + private MyListbox tipoPassagemAutorizacaoList; + private Combobox cmbEmpresa; + private List lsEmpresa; + private CKeditor textoAutorizacao; + private Categoria categoria; + + @Override + public void doAfterCompose(Component comp) throws Exception { + form = (CategoriaFormAutorizacao) Executions.getCurrent().getArg().get("form"); + tipoPassagemAutorizacaoList = (MyListbox) Executions.getCurrent().getArg().get("formList"); + categoria = (Categoria) Executions.getCurrent().getArg().get("categoria"); + lsEmpresa = empresaService.obtenerTodos(); + super.doAfterCompose(comp); + } + + public void onClick$btnSalvar(Event ev) throws InterruptedException { + form.setCategoria(categoria); + form.setTexto(textoAutorizacao.getValue()); + categoriaFormAutorizacaoService.salvar(form); + //categoria.getFormsAutorizacao().add(form); + tipoPassagemAutorizacaoList.addItem(form); + closeWindow(); + } + + public void onClick$btnApagar(Event ev) throws InterruptedException { + int resp = Messagebox.show( + Labels.getLabel("editarFormAutorizacaoController.MSG.borrarPergunta"), + Labels.getLabel("editarFormAutorizacaoController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + + categoriaFormAutorizacaoService.borrar(form); + + Messagebox.show( + Labels.getLabel("editarFormAutorizacaoController.MSG.borrarOK"), + Labels.getLabel("editarFormAutorizacaoController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + + tipoPassagemAutorizacaoList.removeItem(form); + + closeWindow(); + } + } + + + public CategoriaFormAutorizacao getForm() { + return form; + } + + + public void setForm(CategoriaFormAutorizacao form) { + this.form = form; + } + + + public MyListbox getTipoPassagemAutorizacaoList() { + return tipoPassagemAutorizacaoList; + } + + + public void setTipoPassagemAutorizacaoList(MyListbox tipoPassagemAutorizacaoList) { + this.tipoPassagemAutorizacaoList = tipoPassagemAutorizacaoList; + } + + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + + public List getLsEmpresa() { + return lsEmpresa; + } + + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCategoriaFormAutorizacao.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCategoriaFormAutorizacao.java new file mode 100644 index 000000000..4e9aeaa97 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCategoriaFormAutorizacao.java @@ -0,0 +1,21 @@ +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.CategoriaFormAutorizacao; + +public class RenderCategoriaFormAutorizacao implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + CategoriaFormAutorizacao form = (CategoriaFormAutorizacao) o; + + Listcell lc = new Listcell(); + + lc = new Listcell(form.getEmpresa().getNombempresa()); + lc.setParent(lstm); + + lstm.setAttribute("data", form); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 105e7d73a..b7afb70b1 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -475,10 +475,11 @@ com.rjconsultores.ventaboletos.entidad.ConvenioTransportadora com.rjconsultores.ventaboletos.entidad.EmpresaComprovantePassagemConfig com.rjconsultores.ventaboletos.entidad.CaixaContrato + com.rjconsultores.ventaboletos.entidad.TipoLancamentoCaixa + com.rjconsultores.ventaboletos.entidad.CategoriaFormAutorizacao com.rjconsultores.ventaboletos.entidad.TarifaConvenioTransport com.rjconsultores.ventaboletos.entidad.DescontoContrato - com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem - + com.rjconsultores.ventaboletos.entidad.ConfComprovantePassagem diff --git a/web/WEB-INF/i3-label_en.label b/web/WEB-INF/i3-label_en.label index f921b263e..a4da78af8 100644 --- a/web/WEB-INF/i3-label_en.label +++ b/web/WEB-INF/i3-label_en.label @@ -2913,6 +2913,10 @@ editarCategoriaController.lbIndemitetermorecusa.value = Issues Refusal Term editarCategoriaController.lbIndnaousaassento.value = Do not use a seat when selling a package editarCategoriaController.lbIndvendenaapi.value = Sell on API editarCategoriaController.lbNome.value = Description +editarCategoriaController.indEmiteFormularioAutorizacao.value = Issuance of Authorization Form +editarCategoriaController.btnAdcionarForm.tooltiptext = Add Authorization Form +editarCategoriaController.btnRemoverForm.tooltiptex = Remove Authorization Form +editarCategoriaController.lbEmpresa.value = Company # Pantalla Editar Categoría editarCategoriaController.window.title = Passage Type editarCiudadController.MSG.borrarOK = City Deleted Successfully. @@ -10188,5 +10192,8 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Series winMovimentacionBilhetesPuntoVenta.origem.label = Origin winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag. winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Nature - editarIntComprovantePassagem.idiomaTemplate= Language Template +# Form Autorizacao Tipo de Passagem +editarFormAutorizacaoController.MSG.borrarPergunta = Do you want to delete this record ? +editarFormAutorizacaoController.window.title = Authorization Form +editarFormAutorizacaoController.MSG.borrarOK = Record deleted successfully. diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index c4740a104..bdaa20d74 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -2911,6 +2911,11 @@ editarCategoriaController.lbIndemitetermorecusa.value = Emite término de rechaz editarCategoriaController.lbIndnaousaassento.value = No usar asiento en la venta de paquetes editarCategoriaController.lbIndvendenaapi.value = Vende na API editarCategoriaController.lbNome.value = Descripción +editarCategoriaController.indEmiteFormularioAutorizacao.value = Emisión de Formulario de Autorización +editarCategoriaController.btnAdcionarForm.tooltiptext = Agregar formulario de autorización +editarCategoriaController.btnRemoverForm.tooltiptex = Eliminar formulario de autorización +editarCategoriaController.lbEmpresa.value = Empresa + # Pantalla Editar Categoría editarCategoriaController.window.title = Tipo de pasaje editarCiudadController.MSG.borrarOK = Ciudad se eliminó exitosamente @@ -10211,5 +10216,9 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Série winMovimentacionBilhetesPuntoVenta.origem.label = Origen winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag. winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Naturaleza +# Form Autorizacao Tipo de Passagem +editarFormAutorizacaoController.MSG.borrarPergunta = ¿Quieres cancelar este registro? +editarFormAutorizacaoController.window.title = Formulario de autorización +editarFormAutorizacaoController.MSG.borrarOK = Registro eliminado exitosamente. editarIntComprovantePassagem.idiomaTemplate= Plantilla de idioma diff --git a/web/WEB-INF/i3-label_fr_FR.label b/web/WEB-INF/i3-label_fr_FR.label index 92ff4ef47..74bb133c2 100644 --- a/web/WEB-INF/i3-label_fr_FR.label +++ b/web/WEB-INF/i3-label_fr_FR.label @@ -2910,6 +2910,10 @@ editarCategoriaController.lbIndemitetermorecusa.value = Délai de refus des émi editarCategoriaController.lbIndnaousaassento.value = Ne pas utiliser de siège lors de la vente d'un forfait editarCategoriaController.lbIndvendenaapi.value = Vendre sur API editarCategoriaController.lbNome.value = Description +editarCategoriaController.indEmiteFormularioAutorizacao.value = Émission du Formulaire d'autorisation +editarCategoriaController.btnAdcionarForm.tooltiptext = Ajouter un formulaire d'autorisation +editarCategoriaController.btnRemoverForm.tooltiptex = Supprimer le formulaire d'autorisation +editarCategoriaController.lbEmpresa.value = Entreprise # Pantalla Editar Categoría editarCategoriaController.window.title = Type de passage editarCiudadController.MSG.borrarOK = Ville supprimée avec succès. @@ -10156,6 +10160,10 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Série winMovimentacionBilhetesPuntoVenta.origem.label = Origine winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag. winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Nature +# Form Autorizacao Tipo de Passagem +editarFormAutorizacaoController.MSG.borrarPergunta = Voulez-vous annuler cette inscription? +editarFormAutorizacaoController.window.title = Formulaire d'autorisation +editarFormAutorizacaoController.MSG.borrarOK = Registre supprimé avec succès. editarIntComprovantePassagem.idiomaTemplate= Modèle de langue diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 76e17a466..039759ccf 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -2913,6 +2913,10 @@ editarCategoriaController.lbIndemitetermorecusa.value = Emite Termo de Recusa editarCategoriaController.lbIndnaousaassento.value = Não usar assento na venda de pacote editarCategoriaController.lbIndvendenaapi.value = Vende na API editarCategoriaController.lbNome.value = Descrição +editarCategoriaController.indEmiteFormularioAutorizacao.value = Emite Formulário de Autorização +editarCategoriaController.btnAdcionarForm.tooltiptext = Adicionar Formulário de Autorização +editarCategoriaController.btnRemoverForm.tooltiptex = Remover Formulário de Autorização +editarCategoriaController.lbEmpresa.value = Empresa # Pantalla Editar Categoría editarCategoriaController.window.title = Tipo de Passagem editarCiudadController.MSG.borrarOK = Cidade Excluida com Sucesso. @@ -10194,7 +10198,10 @@ winMovimentacionBilhetesPuntoVenta.numSerie.label = Série winMovimentacionBilhetesPuntoVenta.origem.label = Origem winMovimentacionBilhetesPuntoVenta.puntoventa.label = Ag. winMovimentacionBilhetesPuntoVenta.tipoMovimentacion.label = Natureza - +# Form Autorizacao Tipo de Passagem +editarFormAutorizacaoController.MSG.borrarPergunta = Deseja apagar esse registro ? +editarFormAutorizacaoController.window.title = Formulário de Autorização +editarFormAutorizacaoController.MSG.borrarOK = Registro apagado com sucesso. editarIntComprovantePassagem.idiomaTemplate= Idioma Template diff --git a/web/gui/catalogos/editarCategoria.zul b/web/gui/catalogos/editarCategoria.zul index bb2215597..c33f330a0 100644 --- a/web/gui/catalogos/editarCategoria.zul +++ b/web/gui/catalogos/editarCategoria.zul @@ -23,100 +23,137 @@ tooltiptext="${c:l('editarCategoriaController.btnFechar.tooltiptext')}"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +