diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarEstacionController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarEstacionController.java index e2caa390f..c15785a65 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarEstacionController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/seguridad/EditarEstacionController.java @@ -417,32 +417,22 @@ public class EditarEstacionController extends MyGenericForwardComposer { public void onClick$btnAddEstacionImpresora(Event ev) { Comboitem cbiEmpresa = cmbEmpresaImpressora.getSelectedItem(); if (cbiEmpresa != null) { - Empresa empresa = (Empresa) cbiEmpresa.getValue(); - - final Integer empresaId = empresa.getEmpresaId(); - - boolean empresaExiste = CollectionUtils.exists(estacionImpresoraList.getListData(), new Predicate() { - - @Override - public boolean evaluate(Object obj) { - - EstacionImpresora e = (EstacionImpresora) obj; - - return (e.getActivo() && e.getEmpresa().getEmpresaId().equals(empresaId)); - - } - }); - - if (empresaExiste) { - Clients.alert(Labels.getLabel("editarEstacionController.MSG.empresaYaExiste"), Labels.getLabel("editarEstacionController.window.title"), Messagebox.INFORMATION); - - return; - } - String nomeImpresora = txtNomImpressoara.getValue(); if (StringUtils.isBlank(nomeImpresora)) { Clients.alert(Labels.getLabel("editarEstacionController.MSG.nomeImpressora"), Labels.getLabel("editarEstacionController.window.title"), Messagebox.INFORMATION); + return; + } + + Empresa empresa = (Empresa) cbiEmpresa.getValue(); + + final Integer empresaId = empresa.getEmpresaId(); + + boolean empresaExiste = validarImpressoraJaCadastrada(empresaId, nomeImpresora); + + if (empresaExiste) { + Clients.alert(Labels.getLabel("editarEstacionController.MSG.empresaYaExiste"), Labels.getLabel("editarEstacionController.window.title"), Messagebox.INFORMATION); + return; } @@ -468,6 +458,38 @@ public class EditarEstacionController extends MyGenericForwardComposer { } } + /** + * Mantis #8978 + * Valida se a impressora pode ser adicionada. + * Se a propriedade "PermiteVariasImpressorasMesmaEmpresa" estiver ativada, valida a empresa e o nome da impressora,
+ * caso não esteja ativada, consiste apenas a empresa. + * @param empresaId + * @param nomeImpresora + * @return + */ + private boolean validarImpressoraJaCadastrada(final Integer empresaId, final String nomeImpresora) { + boolean empresaExiste; + + if(ApplicationProperties.getInstance().isPermiteVariasImpressorasMesmaEmpresa()) { + empresaExiste = CollectionUtils.exists(estacionImpresoraList.getListData(), new Predicate() { + @Override + public boolean evaluate(Object obj) { + EstacionImpresora e = (EstacionImpresora) obj; + return (e.getActivo() && e.getEmpresa().getEmpresaId().equals(empresaId)) && e.getNombImpresora().equals(nomeImpresora); + } + }); + } else { + empresaExiste = CollectionUtils.exists(estacionImpresoraList.getListData(), new Predicate() { + @Override + public boolean evaluate(Object obj) { + EstacionImpresora e = (EstacionImpresora) obj; + return (e.getActivo() && e.getEmpresa().getEmpresaId().equals(empresaId)); + } + }); + } + return empresaExiste; + } + private Integer getTipoImpressora() { String valor = ((Comboitem) cmbTipoImpressora.getSelectedItem()).getValue().toString(); if (valor.equals(MATRICIAL)) {