diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConvenioController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConvenioController.java index 9892a9e1c..f589c87bc 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConvenioController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/configuracioneccomerciales/EditarConvenioController.java @@ -21,30 +21,46 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.Clients; +import org.zkoss.zul.Bandbox; import org.zkoss.zul.Button; import org.zkoss.zul.Checkbox; import org.zkoss.zul.Combobox; +import org.zkoss.zul.Label; import org.zkoss.zul.Longbox; +import org.zkoss.zul.Paging; import org.zkoss.zul.Radio; import org.zkoss.zul.Textbox; +import com.rjconsultores.ventaboletos.constantes.ConstantesTipoDesconto; +import com.rjconsultores.ventaboletos.entidad.Cliente; import com.rjconsultores.ventaboletos.entidad.Convenio; import com.rjconsultores.ventaboletos.entidad.ConvenioDet; +import com.rjconsultores.ventaboletos.entidad.ConvenioEmpresa; import com.rjconsultores.ventaboletos.entidad.ConvenioPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.ConvenioRuta; import com.rjconsultores.ventaboletos.entidad.ConvenioTramo; import com.rjconsultores.ventaboletos.entidad.ConvenioUsuario; +import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; +import com.rjconsultores.ventaboletos.entidad.Ruta; import com.rjconsultores.ventaboletos.entidad.Usuario; import com.rjconsultores.ventaboletos.service.ConvenioDetService; import com.rjconsultores.ventaboletos.service.ConvenioService; +import com.rjconsultores.ventaboletos.service.RutaService; import com.rjconsultores.ventaboletos.utilerias.TraslaparUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.gui.componente.esquemaoperacional.MyCustomTextboxDecimal; 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.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderClienteConvenio; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioDet; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioEmpresa; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioRuta; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioTramo; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioUsuario; @@ -56,7 +72,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConvenioUsuario @Controller("editarConvenioController") @Scope("prototype") public class EditarConvenioController extends MyGenericForwardComposer { - + @Autowired private ConvenioService convenioService; private ConvenioDetService convenioDetService; @@ -65,7 +81,13 @@ public class EditarConvenioController extends MyGenericForwardComposer { private MyListbox convenioList; private MyListbox convenioDetList; private Textbox txtDescConvenio; - private MyCustomTextboxDecimal txtPorcdescuento; + + private MyCustomTextboxDecimal txtTarifa; + private MyCustomTextboxDecimal txtTxEmbarque; + private MyCustomTextboxDecimal txtPedagio; + private MyCustomTextboxDecimal txtSeguro; + private Longbox txtQuantidade; + private Longbox txtNumfolioinicio; private Longbox txtNumfoliofinal; private Button btnApagar; @@ -73,6 +95,24 @@ public class EditarConvenioController extends MyGenericForwardComposer { private Radio rdPrecioTotal; private Radio rdPrecioDescuento; private Radio rdDescuento; + + private Label lbQuantidade; + private Label lbNumDoc; + private Label lbFolioInicio; + private Label lbFolioFinal; + + @Autowired + private transient PagedListWrapper plwCliente; + private MyTextbox txtNomeCliente; + private Bandbox bandBoxCliente; + private MyListbox clienteList; + private Paging pagingCliente; + private Cliente clienteToSave; + + private Radio rdPorNumDocumento; + private Radio rdPorQuantidade; + private Radio rdNaoInformar; + private Checkbox chkValidaFolio; private static Logger log = Logger.getLogger(EditarConvenioController.class); //Tramo @@ -80,16 +120,30 @@ public class EditarConvenioController extends MyGenericForwardComposer { private MyListbox convenioTramoList; private Combobox cmbParadaOrigem; private Combobox cmbParadaDestino; - private Checkbox chkDescontoNormal; + //Usuario private List lsConvenioUsuario; private MyListbox convenioUsuarioList; private Combobox cmbUsuario; + //Punto Venta private List lsConvenioPuntoVenta; private MyListbox convenioPuntoVentaList; private Combobox cmbPuntoVenta; - + + //Empresa + private Combobox cmbEmpresa; + private MyListbox empresaList; + private List lsConvenioEmpresa; + + //Ruta + private Combobox cmbRuta; + private MyListbox rutaList; + private List lsConvenioRuta; + private List lsRutasCombo; + @Autowired + private RutaService rutaService; + public Button getBtnApagar() { return btnApagar; } @@ -153,13 +207,77 @@ public class EditarConvenioController extends MyGenericForwardComposer { public void setTxtNumfolioinicio(Longbox txtNumfolioinicio) { this.txtNumfolioinicio = txtNumfolioinicio; } - - public MyCustomTextboxDecimal getTxtPorcdescuento() { - return txtPorcdescuento; + + public Longbox getTxtQuantidade() { + return txtQuantidade; } - public void setTxtPorcdescuento(MyCustomTextboxDecimal txtPorcdescuento) { - this.txtPorcdescuento = txtPorcdescuento; + public void setTxtQuantidade(Longbox txtQuantidade) { + this.txtQuantidade = txtQuantidade; + } + + public Label getLbQuantidade() { + return lbQuantidade; + } + + public void setLbQuantidade(Label lbQuantidade) { + this.lbQuantidade = lbQuantidade; + } + + public Label getLbNumDoc() { + return lbNumDoc; + } + + public void setLbNumDoc(Label lbNumDoc) { + this.lbNumDoc = lbNumDoc; + } + + public Label getLbFolioInicio() { + return lbFolioInicio; + } + + public void setLbFolioInicio(Label lbFolioInicio) { + this.lbFolioInicio = lbFolioInicio; + } + + public Label getLbFolioFinal() { + return lbFolioFinal; + } + + public void setLbFolioFinal(Label lbFolioFinal) { + this.lbFolioFinal = lbFolioFinal; + } + + public MyCustomTextboxDecimal getTxtTarifa() { + return txtTarifa; + } + + public void setTxtTarifa(MyCustomTextboxDecimal txtTarifa) { + this.txtTarifa = txtTarifa; + } + + public MyCustomTextboxDecimal getTxtTxEmbarque() { + return txtTxEmbarque; + } + + public void setTxtTxEmbarque(MyCustomTextboxDecimal txtTxEmbarque) { + this.txtTxEmbarque = txtTxEmbarque; + } + + public MyCustomTextboxDecimal getTxtPedagio() { + return txtPedagio; + } + + public void setTxtPedagio(MyCustomTextboxDecimal txtPedagio) { + this.txtPedagio = txtPedagio; + } + + public MyCustomTextboxDecimal getTxtSeguro() { + return txtSeguro; + } + + public void setTxtSeguro(MyCustomTextboxDecimal txtSeguro) { + this.txtSeguro = txtSeguro; } public Radio getRdDescuento() { @@ -202,10 +320,52 @@ public class EditarConvenioController extends MyGenericForwardComposer { this.btnAdicionarConvenioDet = btnAdicionarConvenioDet; } - @Override + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public MyListbox getEmpresaList() { + return empresaList; + } + + public void setEmpresaList(MyListbox empresaList) { + this.empresaList = empresaList; + } + + public Combobox getCmbRuta() { + return cmbRuta; + } + + public void setCmbRuta(Combobox cmbRuta) { + this.cmbRuta = cmbRuta; + } + + public MyListbox getRutaList() { + return rutaList; + } + + public void setRutaList(MyListbox rutaList) { + this.rutaList = rutaList; + } + + public List getLsRutasCombo() { + return lsRutasCombo; + } + + public void setLsRutasCombo(List lsRutasCombo) { + this.lsRutasCombo = lsRutasCombo; + } + + @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); + lsRutasCombo = rutaService.obtenerTodos(); + convenio = (Convenio) Executions.getCurrent().getArg().get("convenio"); convenioList = (MyListbox) Executions.getCurrent().getArg().get("convenioList"); //Convenio Tramo @@ -217,10 +377,20 @@ public class EditarConvenioController extends MyGenericForwardComposer { //Convenio PuntoVenta convenioPuntoVentaList.setItemRenderer(new RenderConvenioPuntoVenta()); lsConvenioPuntoVenta = new ArrayList(); + // Convenio Empresa + empresaList.setItemRenderer(new RenderConvenioEmpresa()); + lsConvenioEmpresa = new ArrayList(); + // Convenio Ruta + rutaList.setItemRenderer(new RenderConvenioRuta()); + lsConvenioRuta = new ArrayList(); + //Cliente + clienteList.setItemRenderer(new RenderClienteConvenio()); if (convenio.getConvenioId() == null) { + btnApagar.setVisible(Boolean.FALSE); lsConvenioDets = new ArrayList(); + } else { convenio = convenioService.obtenerID(convenio.getConvenioId()); @@ -235,6 +405,12 @@ public class EditarConvenioController extends MyGenericForwardComposer { lsConvenioPuntoVenta = convenio.getConvenioPuntoVentaList(); convenioPuntoVentaList.setData(lsConvenioPuntoVenta); + lsConvenioEmpresa = convenio.getConvenioEmpresaList(); + empresaList.setData(lsConvenioEmpresa); + + lsConvenioRuta = convenio.getConvenioRutaList(); + rutaList.setData(lsConvenioRuta); + if (convenio.getImprimeprecio() != null) { if (convenio.getImprimeprecio().equals(Convenio.IMPRIME_DESCONTO)) { rdDescuento.setChecked(Boolean.TRUE); @@ -245,11 +421,13 @@ public class EditarConvenioController extends MyGenericForwardComposer { } } - chkDescontoNormal.setChecked(convenio.getIndDescuentoNormal() == null ? Boolean.TRUE : convenio.getIndDescuentoNormal()); + setClienteToSave(convenio.getCliente()); + bandBoxCliente.setValue(convenio.getCliente() != null ? convenio.getCliente().getNombcliente() : null); + + setSelectedTipoDesconto(convenio); + disableTipoDesconto(); chkValidaFolio.setChecked(convenio.getValidafolio()); chkValidaFolio.setDisabled(Boolean.TRUE); - - onClick$chkValidaFolio(null); } convenioDetList.setItemRenderer(new RenderConvenioDet()); @@ -258,32 +436,82 @@ public class EditarConvenioController extends MyGenericForwardComposer { txtDescConvenio.focus(); } - public void onClick$chkValidaFolio(Event ev) { - enableDisableFields(); - } - - public void onClick$chkDescontoNormal (Event ev) { - enableDisableFields(); + private void disableTipoDesconto() { + rdPorNumDocumento.setDisabled(Boolean.TRUE); + rdPorQuantidade.setDisabled(Boolean.TRUE); + rdNaoInformar.setDisabled(Boolean.TRUE); } - private void enableDisableFields() { - if (chkDescontoNormal.isChecked()) { - if (chkValidaFolio.isChecked()) { - txtNumfolioinicio.setDisabled(Boolean.FALSE); - txtNumfoliofinal.setDisabled(Boolean.FALSE); - } else { - txtNumfolioinicio.setValue(null); - txtNumfoliofinal.setValue(null); - - txtNumfolioinicio.setDisabled(Boolean.TRUE); - txtNumfoliofinal.setDisabled(Boolean.TRUE); - } + private void setSelectedTipoDesconto(Convenio convenioToLoad) { + if (convenioToLoad.getIndDescuentoNormal() == null || convenioToLoad.getIndDescuentoNormal().equals(ConstantesTipoDesconto.DESCONTO_POR_NUMERO_DOCUMENTO)) { + rdPorNumDocumento.setChecked(Boolean.TRUE); + } else if (convenioToLoad.getIndDescuentoNormal().equals(ConstantesTipoDesconto.DESCONTO_POR_QUANTIDADE)) { + rdPorQuantidade.setChecked(Boolean.TRUE); } else { - txtNumfolioinicio.setDisabled(Boolean.FALSE); - txtNumfoliofinal.setDisabled(Boolean.FALSE); + rdNaoInformar.setChecked(Boolean.TRUE); } } + public void onClick$rdPorNumDocumento(Event ev) { + enableChkValidaFolio(); + } + + public void onClick$rdPorQuantidade(Event ev) { + enableChkValidaFolio(); + } + + public void onClick$rdNaoInformar(Event ev) { + enableChkValidaFolio(); + } + + private void enableChkValidaFolio() { + if (rdPorNumDocumento.isChecked()) { + chkValidaFolio.setDisabled(Boolean.FALSE); + txtNumfolioinicio.setVisible(Boolean.TRUE); + txtNumfoliofinal.setVisible(Boolean.TRUE); + lbNumDoc.setVisible(Boolean.TRUE); + lbFolioInicio.setVisible(Boolean.TRUE); + lbFolioFinal.setVisible(Boolean.TRUE); + + txtQuantidade.setVisible(Boolean.FALSE); + lbQuantidade.setVisible(Boolean.FALSE); + txtQuantidade.setValue(null); + } else { + + if(rdPorQuantidade.isChecked()) { + txtNumfolioinicio.setVisible(Boolean.FALSE); + txtNumfolioinicio.setValue(null); + + txtNumfoliofinal.setVisible(Boolean.FALSE); + txtNumfoliofinal.setValue(null); + + lbNumDoc.setVisible(Boolean.FALSE); + lbFolioInicio.setVisible(Boolean.FALSE); + lbFolioFinal.setVisible(Boolean.FALSE); + + txtQuantidade.setVisible(Boolean.TRUE); + lbQuantidade.setVisible(Boolean.TRUE); + } else { + txtNumfolioinicio.setVisible(Boolean.FALSE); + txtNumfolioinicio.setValue(null); + + txtNumfoliofinal.setVisible(Boolean.FALSE); + txtNumfoliofinal.setValue(null); + + lbNumDoc.setVisible(Boolean.FALSE); + lbFolioInicio.setVisible(Boolean.FALSE); + lbFolioFinal.setVisible(Boolean.FALSE); + + txtQuantidade.setVisible(Boolean.FALSE); + lbQuantidade.setVisible(Boolean.FALSE); + txtQuantidade.setValue(null); + } + + chkValidaFolio.setDisabled(Boolean.TRUE); + chkValidaFolio.setChecked(Boolean.FALSE); + } + } + @SuppressWarnings("deprecation") public void onClick$btnSalvar(Event ev) { @@ -306,7 +534,8 @@ public class EditarConvenioController extends MyGenericForwardComposer { convenio.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); convenio.setConvenioDetList(lsConvenioDets); convenio.setValidafolio(chkValidaFolio.isChecked()); - convenio.setIndDescuentoNormal(chkDescontoNormal.isChecked()); + convenio.setIndDescuentoNormal(getTipoDesconto()); + convenio.setCliente(getClienteToSave()); if (rdDescuento.isChecked()) { convenio.setImprimeprecio(Convenio.IMPRIME_DESCONTO); @@ -366,8 +595,21 @@ public class EditarConvenioController extends MyGenericForwardComposer { } } - public void onClick$btnApagar(Event ev) { + private Integer getTipoDesconto() { + + if(rdNaoInformar.isChecked()) { + return ConstantesTipoDesconto.TIPO_DESCONTO_NAO_INFORMADO; + } else if (rdPorNumDocumento.isChecked()) { + return ConstantesTipoDesconto.DESCONTO_POR_NUMERO_DOCUMENTO; + } + + return ConstantesTipoDesconto.DESCONTO_POR_QUANTIDADE; + } + + public void onClick$btnApagar(Event ev) { + try { + int resp = Messagebox.show( Labels.getLabel("editarConvenioController.MSG.borrarPergunta"), Labels.getLabel("editarConvenioController.window.title"), @@ -412,8 +654,7 @@ public class EditarConvenioController extends MyGenericForwardComposer { continue; } - if (TraslaparUtil.intersectNum(pv.getNumfolioinicial().longValue(), pv.getNumfoliofinal().longValue(), - folioIni, folioFin)) { + if (TraslaparUtil.intersectNum(pv.getNumfolioinicial().longValue(), pv.getNumfoliofinal().longValue(), folioIni, folioFin)) { return 2; } } @@ -429,25 +670,28 @@ public class EditarConvenioController extends MyGenericForwardComposer { return; } - txtPorcdescuento.setConstraint("no empty"); - txtPorcdescuento.getValue(); + txtTarifa.setConstraint("no empty"); + txtTarifa.getValue(); - if (txtPorcdescuento.getValueBigDecimal().compareTo(new BigDecimal("100")) > 0) { - Clients.wrongValue(txtPorcdescuento, Labels.getLabel("MSG.Porcentaje")); + if (txtTarifa.getValueBigDecimal().compareTo(new BigDecimal("100")) > 0) { + Clients.wrongValue(txtTarifa, Labels.getLabel("MSG.Porcentaje")); return; } - if (chkValidaFolio.isChecked() || !chkDescontoNormal.isChecked()) { + if (chkValidaFolio.isChecked()) { txtNumfolioinicio.setConstraint("no empty, no negative, no zero"); txtNumfoliofinal.setConstraint("no empty, no negative, no zero"); - txtNumfolioinicio.getValue(); txtNumfoliofinal.getValue(); } - BigDecimal porcdescuento = txtPorcdescuento.getValueBigDecimal(); + BigDecimal porcdescuento = txtTarifa.getValueBigDecimal(); + BigDecimal porcdescuentoTaxaEmbarque = txtTxEmbarque.getValueBigDecimal(); + BigDecimal porcdescuentoSeguro = txtSeguro.getValueBigDecimal(); + BigDecimal porcdescuentoPedagio = txtPedagio.getValueBigDecimal(); Long numfolioinicio = txtNumfolioinicio.getValue(); Long numfoliofinal = txtNumfoliofinal.getValue(); + Long quantidade = txtQuantidade.getValue(); if (chkValidaFolio.isChecked() && (numfolioinicio > numfoliofinal)) { Messagebox.show( @@ -459,11 +703,8 @@ public class EditarConvenioController extends MyGenericForwardComposer { Boolean achou = Boolean.FALSE; for (ConvenioDet cds : convenio.getConvenioDetList()) { - if (cds.getNumfoliofinal() != null - && cds.getNumfolioinicial() != null) { - if (cds.getNumfoliofinal().equals(numfoliofinal) - && cds.getNumfolioinicial().equals(numfolioinicio) - && cds.getPorcdescuento().equals(porcdescuento)) { + if (cds.getNumfoliofinal() != null && cds.getNumfolioinicial() != null) { + if (cds.getNumfoliofinal().equals(numfoliofinal) && cds.getNumfolioinicial().equals(numfolioinicio) && cds.getPorcdescuento().equals(porcdescuento)) { achou = Boolean.TRUE; } } @@ -477,7 +718,11 @@ public class EditarConvenioController extends MyGenericForwardComposer { cd.setPorcdescuento(porcdescuento); cd.setNumfolioinicial(numfolioinicio); cd.setNumfoliofinal(numfoliofinal); - + cd.setPorcDescuentoTaxaEmbarque(porcdescuentoTaxaEmbarque); + cd.setPorcDescuentoSeguro(porcdescuentoSeguro); + cd.setPorcDescuentoPedagio(porcdescuentoPedagio); + cd.setQuantidade(quantidade); + if (chkValidaFolio.isChecked()) { int resp = registroDuplicado(numfolioinicio, numfoliofinal); @@ -514,34 +759,44 @@ public class EditarConvenioController extends MyGenericForwardComposer { } private void limparDadosDocumentos() { - txtPorcdescuento.setConstraint(""); + txtTarifa.setConstraint(""); txtNumfolioinicio.setConstraint(""); txtNumfoliofinal.setConstraint(""); - txtPorcdescuento.setText(""); + txtTarifa.setText(""); txtNumfolioinicio.setValue(null); txtNumfoliofinal.setValue(null); + + txtPedagio.setConstraint(""); + txtPedagio.setText(""); + + txtSeguro.setConstraint(""); + txtSeguro.setText(""); + + txtTxEmbarque.setConstraint(""); + txtTxEmbarque.setText(""); + txtQuantidade.setValue(null); } private Boolean isDescontoNaoNormalValido(Boolean salvando) throws InterruptedException { - if (!chkDescontoNormal.isChecked()) { + if (rdPorQuantidade.isChecked() || rdNaoInformar.isChecked()) { if (convenioDetList.getData().length > 1) { Messagebox.show( Labels.getLabel("editarConvenioController.MSG.erroDescontoNaoNormal"), Labels.getLabel("editarConvenioController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - txtPorcdescuento.focus(); + txtTarifa.focus(); limparDadosDocumentos(); return Boolean.FALSE; } - if (!salvando) { - if (txtNumfoliofinal.getValue() == null) { + if(!salvando && rdPorQuantidade.isChecked()) { + if (txtQuantidade.getValue() == null) { Messagebox.show( - Labels.getLabel("editarConvenioController.MSG.infoFolioFinal"), + Labels.getLabel("editarConvenioController.MSG.infoQuantidade"), Labels.getLabel("editarConvenioController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION); - txtPorcdescuento.focus(); + txtTarifa.focus(); limparDadosDocumentos(); return Boolean.FALSE; } @@ -629,13 +884,77 @@ public class EditarConvenioController extends MyGenericForwardComposer { public void setCmbPuntoVenta(Combobox cmbPuntoVenta) { this.cmbPuntoVenta = cmbPuntoVenta; } - - public Checkbox getChkDescontoNormal() { - return chkDescontoNormal; + + public Radio getRdPorNumDocumento() { + return rdPorNumDocumento; } - public void setChkDescontoNormal(Checkbox chkDescontoNormal) { - this.chkDescontoNormal = chkDescontoNormal; + public void setRdPorNumDocumento(Radio rdPorNumDocumento) { + this.rdPorNumDocumento = rdPorNumDocumento; + } + + public Radio getRdPorQuantidade() { + return rdPorQuantidade; + } + + public void setRdPorQuantidade(Radio rdPorQuantidade) { + this.rdPorQuantidade = rdPorQuantidade; + } + + public Radio getRdNaoInformar() { + return rdNaoInformar; + } + + public PagedListWrapper getPlwCliente() { + return plwCliente; + } + + public void setPlwCliente(PagedListWrapper plwCliente) { + this.plwCliente = plwCliente; + } + + public MyTextbox getTxtNomeCliente() { + return txtNomeCliente; + } + + public void setTxtNomeCliente(MyTextbox txtNomeCliente) { + this.txtNomeCliente = txtNomeCliente; + } + + public Bandbox getBandBoxCliente() { + return bandBoxCliente; + } + + public void setBandBoxCliente(Bandbox bandBoxCliente) { + this.bandBoxCliente = bandBoxCliente; + } + + public MyListbox getClienteList() { + return clienteList; + } + + public void setClienteList(MyListbox clienteList) { + this.clienteList = clienteList; + } + + public Paging getPagingCliente() { + return pagingCliente; + } + + public void setPagingCliente(Paging pagingCliente) { + this.pagingCliente = pagingCliente; + } + + public Cliente getClienteToSave() { + return clienteToSave; + } + + public void setClienteToSave(Cliente clienteToSave) { + this.clienteToSave = clienteToSave; + } + + public void setRdNaoInformar(Radio rdNaoInformar) { + this.rdNaoInformar = rdNaoInformar; } public void onClick$btnAdicionarTrecho(Event ev) throws InterruptedException { @@ -773,6 +1092,52 @@ public class EditarConvenioController extends MyGenericForwardComposer { } } + public void onClick$btnRemoverEmpresa(Event ev) { + try { + ConvenioEmpresa convenioEmpresaToRemove = (ConvenioEmpresa) empresaList.getSelected(); + if(convenioEmpresaToRemove != null) { + lsConvenioEmpresa.remove(convenioEmpresaToRemove); + convenioEmpresaToRemove.setFecmodif(Calendar.getInstance().getTime()); + convenioEmpresaToRemove.setActivo(Boolean.FALSE); + convenioEmpresaToRemove.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + lsConvenioEmpresa.add(convenioEmpresaToRemove); + empresaList.updateItem(convenioEmpresaToRemove); + empresaList.removeItem(convenioEmpresaToRemove); + convenio.setConvenioEmpresaList(lsConvenioEmpresa); + } else { + Messagebox.show( + Labels.getLabel("editarConfiguracionReservacionController.MSG.selectItem"), + Labels.getLabel("editarConfiguracionReservacionController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + } + + public void onClick$btnRemoverRuta(Event ev) { + try { + ConvenioRuta convenioRutaToRemove = (ConvenioRuta) rutaList.getSelected(); + if(convenioRutaToRemove != null) { + lsConvenioRuta.remove(convenioRutaToRemove); + convenioRutaToRemove.setFecmodif(Calendar.getInstance().getTime()); + convenioRutaToRemove.setActivo(Boolean.FALSE); + convenioRutaToRemove.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + lsConvenioRuta.add(convenioRutaToRemove); + rutaList.updateItem(convenioRutaToRemove); + rutaList.removeItem(convenioRutaToRemove); + convenio.setConvenioRutaList(lsConvenioRuta); + } else { + Messagebox.show( + Labels.getLabel("editarConfiguracionReservacionController.MSG.selectItem"), + Labels.getLabel("editarConfiguracionReservacionController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + } + } catch (Exception ex) { + log.error(ex); + } + } + public void onClick$btnAdicionarUsuario(Event ev) throws InterruptedException { if (cmbUsuario.getSelectedItem() != null) { Usuario usuario = (Usuario) cmbUsuario.getSelectedItem().getValue(); @@ -809,6 +1174,7 @@ public class EditarConvenioController extends MyGenericForwardComposer { cmbUsuario.setSelectedItem(null); } } + public void onClick$btnAdicionarPuntoVenta(Event ev) throws InterruptedException { if (cmbPuntoVenta.getSelectedItem() != null) { @@ -846,4 +1212,114 @@ public class EditarConvenioController extends MyGenericForwardComposer { cmbPuntoVenta.setSelectedItem(null); } } + + public void onClick$btnAdicionarEmpresa(Event ev) throws InterruptedException { + if (cmbEmpresa.getSelectedItem() != null) { + Empresa empresa = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + + ConvenioEmpresa convenioEmpresaToAdd = new ConvenioEmpresa(); + convenioEmpresaToAdd.setActivo(Boolean.TRUE); + convenioEmpresaToAdd.setConvenio(convenio); + convenioEmpresaToAdd.setFecmodif(Calendar.getInstance().getTime()); + convenioEmpresaToAdd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + convenioEmpresaToAdd.setEmpresa(empresa); + + boolean achou = Boolean.FALSE; + for (ConvenioEmpresa convenioEmpresaInTheList : lsConvenioEmpresa) { + if (convenioEmpresaInTheList.getEmpresa().equals(convenioEmpresaToAdd.getEmpresa()) && convenioEmpresaInTheList.getActivo()) { + achou = Boolean.TRUE; + } + } + + if(!achou) { + lsConvenioEmpresa.add(convenioEmpresaToAdd); + convenio.setConvenioEmpresaList(lsConvenioEmpresa); + } + + List tempList = new ArrayList(); + if(lsConvenioEmpresa != null) { + for (ConvenioEmpresa convenioEmpresa : lsConvenioEmpresa) { + if(convenioEmpresa.getActivo()) { + tempList.add(convenioEmpresa); + } + } + } + + empresaList.setData(tempList); + cmbEmpresa.setSelectedItem(null); + } + } + + public void onClick$btnAdicionarRuta(Event ev) throws InterruptedException { + if (cmbRuta.getSelectedItem() != null) { + Ruta ruta = (Ruta) cmbRuta.getSelectedItem().getValue(); + + ConvenioRuta convenioRutaToAdd = new ConvenioRuta(); + convenioRutaToAdd.setActivo(Boolean.TRUE); + convenioRutaToAdd.setConvenio(convenio); + convenioRutaToAdd.setFecmodif(Calendar.getInstance().getTime()); + convenioRutaToAdd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + convenioRutaToAdd.setRuta(ruta); + + boolean achou = Boolean.FALSE; + for (ConvenioRuta convenioRutaInTheList : lsConvenioRuta) { + if (convenioRutaInTheList.getRuta().equals(convenioRutaToAdd.getRuta()) && convenioRutaInTheList.getActivo()) { + achou = Boolean.TRUE; + } + } + + if(!achou) { + lsConvenioRuta.add(convenioRutaToAdd); + convenio.setConvenioRutaList(lsConvenioRuta); + } + + List tempList = new ArrayList(); + if(lsConvenioRuta != null) { + for (ConvenioRuta convenioRuta : lsConvenioRuta) { + if(convenioRuta.getActivo()) { + tempList.add(convenioRuta); + } + } + } + + rutaList.setData(tempList); + cmbRuta.setSelectedItem(null); + } + } + + public void onClick$btnPesquisa(Event ev) { + executarPesquisa(); + } + + public void onClick$btnLimpar(Event ev) { + clienteList.setData(new ArrayList()); + bandBoxCliente.setText(""); + txtNomeCliente.setValue(null); + } + + private void executarPesquisa() { + + HibernateSearchObject findCliente = new HibernateSearchObject(Cliente.class, pagingCliente.getPageSize()); + findCliente.addFilterILike("nombcliente", "%" + txtNomeCliente.getValue() + "%"); + findCliente.addFilterEqual("activo", Boolean.TRUE); + findCliente.addSortAsc("nombcliente"); + findCliente.addFilterEqual("activo", Boolean.TRUE); + plwCliente.init(findCliente, clienteList, pagingCliente); + + if (clienteList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), Labels.getLabel("editarConvenioController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) {} + } + } + + public void onDoubleClick$clienteList(Event ev) { + Cliente cliente = (Cliente) clienteList.getSelected(); + + if(cliente != null) { + bandBoxCliente.setValue(cliente.getNombcliente()); + setClienteToSave(cliente); + bandBoxCliente.close(); + } + } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteConvenio.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteConvenio.java new file mode 100644 index 000000000..ffb1ec31d --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderClienteConvenio.java @@ -0,0 +1,28 @@ +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.Cliente; + +public class RenderClienteConvenio implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object clienteSelected) throws Exception { + Listcell lc = new Listcell(); + + if(clienteSelected != null) { + Cliente cliente = (Cliente) clienteSelected; + + lc = new Listcell(cliente.getClienteId().toString()); + lc.setParent(lstm); + lc = new Listcell(cliente.getNombcliente() != null ? cliente.getNombcliente() : ""); + lc.setParent(lstm); + lc = new Listcell(cliente.getNumIdentificaUno() != null ? cliente.getNumIdentificaUno() : ""); + lc.setParent(lstm); + + lstm.setAttribute("data", cliente); + } + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioDet.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioDet.java index d6f3c56a5..2372c5f89 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioDet.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioDet.java @@ -4,47 +4,47 @@ */ package com.rjconsultores.ventaboletos.web.utilerias.render; -import com.rjconsultores.ventaboletos.entidad.ConvenioDet; -import java.math.BigDecimal; import org.zkoss.zul.Listcell; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import com.rjconsultores.ventaboletos.entidad.ConvenioDet; + /** * * @author Administrador */ public class RenderConvenioDet implements ListitemRenderer { - public void render(Listitem lstm, Object o) throws Exception { - ConvenioDet convenioDet = (ConvenioDet) o; - - Listcell lc = new Listcell(); - - BigDecimal porcentagem = convenioDet.getPorcdescuento(); - if (porcentagem != null) { - lc = new Listcell(porcentagem.setScale(2).toString()); - } else { - lc = new Listcell(""); - } - lc.setParent(lstm); - - Long inicial = convenioDet.getNumfolioinicial(); - if (inicial != null) { - lc = new Listcell(inicial.toString()); - } else { - lc = new Listcell(""); - } - lc.setParent(lstm); - - Long finaly = convenioDet.getNumfoliofinal(); - if (finaly != null) { - lc = new Listcell(finaly.toString()); - } else { - lc = new Listcell(""); - } - lc.setParent(lstm); - - lstm.setAttribute("data", convenioDet); + public void render(Listitem lstm, Object objectSelected) throws Exception { + Listcell lc = new Listcell(); + + if(objectSelected != null) { + ConvenioDet convenioDet = (ConvenioDet) objectSelected; + + // Porcentagem Tarifa + lc = new Listcell(convenioDet.getPorcdescuento() != null ? convenioDet.getPorcdescuento().setScale(2).toString() : ""); + lc.setParent(lstm); + // Porcentagem Taxa de Embarque + lc = new Listcell(convenioDet.getPorcDescuentoTaxaEmbarque() != null ? convenioDet.getPorcDescuentoTaxaEmbarque().setScale(2).toString() : ""); + lc.setParent(lstm); + // Porcentagem Pedágio + lc = new Listcell(convenioDet.getPorcDescuentoPedagio() != null ? convenioDet.getPorcDescuentoPedagio().setScale(2).toString() : ""); + lc.setParent(lstm); + // Porcentagem Seguro + lc = new Listcell(convenioDet.getPorcDescuentoSeguro() != null ? convenioDet.getPorcDescuentoSeguro().setScale(2).toString() : ""); + lc.setParent(lstm); + // Folio Inicial + lc = new Listcell(convenioDet.getNumfolioinicial() != null ? convenioDet.getNumfolioinicial().toString() : "-"); + lc.setParent(lstm); + // Folio Final + lc = new Listcell(convenioDet.getNumfoliofinal() != null ? convenioDet.getNumfoliofinal().toString() : "-"); + lc.setParent(lstm); + // Quantidade + lc = new Listcell(convenioDet.getQuantidade() != null ? convenioDet.getQuantidade().toString() : "-"); + lc.setParent(lstm); + + lstm.setAttribute("data", convenioDet); + } } } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioEmpresa.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioEmpresa.java new file mode 100644 index 000000000..3eae4a662 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioEmpresa.java @@ -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.ConvenioEmpresa; + +public class RenderConvenioEmpresa implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object selectedObject) throws Exception { + + Listcell lc = new Listcell(); + + if(selectedObject != null) { + ConvenioEmpresa convenioEmpresa = (ConvenioEmpresa) selectedObject; + + lc = new Listcell(convenioEmpresa.getEmpresa() != null ? convenioEmpresa.getEmpresa().getNombempresa() : ""); + lc.setParent(lstm); + lstm.setAttribute("data", convenioEmpresa); + } + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioRuta.java new file mode 100644 index 000000000..1a496a3c7 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderConvenioRuta.java @@ -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.ConvenioRuta; + +public class RenderConvenioRuta implements ListitemRenderer { + + @Override + public void render(Listitem lstm, Object selectedObject) throws Exception { + + Listcell lc = new Listcell(); + + if(selectedObject != null) { + ConvenioRuta convenioRuta = (ConvenioRuta) selectedObject; + + lc = new Listcell(convenioRuta.getRuta() != null ? convenioRuta.getRuta().getDescruta() : ""); + lc.setParent(lstm); + lstm.setAttribute("data", convenioRuta); + } + } +} \ No newline at end of file diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index c4b299d93..941b59f60 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -407,6 +407,8 @@ com.rjconsultores.ventaboletos.entidad.ExcepcionPeaje com.rjconsultores.ventaboletos.entidad.ExcepcionPeajeVigencia com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria + com.rjconsultores.ventaboletos.entidad.ConvenioEmpresa + com.rjconsultores.ventaboletos.entidad.ConvenioRuta diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 01e049475..4e7fafefd 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -3573,6 +3573,8 @@ editarConvenioController.tab.label.desconto = Desconto editarConvenioController.tab.label.usuarios = Usuários editarConvenioController.tab.label.agencias = Agências editarConvenioController.tab.label.trechos = Trechos +editarConvenioController.tab.label.empresas = Empresas +editarConvenioController.tab.label.linhas = Linhas editarConvenioController.tabTrecho.origem.value = Origem editarConvenioController.tabTrecho.Destino.value = Destino editarConvenioController.tabTrecho.MSG.selecioneItemDiferente = Igualdade de origem e de destino. @@ -3588,9 +3590,31 @@ editarConvenioController.tabUsuario.usuario.idUsuario.value = Id. Usuário editarConvenioController.tabUsuario.usuario.nomeUsuario.value = Nome editarConvenioController.tabPuntoVenta.value = Agência editarConvenioController.tabPuntoVenta.puntoVenta.descricao.value = Descrição -editarConvenioController.lbDescontoNormal.value = Desconto Normal +editarConvenioController.lbTipoDesconto.value = Tipo de Desconto editarConvenioController.MSG.erroDescontoNaoNormal = Desconto não normal pode conter apenas um documento na lista -editarConvenioController.MSG.infoFolioFinal = Informe Número do Documento Final +editarConvenioController.MSG.infoQuantidade = Informe a Quantidade + +editarConvenioController.PorNumDocumento.value = Por Número do Documento +editarConvenioController.PorQuantidade.value = Por Quantidade +editarConvenioController.NaoInformar.value = Não Informar +editarConvenioController.lbTarifa.value = Tarifa +editarConvenioController.lbTxEmbarque.value = Taxa de Embarque +editarConvenioController.lbPedagio.value = Pedágio +editarConvenioController.lbSeguro.value = Seguro +editarConvenioController.lbQuantidade.value = Quantidade +editarConvenioController.lbNumDocinicio.value = Doc. Inicial +editarConvenioController.lbNumDocfinal.value = Doc. FInal +editarConvenioController.nomeCliente.value = Nome do Cliente + +editarConvenioController.lbIdCliente.value = Id. Cliente +editarConvenioController.lbCpfCliente.value = DOC. Cliente +editarConvenioController.lbCliente.value = Cliente +editarConvenioController.tabEmpresa.value = Empresa +editarConvenioController.tabEmpresa.descricao.value = Descrição + +editarConvenioController.tabLinha.value = Linha +editarConvenioController.tabLinha.descricao.value = Descrição + # Búsqueda Alerta CTRL busquedaAlertaCtrlController.window.title = Configuración de alertas diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index bfa079269..15d939c8e 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -3630,6 +3630,8 @@ editarConvenioController.tab.label.desconto = Desconto editarConvenioController.tab.label.usuarios = Usuários editarConvenioController.tab.label.agencias = Agências editarConvenioController.tab.label.trechos = Trechos +editarConvenioController.tab.label.empresas = Empresas +editarConvenioController.tab.label.linhas = Linhas editarConvenioController.tabTrecho.origem.value = Origem editarConvenioController.tabTrecho.Destino.value = Destino editarConvenioController.tabTrecho.MSG.selecioneItemDiferente = Igualdade de origem e de destino. @@ -3645,9 +3647,30 @@ editarConvenioController.tabUsuario.usuario.idUsuario.value = Id. Usuário editarConvenioController.tabUsuario.usuario.nomeUsuario.value = Nome editarConvenioController.tabPuntoVenta.value = Agência editarConvenioController.tabPuntoVenta.puntoVenta.descricao.value = Descrição -editarConvenioController.lbDescontoNormal.value = Desconto Normal +editarConvenioController.lbTipoDesconto.value = Tipo de Desconto editarConvenioController.MSG.erroDescontoNaoNormal = Desconto não normal pode conter apenas um documento na lista -editarConvenioController.MSG.infoFolioFinal = Informe Número do Documento Final +editarConvenioController.MSG.infoQuantidade = Informe a Quantidade + +editarConvenioController.PorNumDocumento.value = Por Número do Documento +editarConvenioController.PorQuantidade.value = Por Quantidade +editarConvenioController.NaoInformar.value = Não Informar +editarConvenioController.lbTarifa.value = Tarifa +editarConvenioController.lbTxEmbarque.value = Taxa de Embarque +editarConvenioController.lbPedagio.value = Pedágio +editarConvenioController.lbSeguro.value = Seguro +editarConvenioController.lbQuantidade.value = Quantidade +editarConvenioController.lbNumDocinicio.value = Doc. Inicial +editarConvenioController.lbNumDocfinal.value = Doc. FInal +editarConvenioController.nomeCliente.value = Nome do Cliente + +editarConvenioController.lbIdCliente.value = Id. Cliente +editarConvenioController.lbCpfCliente.value = DOC. Cliente +editarConvenioController.lbCliente.value = Cliente +editarConvenioController.tabEmpresa.value = Empresa +editarConvenioController.tabEmpresa.descricao.value = Descrição + +editarConvenioController.tabLinha.value = Linha +editarConvenioController.tabLinha.descricao.value = Descrição # Pesquisa Alerta CTRL busquedaAlertaCtrlController.window.title = Configuração de Alertas diff --git a/web/gui/configuraciones_comerciales/editarConvenio.zul b/web/gui/configuraciones_comerciales/editarConvenio.zul index 9bfbc2bc4..7ecd7ab67 100644 --- a/web/gui/configuraciones_comerciales/editarConvenio.zul +++ b/web/gui/configuraciones_comerciales/editarConvenio.zul @@ -25,15 +25,12 @@ - - - - - + + + + + + @@ -45,67 +42,103 @@ - - - - - - - - + - - - + + + - + + + + + + + + + + + + + - + + + + + + + + +