igor.rodrigo 2015-09-30 00:52:04 +00:00
parent 5c5059ee42
commit bcbf0c63e5
6 changed files with 265 additions and 44 deletions

View File

@ -36,6 +36,7 @@ import com.rjconsultores.ventaboletos.entidad.ClienteDescuento;
import com.rjconsultores.ventaboletos.entidad.ClienteDireccion;
import com.rjconsultores.ventaboletos.entidad.ClienteFidelidad;
import com.rjconsultores.ventaboletos.entidad.Curso;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Escola;
import com.rjconsultores.ventaboletos.entidad.MotivoViaje;
import com.rjconsultores.ventaboletos.entidad.Parada;
@ -46,11 +47,14 @@ import com.rjconsultores.ventaboletos.entidad.TipoOcupacion;
import com.rjconsultores.ventaboletos.service.ClienteCursoService;
import com.rjconsultores.ventaboletos.service.ClienteDescuentoService;
import com.rjconsultores.ventaboletos.service.ClienteService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.EscolaService;
import com.rjconsultores.ventaboletos.service.MotivoViajeService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.TarjetaFidelidadService;
import com.rjconsultores.ventaboletos.service.TipoDomicilioService;
import com.rjconsultores.ventaboletos.service.TipoOcupacionService;
import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada;
@ -59,6 +63,7 @@ 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.render.RenderClienteDescuento;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderClienteFidelidade;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCurso;
@Controller("editarClienteController")
@ -81,6 +86,10 @@ public class EditarClienteController extends MyGenericForwardComposer {
private ClienteDescuentoService clienteDescuentoService;
@Autowired
private ClienteCursoService clienteCursoService;
@Autowired
private EmpresaService empresaService;
@Autowired
private TarjetaFidelidadService tarjetaFidelidadService;
private Cliente cliente;
private MyListbox clienteList;
@ -113,6 +122,7 @@ public class EditarClienteController extends MyGenericForwardComposer {
private Combobox cmbOcupacion;
private Combobox cmbMotivacionViaje;
private Combobox cmbEscola;
private Combobox cmbEmpresa;
private List<MotivoViaje> lsMotivoViaje;
private List<TipoOcupacion> lsTipoOcupacion;
@ -120,10 +130,12 @@ public class EditarClienteController extends MyGenericForwardComposer {
private List<TipoDomicilio> lsTipoDomicilio;
private List<Escola> lsEscola;
private List<Ruta> lsLinhas;
private List<Empresa> lsEmpresas;
private Checkbox chkBloqueo;
private MyComboboxEstandar cmbLinha;
private Ruta linha;
private Empresa empresa;
private MyComboboxParada cmbParadaOrigem;
private MyComboboxParadaCve cmbParadaOrigemCve;
private Parada origem;
@ -153,10 +165,12 @@ public class EditarClienteController extends MyGenericForwardComposer {
private MyListbox clienteDescuentoMyListBox;
private List<ClienteDescuento> lsClienteDescuento;
private MyListbox cursoList;
private Tab tabCurso;
private List<ClienteFidelidad> lsClienteFidelidad;
private MyListbox clienteFidelidadeMyListBox;
public void aplicarMascara() {
Clients.evalJavaScript("jQuery('#" + txtNumFax.getUuid()
+ "').mask('(999)9999-9999?9');jQuery('#" + numtelefonodos.getUuid()
@ -194,37 +208,11 @@ public class EditarClienteController extends MyGenericForwardComposer {
cmbEscola.setDisabled(desabilitar);
}
private Boolean isClienteImportacao() {
TipoOcupacion ocupacion = cliente.getTipoocupacionId();
if (ocupacion != null) {
if (ocupacion.getTipoocupacionId().equals(TIPO_OCUPACION_ESTUDANTE))
return Boolean.FALSE;
}
List<ClienteFidelidad> ls = cliente.getListClienteFidelidad();
TarjetaFidelidad tarjetaFidelidad = null;
if ((ls != null) && (!ls.isEmpty())) {
tarjetaFidelidad = ls.get(0).getTarjetaFidelidad();
}
if (tarjetaFidelidad != null) {
Integer numFidelidad = tarjetaFidelidad.getNumTarjeta();
if (numFidelidad != null) {
txtNumFidelidade.setValue(numFidelidad);
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
} else {
return Boolean.FALSE;
}
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsLinhas = rutaService.obtenerTodos();
lsEmpresas = empresaService.obtenerTodos();
cmbParadaOrigemCve.setItemRenderer(new ComboitemRenderer() {
@Override
@ -260,6 +248,7 @@ public class EditarClienteController extends MyGenericForwardComposer {
if (cliente.getClienteId() == null) {
btnApagar.setVisible(Boolean.FALSE);
tabCurso.setVisible(Boolean.FALSE);
lsClienteFidelidad = new ArrayList<ClienteFidelidad>();
clienteDescuentoMyListBox.setItemRenderer(new RenderClienteDescuento());
clienteDescuentoMyListBox.addEventListener("onDoubleClick", new EventListener() {
@ -270,11 +259,23 @@ public class EditarClienteController extends MyGenericForwardComposer {
exibeClienteDescuento(cd);
lsClienteDescuento.remove(cd);
clienteDescuentoMyListBox.setData(lsClienteDescuento);
}
});
clienteFidelidadeMyListBox.setItemRenderer(new RenderClienteFidelidade());
clienteFidelidadeMyListBox.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event arg0) throws Exception {
ClienteFidelidad clienteFidelidad = (ClienteFidelidad) clienteFidelidadeMyListBox.getSelected();
exibeClienteFidelidade(clienteFidelidad);
lsClienteFidelidad.remove(clienteFidelidad);
clienteFidelidadeMyListBox.setData(lsClienteFidelidad);
}
});
} else {
cliente = clienteService.obtenerID(cliente.getClienteId());
lsClienteFidelidad = cliente.getListClienteFidelidad();
if (cliente.getMotivoviajeId() != null) {
cmbMotivacionViaje.setText(cliente.getMotivoviajeId().getDescMotivoViaje());
@ -361,6 +362,22 @@ public class EditarClienteController extends MyGenericForwardComposer {
estudanteComDesconto = true;
chkEstudanteComDesconto.setChecked(true);
}
clienteFidelidadeMyListBox.setItemRenderer(new RenderClienteFidelidade());
clienteFidelidadeMyListBox.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event arg0) throws Exception {
ClienteFidelidad clienteFidelidad = (ClienteFidelidad) clienteFidelidadeMyListBox.getSelected();
exibeClienteFidelidade(clienteFidelidad);
lsClienteFidelidad.remove(clienteFidelidad);
clienteFidelidadeMyListBox.setData(lsClienteFidelidad);
}
});
if ((cliente.getListClienteFidelidad() != null) && (!cliente.getListClienteFidelidad().isEmpty())) {
lsClienteFidelidad = cliente.getListClienteFidelidad();
clienteFidelidadeMyListBox.setData(lsClienteFidelidad);
}
// if ((cliente.getLsClienteDescuento() != null) && (!cliente.getLsClienteDescuento().isEmpty())) {
// if (null != cliente.getLsClienteDescuento().get(cliente.getLsClienteDescuento().size() - 1) &&
@ -419,11 +436,10 @@ public class EditarClienteController extends MyGenericForwardComposer {
lsClienteDireccion = cliente.getLsClienteDireccion();
txtNombCliente.focus();
txtDireccionCalle.focus();
if (isClienteImportacao()) {
if (!ApplicationProperties.getInstance().podeEditarClienteFidelidade()) {
desabilitarComponentes(Boolean.TRUE);
Messagebox.show(Labels.getLabel("editarClienteController.msg.clienteimportacao"),
Messagebox.show(Labels.getLabel("editarClienteController.msg.edicao.nao.permitida"),
Labels.getLabel("editarClienteController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
}
@ -1201,6 +1217,77 @@ public class EditarClienteController extends MyGenericForwardComposer {
limparInput();
}
public void onClick$btnAdicionarFidelidade(Event ev) throws InterruptedException {
if (validarDadosFidelidade(empresa)){
ClienteFidelidad clienteFidelidad = new ClienteFidelidad();
TarjetaFidelidad tarjetaFidelidad = new TarjetaFidelidad();
tarjetaFidelidad.setNumTarjeta(txtNumFidelidade.getValue());
tarjetaFidelidad.setActivo(true);
tarjetaFidelidad.setFecmodif(Calendar.getInstance().getTime());
tarjetaFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
clienteFidelidad.setEmpresa(empresa);
clienteFidelidad.setActivo(true);
clienteFidelidad.setFecmodif(Calendar.getInstance().getTime());
clienteFidelidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
clienteFidelidad.setTarjetaFidelidad(tarjetaFidelidad);
lsClienteFidelidad.add(clienteFidelidad);
cliente.setListClienteFidelidad(lsClienteFidelidad);
clienteFidelidadeMyListBox.setData(new ArrayList<ClienteFidelidad>(lsClienteFidelidad));
limparInputAbaFidelidade();
}
}
private Boolean validarDadosFidelidade(Empresa empresa) throws InterruptedException {
if(txtNumFidelidade.getValue() == null && empresa == null ){
return false;
}
if(txtNumFidelidade.getValue() != null && empresa == null ){
Messagebox.show(Labels.getLabel("editarClienteController.msg.noEmpresa"),
Labels.getLabel("editarClienteController.window.title"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
if(empresa != null && txtNumFidelidade.getValue() == null){
Messagebox.show(Labels.getLabel("editarClienteController.msg.noFidelidade"),
Labels.getLabel("editarClienteController.window.title"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
for(ClienteFidelidad clienteF : lsClienteFidelidad){
if(empresa != null && clienteF.getEmpresa().equals(empresa)){
Messagebox.show(Labels.getLabel("editarClienteController.msg.empresa.cadastrada"),
Labels.getLabel("editarClienteController.window.title"),
Messagebox.OK, Messagebox.ERROR);
return false;
}
}
return true;
}
public void onClick$btnRemoverFidelidade(Event ev) {
ClienteFidelidad c = (ClienteFidelidad) clienteFidelidadeMyListBox.getSelected();
if (c != null) {
c.setActivo(false);
c.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
c.setFecmodif(Calendar.getInstance().getTime());
lsClienteFidelidad.remove(c);
clienteFidelidadeMyListBox.setData(new ArrayList<ClienteFidelidad>(lsClienteFidelidad));
}
}
private void limparInputAbaFidelidade() {
cmbEmpresa.setSelectedItem(null);
txtNumFidelidade.setValue(null);
}
private void limparInput() {
cmbLinha.setSelectedItem(null);
@ -1259,4 +1346,37 @@ public class EditarClienteController extends MyGenericForwardComposer {
boolINDSABADO = cd.getINDSABADO();
boolINDDOMINGO = cd.getINDDOMINGO();
}
private void exibeClienteFidelidade(ClienteFidelidad cliente){
cmbEmpresa.setText(cliente.getEmpresa().getNombempresa());
empresa = cliente.getEmpresa();
cmbEmpresa.setSelectedItem(cmbEmpresa.getItemAtIndex(lsEmpresas.indexOf(cliente.getEmpresa())));
txtNumFidelidade.setText(cliente.getTarjetaFidelidad().getNumTarjeta().toString());
}
public List<Empresa> getLsEmpresas() {
return lsEmpresas;
}
public void setLsEmpresas(List<Empresa> lsEmpresas) {
this.lsEmpresas = lsEmpresas;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
public Combobox getCmbEmpresa() {
return cmbEmpresa;
}
public void setCmbEmpresa(Combobox cmbEmpresa) {
this.cmbEmpresa = cmbEmpresa;
}
}

View File

@ -23,6 +23,7 @@ public class RenderCliente implements ListitemRenderer {
lc = new Listcell();
StringBuilder emp = new StringBuilder();
StringBuilder tarjetasFidelidad = new StringBuilder();
TarjetaFidelidad tarjetaFidelidad = null;
if (null != ls && ls.size()!=0) {
@ -33,19 +34,22 @@ public class RenderCliente implements ListitemRenderer {
Empresa empresa = null;
tarjetaFidelidad = cf.getTarjetaFidelidad();
empresa = cf.getEmpresa();
emp.append(empresa.getNombempresa().toString()).append("\n\n");
emp.append(empresa.getNombempresa().toString()).append(" - ");
tarjetasFidelidad.append(tarjetaFidelidad.getNumTarjeta().toString()).append(" - ");
}
}
if (!emp.toString().isEmpty()) {
emp.replace(emp.length()-2, emp.length(), "");
lc = new Listcell(emp.toString());
} else {
lc = new Listcell("");
}
lc.setParent(lstm);
if (tarjetaFidelidad != null) {
lc = new Listcell(tarjetaFidelidad.getNumTarjeta().toString());
if (!tarjetasFidelidad.toString().isEmpty()) {
tarjetasFidelidad.replace(tarjetasFidelidad.length()-2, tarjetasFidelidad.length(), "");
lc = new Listcell(tarjetasFidelidad.toString());
} else {
lc = new Listcell("");
}

View File

@ -0,0 +1,30 @@
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.ClienteFidelidad;
public class RenderClienteFidelidade implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
ClienteFidelidad clienteFidelidad = (ClienteFidelidad) o;
Listcell lc = new Listcell(clienteFidelidad.getClienteFidelidadId() == null ? "-" : clienteFidelidad.getClienteFidelidadId().toString());
lc.setParent(lstm);
if(clienteFidelidad.getTarjetaFidelidad() != null){
lc = new Listcell(clienteFidelidad.getTarjetaFidelidad().getNumTarjeta().toString());
}else{
lc = new Listcell("-");
}
lc.setParent(lstm);
lc = new Listcell(clienteFidelidad.getEmpresa().getNombempresa());
lc.setParent(lstm);
lstm.setAttribute("data", clienteFidelidad);
}
}

View File

@ -5024,6 +5024,7 @@ editarClienteController.lbCP.value = CEP
editarClienteController.msg.clienteimportacao = Cliente agregado por importación del archivo solamente podrá ser visualizado
editarClienteController.lbLinhas.value = Ruta
editarClienteController.tab.label.estudante = Estudante
editarClienteController.tab.label.fidelidade = Fidelidade
editarClienteController.lbCidadeOrigem.value = Localidade Origem
editarClienteController.lbCidadeDestino.value = Localidade Destino
editarClienteController.lbDias.value = Dias de la Semana
@ -5062,6 +5063,15 @@ editarClienteController.msg.viernes=VI
editarClienteController.msg.sabado=SA
editarClienteController.tab.label.curso = Curso
editarClienteController.lbNumFidelidade.value= Número de Fidelidade
editarClienteController.empresa.value = Empresa
editarClienteController.btnAddNumFidelidade.tooltiptext = Adicionar
editarClienteController.btnRemoveNumFidelidade.tooltiptext = Remover
editarClienteController.msg.noEmpresa = Favor selecionar uma empresa
editarClienteController.msg.noFidelidade = Favor digitar o número de fidelidade
editarClienteController.msg.empresa.cadastrada = Empresa já cadastrada
editarClienteController.msg.edicao.nao.permitida = Edição não é permitida
# EditarEmpleado
editarEmpleadoController.window.title = Empleado
editarEmpleadoController.btnApagar.tooltiptext = Eliminar

View File

@ -1666,6 +1666,7 @@ editarCatalogoDeRutaController.lblCantAsientosZeroInvalido.value = Quantidade de
editarCatalogoDeRutaController.lblCantEixosZeroInvalido.value = Quantidade de Eixos não pode ser igual à zero
# A través da pantalla de Pesquisa
busquedaViaController.window.title = Via
busquedaViaController.btnRefresh.tooltiptext = Atualizar
@ -5084,6 +5085,7 @@ editarClienteController.lbCP.value = CEP
editarClienteController.msg.clienteimportacao = Cliente inserido por importação de arquivo poderá somente ser visualizado.
editarClienteController.lbLinhas.value = Linha
editarClienteController.tab.label.estudante = Estudante
editarClienteController.tab.label.fidelidade = Fidelidade
editarClienteController.lbCidadeOrigem.value = Localidade Origem
editarClienteController.lbCidadeDestino.value = Localidade Destino
editarClienteController.lbDias.value = Dias da Semana
@ -5122,6 +5124,15 @@ editarClienteController.msg.viernes=6ª
editarClienteController.msg.sabado=SAB
editarClienteController.tab.label.curso = Curso
editarClienteController.lbNumFidelidade.value= Número de Fidelidade
editarClienteController.empresa.value = Empresa
editarClienteController.btnAddNumFidelidade.tooltiptext = Adicionar
editarClienteController.btnRemoveNumFidelidade.tooltiptext = Remover
editarClienteController.msg.noEmpresa = Favor selecionar uma empresa
editarClienteController.msg.noFidelidade = Favor digitar o número de fidelidade
editarClienteController.msg.empresa.cadastrada = Empresa já cadastrada
editarClienteController.msg.edicao.nao.permitida = Edição não é permitida
# EditarEmpleado
editarEmpleadoController.window.title = Empregado
editarEmpleadoController.btnApagar.tooltiptext = Eliminar

View File

@ -34,6 +34,9 @@
label="${c:l('editarClienteController.tab.label.endereco')}" />
<tab
label="${c:l('editarClienteController.tab.label.estudante')}" />
<tab
label="${c:l('editarClienteController.tab.label.fidelidade')}" />
</tabs>
<tabpanels>
@ -43,13 +46,7 @@
<column width="25%" />
<column width="75%" />
</columns>
<rows>
<row>
<label
value="${c:l('busquedaClienteController.numFidelidade.label')}" />
<intbox id="txtNumFidelidade"
disabled="true" width="40%" />
</row>
<rows>
<row>
<!--Nome do Cliente-->
<label
@ -437,6 +434,55 @@
</listbox>
</tabpanel>
<!--FIDELIDADE -->
<tabpanel >
<grid fixedLayout="true">
<columns>
<column width="25%" />
<column width="75%" />
</columns>
<rows>
<row>
<label
value="${c:l('busquedaClienteController.numFidelidade.label')}" />
<intbox id="txtNumFidelidade" width="40%" maxlength="10" />
</row>
<row>
<label
value="${c:l('editarClienteController.empresa.value')}" />
<combobox id="cmbEmpresa" width="70%"
maxlength="60" mold="rounded" buttonVisible="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winEditarCliente$composer.lsEmpresas}"
selectedItem="@{winEditarCliente$composer.empresa}" />
</row>
</rows>
</grid>
<toolbar>
<button id="btnAdicionarFidelidade" height="20"
image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('editarClienteController.btnAddNumFidelidade.tooltiptext')}" />
<button id="btnRemoverFidelidade" height="20"
image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('editarClienteController.btnRemoveNumFidelidade.tooltiptext')}" />
</toolbar>
<listbox id="clienteFidelidadeMyListBox"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader width="50px"
image="/gui/img/builder.gif" label="${c:l('lb.id')}" />
<listheader image="/gui/img/builder.gif"
label="${c:l('editarClienteController.lbNumFidelidade.value')}" />
<listheader image="/gui/img/builder.gif"
label="${c:l('editarClienteController.empresa.value')}" />
</listhead>
</listbox>
</tabpanel>
</tabpanels>
</tabbox>
</window>