fixes bug#0011602

dev: thiago
qua: marcelo

Para a opção de Arquivo Layout Internacional e incluir mais de uma impressora para a mesma estação está parametrizável, e só será possível através a propriedade permiteVariasImpressorasMesmaEmpresa=1.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@83918 d1611594-4594-4d17-8e1d-87c2c4800839
master
emerson 2018-08-03 17:58:46 +00:00
parent bb930b47bd
commit eddfd54dd9
5 changed files with 83 additions and 22 deletions

View File

@ -115,6 +115,8 @@ public class EditarEstacionController extends MyGenericForwardComposer {
private Label lblLibercard;
private Checkbox chkUtilizaCartaoLibercard;
private Checkbox chkStockCentral;
private Label lblTipoArquivoLayoutInternacional;
private Checkbox chkTipoArquivoLayoutInternacional;
public Estacion getEstacion() {
return estacion;
@ -149,14 +151,8 @@ public class EditarEstacionController extends MyGenericForwardComposer {
estacionImpresoraList.setItemRenderer(new RenderEstacionImpresora());
estacionRioCardList.setItemRenderer(new EstacionRioCardRender());
if (ApplicationProperties.getInstance().integracionRioCard()) {
tabRioCard.setVisible(true);
}
if (ApplicationProperties.getInstance().utillizaCartaoLiberCard()) {
lblLibercard.setVisible(true);
chkUtilizaCartaoLibercard.setVisible(true);
}
validaHabilitacaoCampos();
if (estacion.getEstacionId() == null) {
btnApagar.setVisible(Boolean.FALSE);
} else {
@ -213,6 +209,35 @@ public class EditarEstacionController extends MyGenericForwardComposer {
txtDescEstacion.focus();
}
private void validaHabilitacaoCampos() {
ApplicationProperties instance = ApplicationProperties.getInstance();
validaHabilitacaoCamposRioCard(instance)
.validaHabilitacaoCamposCartaoLiberCard(instance)
.validaHabilitacaoTipoArquivoInternacional(instance);
}
private EditarEstacionController validaHabilitacaoCamposRioCard(ApplicationProperties instance) {
if (instance.integracionRioCard()) {
tabRioCard.setVisible(true);
}
return this;
}
private EditarEstacionController validaHabilitacaoCamposCartaoLiberCard(ApplicationProperties instance) {
if (instance.utillizaCartaoLiberCard()) {
lblLibercard.setVisible(true);
chkUtilizaCartaoLibercard.setVisible(true);
}
return this;
}
private void validaHabilitacaoTipoArquivoInternacional(ApplicationProperties instance) {
if (instance.isPermiteVariasImpressorasMesmaEmpresa()) {
lblTipoArquivoLayoutInternacional.setVisible(true);
chkTipoArquivoLayoutInternacional.setVisible(true);
}
}
private List<String> getTiposImpressora() {
List<String> tiposImpressora = new ArrayList<String>();
tiposImpressora.add(MATRICIAL);
@ -525,6 +550,7 @@ public class EditarEstacionController extends MyGenericForwardComposer {
estacionImpresora.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
estacionImpresora.setTipoImpressora(getTipoImpressora());
estacionImpresora.setEstacionCentral(estacionCentral);
estacionImpresora.setIndArchivolayoutInternacional(chkTipoArquivoLayoutInternacional.isChecked());
estacionImpresoraList.addItemNovo(estacionImpresora);
@ -544,21 +570,11 @@ public class EditarEstacionController extends MyGenericForwardComposer {
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);
}
});
empresaExiste = CollectionUtils.exists(estacionImpresoraList.getListData(),
new PredicateMesmaEmpresaEImpressora(nomeImpresora, empresaId));
} 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));
}
});
empresaExiste = CollectionUtils.exists(estacionImpresoraList.getListData(),
new PredicateEmpresaAtiva(empresaId));
}
return empresaExiste;
}
@ -690,4 +706,34 @@ public class EditarEstacionController extends MyGenericForwardComposer {
e.printStackTrace();
}
}
private final class PredicateMesmaEmpresaEImpressora extends PredicateEmpresaAtiva {
private final String nomeImpresora;
private PredicateMesmaEmpresaEImpressora(String nomeImpresora, Integer empresaId) {
super(empresaId);
this.nomeImpresora = nomeImpresora;
}
@Override
public boolean evaluate(Object obj) {
EstacionImpresora e = (EstacionImpresora) obj;
return (super.evaluate(obj))
&& e.getNombImpresora().equals(nomeImpresora);
}
}
private class PredicateEmpresaAtiva implements Predicate {
private final Integer empresaId;
private PredicateEmpresaAtiva(Integer empresaId) {
this.empresaId = empresaId;
}
@Override
public boolean evaluate(Object obj) {
EstacionImpresora e = (EstacionImpresora) obj;
return (e.getActivo() && e.getEmpresa().getEmpresaId().equals(empresaId));
}
}
}

View File

@ -39,6 +39,9 @@ public class RenderEstacionImpresora implements ListitemRenderer {
lc = new Listcell(estacionImpresora.getNombArchivoLayout());
lc.setParent(lstm);
lc = new Listcell(estacionImpresora.getIndArchivolayoutInternacional() ? "Sim" : "Não");
lc.setParent(lstm);
lstm.setAttribute("data", estacionImpresora);
}

View File

@ -4080,6 +4080,7 @@ busquedaEstacionController.nomeArquivoLayout.label = Archivo Layout
busquedaEstacionController.lhUtilizaCartaoLibercard.label = Utiliza tarjeta Libercard
busquedaEstacionController.lhStockCentral.label = Stock Central
msg.constraint.cajaObligatorio = Caja obligatoria
busquedaEstacionController.lhTipoArquivoLayoutInternacional.label = Archivo Layout Internacional
# Editar Estacion
editarEstacionController.window.title = Estación

View File

@ -4288,6 +4288,7 @@ busquedaEstacionController.nomeImpressoraBPe.label = Impressora BPe
busquedaEstacionController.nomeImpressoraSeguro.label = Impressora Seguro
busquedaEstacionController.nomeArquivoLayout.label = Arquivo Layout
msg.constraint.cajaObligatorio = Caixa obligatória
busquedaEstacionController.lhTipoArquivoLayoutInternacional.label = Arquivo Layout Internacional
# Editar Estacion
editarEstacionController.window.title = Estação

View File

@ -329,6 +329,14 @@
<textbox id="txtNomeArquivoLayout"
width="90%" maxlength="20" />
</row>
<row>
<label
id="lblTipoArquivoLayoutInternacional"
visible="false"
value="${c:l('busquedaEstacionController.lhTipoArquivoLayoutInternacional.label')}" />
<checkbox id="chkTipoArquivoLayoutInternacional"
visible="false"/>
</row>
</rows>
</grid>
<toolbar>
@ -354,6 +362,8 @@
label="${c:l('busquedaEstacionController.nomeImpressora.label')}" />
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaEstacionController.nomeArquivoLayout.label')}" />
<listheader image="/gui/img/create_doc.gif"
label="${c:l('busquedaEstacionController.lhTipoArquivoLayoutInternacional.label')}" />
</listhead>
</listbox>
</tabpanel>