diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaEmpresaTrocoSimplesController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaEmpresaTrocoSimplesController.java new file mode 100644 index 000000000..3dc5bd621 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/BusquedaEmpresaTrocoSimplesController.java @@ -0,0 +1,168 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Scope; +import org.springframework.stereotype.Controller; +import org.zkoss.util.resource.Labels; +import org.zkoss.zhtml.Messagebox; +import org.zkoss.zk.ui.Component; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.EmpresaTrocoSimples; +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.paginacion.HibernateSearchObject; +import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaTrocoSimples; + +@Controller("busquedaEmpresaTrocoSimples") +@Scope("prototype") +public class BusquedaEmpresaTrocoSimplesController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private transient PagedListWrapper plwEmpresaTrocoSimples; + + private MyListbox empresaTrocoSimplesList; + private Paging pagingEmpresaTrocoSimples; + private Textbox txtCnpj; + private Combobox cmbEmpresa; + + private List lsEmpresas; + + public Combobox getCmbEmpresa() { + return cmbEmpresa; + } + + public void setCmbEmpresa(Combobox cmbEmpresa) { + this.cmbEmpresa = cmbEmpresa; + } + + public Paging getPagingEmpresaTrocoSimples() { + return pagingEmpresaTrocoSimples; + } + + public void setPagingEmpresaTrocoSimples(Paging pagingEmpresaTrocoSimples) { + this.pagingEmpresaTrocoSimples = pagingEmpresaTrocoSimples; + } + + public MyListbox getEmpresaTrocoSimplesList() { + return empresaTrocoSimplesList; + } + + public void setEmpresaTrocoSimplesList(MyListbox empresaTrocoSimplesList) { + this.empresaTrocoSimplesList = empresaTrocoSimplesList; + } + + public PagedListWrapper getPlwEmpresaTrocoSimples() { + return plwEmpresaTrocoSimples; + } + + public void setPlwEmpresaTrocoSimples(PagedListWrapper plwEmpresaTrocoSimples) { + this.plwEmpresaTrocoSimples = plwEmpresaTrocoSimples; + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + refreshLista(); + } + + public void onClick$btnRefresh(Event ev) { + refreshLista(); + } + + public void onClick$btnNovo(Event ev) { + editar(new EmpresaTrocoSimples()); + } + + public List getLsEmpresas() { + return lsEmpresas; + } + + public void setLsEmpresas(List lsEmpresas) { + this.lsEmpresas = lsEmpresas; + } + + + @Override + public void doAfterCompose(Component comp) throws Exception { + super.doAfterCompose(comp); + + lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa(); + + + empresaTrocoSimplesList.setItemRenderer(new RenderEmpresaTrocoSimples()); + empresaTrocoSimplesList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + EmpresaTrocoSimples e= (EmpresaTrocoSimples) empresaTrocoSimplesList.getSelected(); + editar(e); + } + }); + + refreshLista(); + + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void editar(EmpresaTrocoSimples e) { + if (e == null) { + return; + } + + Map args = new HashMap(); + args.put("empresaTrocoSimples", e); + args.put("busquedaEmpresaTrocoSimples", this); + + openWindow("/gui/esquema_operacional/editarEmpresaTrocoSimples.zul", + Labels.getLabel("editarPuntoVentaController.window.title"), args, MODAL); + } + + public void refreshLista() { + HibernateSearchObject empresaTrocoSimplesBusqueda = + new HibernateSearchObject(EmpresaTrocoSimples.class, pagingEmpresaTrocoSimples.getPageSize()); + + + Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); + + if (itemEmpresa != null) { + Empresa empresa = (Empresa) itemEmpresa.getValue(); + empresaTrocoSimplesBusqueda.addFilterEqual("empresa", empresa); + } + + if (StringUtils.isNotBlank(txtCnpj.getText())) { + empresaTrocoSimplesBusqueda.addFilterLike("cnpj", txtCnpj.getText().trim().concat("%")); + } + + empresaTrocoSimplesBusqueda.addFilterEqual("activo", Boolean.TRUE); + empresaTrocoSimplesBusqueda.addSortAsc("empresa.nombempresa"); + + plwEmpresaTrocoSimples.init(empresaTrocoSimplesBusqueda, empresaTrocoSimplesList, pagingEmpresaTrocoSimples); + + if (empresaTrocoSimplesList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("editarEmpresaTrocoSimples.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } + catch (InterruptedException ex) { + } + } + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarEmpresaTrocoSimplesController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarEmpresaTrocoSimplesController.java index 7e56269dd..014dde62d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarEmpresaTrocoSimplesController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarEmpresaTrocoSimplesController.java @@ -9,8 +9,8 @@ import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.zkoss.zhtml.Messagebox; 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.Combobox; import org.zkoss.zul.Comboitem; import org.zkoss.zul.Longbox; @@ -18,9 +18,9 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.EmpresaTrocoSimples; -import com.rjconsultores.ventaboletos.enums.TypeEventListener; import com.rjconsultores.ventaboletos.service.EmpresaTrocoSimplesService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.web.gui.controladores.catalogos.BusquedaEmpresaTrocoSimplesController; import com.rjconsultores.ventaboletos.web.utilerias.MensagensUtils; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -31,63 +31,36 @@ public class EditarEmpresaTrocoSimplesController extends MyGenericForwardCompose private static final long serialVersionUID = 1L; private static Logger log = Logger.getLogger(EditarEmpresaTrocoSimplesController.class); - + @Autowired private EmpresaTrocoSimplesService trocoService; - + private Combobox cmbEmpresa; private List lsEmpresas; private Textbox txtRazaoSocial; private Textbox txtNomeFantasia; - private Longbox txtCNPJ; + private Longbox txtCNPJ; private Textbox txtTelefone; private Textbox txtEndereco; private Textbox txtValorSugerido; - private Textbox txtToken; - + private Textbox txtToken; + private EmpresaTrocoSimples empresaTroco; - + private BusquedaEmpresaTrocoSimplesController busquedaEmpresaTrocoSimples; + @Override public void doAfterCompose(Component comp) throws Exception { + empresaTroco = (EmpresaTrocoSimples) Executions.getCurrent().getArg().get("empresaTrocoSimples"); + busquedaEmpresaTrocoSimples = (BusquedaEmpresaTrocoSimplesController) Executions.getCurrent().getArg().get("busquedaEmpresaTrocoSimples"); lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa(); - + super.doAfterCompose(comp); - - cmbEmpresa.addEventListener(TypeEventListener.ON_CHANGE.getEvent(), new EventListenerOnChangeComboEmpresa()); + preencherTela(); } - - private final class EventListenerOnChangeComboEmpresa implements EventListener { - @Override - public void onEvent(Event arg0) throws Exception { - if(cmbEmpresa.getSelectedIndex() < 0) { - log.info("Nćo foi selecionado empresa"); - empresaTroco = null; - preencherTela(); - return; - } - Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); - Empresa empresa = (Empresa) itemEmpresa.getValue(); - - empresaTroco = trocoService.buscarEmpresaTrocoSimplesPorEmpresaId(empresa.getEmpresaId()); - - if(empresaTroco == null) { - empresaTroco = new EmpresaTrocoSimples(); - } - - preencherTela(); - } - } - + private void preencherTela() { - if(empresaTroco == null) { - txtRazaoSocial.setText(""); - txtNomeFantasia.setText(""); - txtCNPJ.setText(""); - txtTelefone.setText(""); - txtEndereco.setText(""); - txtValorSugerido.setText(""); - txtToken.setText(""); - } else { + if (empresaTroco != null && empresaTroco.getEmpresa() != null) { + cmbEmpresa.setText(empresaTroco.getEmpresa().getNombempresa()); txtRazaoSocial.setText(empresaTroco.getRazaoSocial()); txtNomeFantasia.setText(empresaTroco.getNomeFantasia()); txtCNPJ.setText(empresaTroco.getCnpj()); @@ -97,54 +70,76 @@ public class EditarEmpresaTrocoSimplesController extends MyGenericForwardCompose txtToken.setText(empresaTroco.getTokenEmpresa()); } } - + public void onClick$btnSalvar(Event ev) { + cmbEmpresa.getValue(); + txtCNPJ.getValue(); + txtToken.getValue(); try { - if(empresaTroco != null) { + if (empresaTroco != null) { Comboitem itemEmpresa = cmbEmpresa.getSelectedItem(); Empresa empresa = (Empresa) itemEmpresa.getValue(); empresaTroco.setEmpresa(empresa); - empresaTroco.setCnpj(txtCNPJ.getText()); + empresaTroco.setCnpj(txtCNPJ.getText().trim()); empresaTroco.setNomeFantasia(txtNomeFantasia.getText()); empresaTroco.setRazaoSocial(txtRazaoSocial.getText()); empresaTroco.setTelefone(txtTelefone.getText()); empresaTroco.setEndereco(txtEndereco.getText()); - empresaTroco.setValorSugerirTroco(new BigDecimal(txtValorSugerido.getText())); - empresaTroco.setTokenEmpresa(txtToken.getText()); + empresaTroco.setValorSugerirTroco(txtValorSugerido.getText() != null && !txtValorSugerido.getText().isEmpty() ? new BigDecimal(txtValorSugerido.getText()) : null); + empresaTroco.setTokenEmpresa(txtToken.getText().trim()); empresaTroco.setActivo(true); + + if (!validaEmpresaTrocoSimplesExistente(empresaTroco)) { + MensagensUtils.showMessageError("editarEmpresaTrocoSimples.MSG.cadastroExistente", "editarEmpresaTrocoSimples.window.title"); + return; + } + empresaTroco = trocoService.suscribirActualizar(empresaTroco); - MensagensUtils.showMessageExclamation("editarEmpresaTrocoSimples.MSG.suscribirOK", "editarEmpresaTrocoSimples.window.title"); + busquedaEmpresaTrocoSimples.refreshLista(); + this.closeWindow(); } - + } catch (Exception e) { log.error("Erro ao salvar configuraēćo de troco simples: ", e); - MensagensUtils.showMessageError("editarConvenioController.MSG.erro", "editarEmpresaTrocoSimples.window.title"); + MensagensUtils.showMessageError("editarConvenioController.MSG.erro", "editarEmpresaTrocoSimples.window.title"); } } - -public void onClick$btnApagar(Event ev) { - try { - if(!(empresaTroco != null && empresaTroco.getEmpresaTrocoSimplesId() != null)) { - return; - } - - if (Messagebox.YES == MensagensUtils.showMessageQuestion("editarEmpresaTrocoSimples.MSG.borrarPergunta", "editarEmpresaTrocoSimples.window.title")) { - trocoService.apagar(empresaTroco); + private boolean validaEmpresaTrocoSimplesExistente(EmpresaTrocoSimples empresaTroco) { - MensagensUtils.showMessageExclamation("editarConvenioController.MSG.borrarOK", "editarConvenioController.window.title"); - - cmbEmpresa.setSelectedIndex(-1); - empresaTroco = null; - preencherTela(); - - } - } catch (Exception ex) { - log.error("Erro ao apagar configuraēćo de troco simples: ", ex); - } - } + EmpresaTrocoSimples existente = trocoService.buscarEmpresaTrocoSimplesPorEmpresaId(empresaTroco.getEmpresa().getEmpresaId()); + + if (existente != null && empresaTroco.getEmpresaTrocoSimplesId() == null) { + return false; + } + if(existente != null && !empresaTroco.getEmpresaTrocoSimplesId().equals(existente.getEmpresaTrocoSimplesId())) { + return false; + } + + return true; + } + + public void onClick$btnApagar(Event ev) { + try { + if (!(empresaTroco != null && empresaTroco.getEmpresaTrocoSimplesId() != null)) { + return; + } + + if (Messagebox.YES == MensagensUtils.showMessageQuestion("editarEmpresaTrocoSimples.MSG.borrarPergunta", "editarEmpresaTrocoSimples.window.title")) { + trocoService.apagar(empresaTroco); + MensagensUtils.showMessageExclamation("editarConvenioController.MSG.borrarOK", "editarConvenioController.window.title"); + cmbEmpresa.setSelectedIndex(-1); + empresaTroco = null; + busquedaEmpresaTrocoSimples.refreshLista(); + this.closeWindow(); + } + + } catch (Exception ex) { + log.error("Erro ao apagar configuraēćo de troco simples: ", ex); + } + } public Combobox getCmbEmpresa() { return cmbEmpresa; diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuCadastroEmpresaTrocoSimples.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuCadastroEmpresaTrocoSimples.java index c75bc6da0..a728539f2 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuCadastroEmpresaTrocoSimples.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuCadastroEmpresaTrocoSimples.java @@ -19,7 +19,7 @@ public class ItemMenuCadastroEmpresaTrocoSimples extends DefaultItemMenuSistema @Override public void ejecutar() { - PantallaUtileria.openWindow("/gui/esquema_operacional/editarEmpresaTrocoSimples.zul", + PantallaUtileria.openWindow("/gui/esquema_operacional/busquedaEmpresaTrocoSimples.zul", Labels.getLabel("editarEmpresaTrocoSimples.window.title"), getArgs() ,desktop); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaTrocoSimples.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaTrocoSimples.java new file mode 100644 index 000000000..094675a75 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresaTrocoSimples.java @@ -0,0 +1,27 @@ + +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.EmpresaTrocoSimples; + + +public class RenderEmpresaTrocoSimples implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + EmpresaTrocoSimples e = (EmpresaTrocoSimples) o; + + Listcell lc = new Listcell(e.getEmpresa().getNombempresa()); + lc.setParent(lstm); + + lc = new Listcell(e.getCnpj()); + lc.setParent(lstm); + + lc = new Listcell(e.getValorSugerirTroco() != null ? e.getValorSugerirTroco().toString() :""); + lc.setParent(lstm); + + lstm.setAttribute("data", e); + } +} diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 6d1800cca..afaa9a68e 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -8217,9 +8217,12 @@ editarEmpresaTrocoSimples.endereco=EndereƧo editarEmpresaTrocoSimples.valorSugerir=Valor para SugestĆ£o de Troco Simples editarEmpresaTrocoSimples.token=Token editarEmpresaTrocoSimples.MSG.suscribirOK = Cadastro da empresa no Troco Simples registrado com sucesso. +editarEmpresaTrocoSimples.MSG.cadastroExistente = JĆ” existe uma configuração para esta Empresa. + editarEmpresaTrocoSimples.MSG.borrarPergunta = Remover configuraƧƵes do troco simples para empresa? editarEmpresaTrocoSimples.MSG.borrarOK = Configuração removida com Sucesso. editarConvenioController.MSG.erro= Erro ao salvar +busquedaEmpresaTrocoSimples.valorSugerir= Valor Sugerido #viewTestEmailController viewTestEmailController.window.title= Testar configuraƧƵes da conta diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index e53e8942f..c9ed1ef6d 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -8716,9 +8716,11 @@ editarEmpresaTrocoSimples.endereco=EndereƧo editarEmpresaTrocoSimples.valorSugerir=Valor para SugestĆ£o de Troco Simples editarEmpresaTrocoSimples.token=Token editarEmpresaTrocoSimples.MSG.suscribirOK = Cadastro da empresa no Troco Simples registrado com sucesso. +editarEmpresaTrocoSimples.MSG.cadastroExistente = JĆ” existe uma configuração para esta Empresa. editarEmpresaTrocoSimples.MSG.borrarPergunta = Remover configuraƧƵes do troco simples para empresa? editarEmpresaTrocoSimples.MSG.borrarOK = Configuração removida com Sucesso. editarConvenioController.MSG.erro= Erro ao salvar +busquedaEmpresaTrocoSimples.valorSugerir= Valor Sugerido #viewTestEmailController viewTestEmailController.window.title= Testar configuraƧƵes da conta diff --git a/web/gui/esquema_operacional/busquedaEmpresaTrocoSimples.zul b/web/gui/esquema_operacional/busquedaEmpresaTrocoSimples.zul new file mode 100644 index 000000000..12ed130ab --- /dev/null +++ b/web/gui/esquema_operacional/busquedaEmpresaTrocoSimples.zul @@ -0,0 +1,70 @@ + + + + + + + + + +