wilian 2017-05-17 21:38:52 +00:00
parent 4abcdf8c24
commit ed6bb440bd
1 changed files with 44 additions and 22 deletions

View File

@ -417,28 +417,6 @@ public class EditarEstacionController extends MyGenericForwardComposer {
public void onClick$btnAddEstacionImpresora(Event ev) { public void onClick$btnAddEstacionImpresora(Event ev) {
Comboitem cbiEmpresa = cmbEmpresaImpressora.getSelectedItem(); Comboitem cbiEmpresa = cmbEmpresaImpressora.getSelectedItem();
if (cbiEmpresa != null) { 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(); String nomeImpresora = txtNomImpressoara.getValue();
if (StringUtils.isBlank(nomeImpresora)) { if (StringUtils.isBlank(nomeImpresora)) {
@ -446,6 +424,18 @@ public class EditarEstacionController extends MyGenericForwardComposer {
return; 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;
}
if (cmbTipoImpressora.getSelectedItem() == null) { if (cmbTipoImpressora.getSelectedItem() == null) {
Clients.alert(Labels.getLabel("editarEstacionController.MSG.nomeImpressora"), Labels.getLabel("editarEstacionController.window.title"), Messagebox.INFORMATION); Clients.alert(Labels.getLabel("editarEstacionController.MSG.nomeImpressora"), Labels.getLabel("editarEstacionController.window.title"), Messagebox.INFORMATION);
return; 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,<br>
* 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() { private Integer getTipoImpressora() {
String valor = ((Comboitem) cmbTipoImpressora.getSelectedItem()).getValue().toString(); String valor = ((Comboitem) cmbTipoImpressora.getSelectedItem()).getValue().toString();
if (valor.equals(MATRICIAL)) { if (valor.equals(MATRICIAL)) {