0021537: FlexBus - ADM e Tela de Configuração

bug#21537
dev:
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@105693 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2021-03-08 18:27:14 +00:00
parent 2f2d850698
commit a335f31b1f
17 changed files with 1534 additions and 6 deletions

View File

@ -13,4 +13,13 @@ public enum IndStatusCorrida {
public String getValue() {
return value;
}
public static IndStatusCorrida buscarPorStatus(String valor) {
for (IndStatusCorrida status : IndStatusCorrida.values()) {
if (status.getValue().equalsIgnoreCase(valor)) {
return status;
}
}
return null;
}
}

View File

@ -51,6 +51,7 @@ import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.EmpresaContaBancaria;
import com.rjconsultores.ventaboletos.entidad.EmpresaEmail;
import com.rjconsultores.ventaboletos.entidad.EmpresaEmailConfig;
import com.rjconsultores.ventaboletos.entidad.EmpresaEmailFlexBus;
import com.rjconsultores.ventaboletos.entidad.EmpresaImposto;
import com.rjconsultores.ventaboletos.entidad.Estado;
import com.rjconsultores.ventaboletos.entidad.FormaPago;
@ -63,6 +64,7 @@ import com.rjconsultores.ventaboletos.exception.BusinessException;
import com.rjconsultores.ventaboletos.service.CategoriaService;
import com.rjconsultores.ventaboletos.service.CiudadService;
import com.rjconsultores.ventaboletos.service.EmpresaEmailConfigService;
import com.rjconsultores.ventaboletos.service.EmpresaEmailFlexBusService;
import com.rjconsultores.ventaboletos.service.EmpresaEmailService;
import com.rjconsultores.ventaboletos.service.EmpresaImpostoService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
@ -118,9 +120,13 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
@Autowired
private EmpresaEmailConfigService empresaEmailConfigService;
@Autowired
private EmpresaEmailFlexBusService empresaEmailFlexBusService;
private Empresa empresa;
private EmpresaEmail empresaEmail;
private EmpresaEmailConfig empresaEmailConfig;
private EmpresaEmailFlexBus empresaEmailFlexBus;
private MyListbox empresaList;
private MyTextbox txtNome;
private MyTextbox txtCNPJ;
@ -141,6 +147,20 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
private Checkbox chkAutenticacao;
private MyTextbox txtCodContPrevidencia;
//FlexBus
private Checkbox chkAutenticacaoFlexBus;
private Textbox textSenhaEmailFlexBus;
private Textbox textSMTPHostFlexBus;
private Textbox textSMTPPortaFlexBus;
private Textbox textEmailDeFlexBus;
private Textbox textDestinatarioFlexBus;
private Textbox textEmailCopiaOcultaFlexBus;
private Textbox textAssuntoFlexBus;
private Textbox textAssuntoFiscalFlexBus;
private Textbox textEmailFlexBus;
private CKeditor messageConteudoEmailFlexBus;
private CKeditor messageCupomEmbarqueFlexBus;
private Radio rdgFechaVenta;
private Radio rdgFechaSalida;
private Radio rdgRestringeZSim;
@ -324,6 +344,10 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
empresaEmailConfig = empresaEmailConfigService.buscarPorEmpresa(empresa);
}
if (empresa != null && empresa.getEmpresaId() != null) {
empresaEmailFlexBus = empresaEmailFlexBusService.buscarPorEmpresa(empresa);
}
super.doAfterCompose(comp);
this.imgIndMantemVdaCajaVdaEmbarcada.setTooltiptext(Labels.getLabel("editarEmpresaController.mantemVdaCajaVdaEmbarcada.ajuda", new Object[] {"\n"}));
@ -344,13 +368,24 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
chkAutenticacao.setChecked(false);
textEmail.setDisabled(true);
textSenhaEmail.setDisabled(true);
}
} else {
chkAutenticacao.setChecked(true);
}
if (empresaEmailFlexBus != null) {
if(empresaEmailFlexBus.getIndAutenticacao()){
chkAutenticacaoFlexBus.setChecked(true);
}else{
chkAutenticacaoFlexBus.setChecked(false);
textEmailFlexBus.setDisabled(true);
textSenhaEmailFlexBus.setDisabled(true);
}
} else {
chkAutenticacaoFlexBus.setChecked(true);
}
if (empresa.getIndfechatarifa() == null) {
rdgFechaSalida.setChecked(Boolean.TRUE);
} else if (empresa.getIndfechatarifa()) {
@ -801,6 +836,17 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
empresaService.suscribirActualizacion(empresa);
empresaList.updateItem(empresa);
//TODO: Criar validacao se o Flexbus esta liberado para a empresa
if (empresaEmailFlexBus == null) {
empresaEmailFlexBus = new EmpresaEmailFlexBus();
empresaEmailFlexBus.setEmpresa(empresa);
preencheInformacoesEmpresaEmailFlexBus();
empresaEmailFlexBus = empresaEmailFlexBusService.suscribir(empresaEmailFlexBus);
} else {
preencheInformacoesEmpresaEmailFlexBus();
empresaEmailFlexBusService.actualizacion(empresaEmailFlexBus);
}
if (empresaEmail == null) {
empresaEmail = new EmpresaEmail();
empresaEmail.setEmpresa(empresa);
@ -853,6 +899,18 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
empresaEmail.setTextoEmailFiscal(messageConteudoEmailFiscal.getValue());
}
private void preencheInformacoesEmpresaEmailFlexBus() {
empresaEmailFlexBus.setEmailDe(textEmailDeFlexBus.getValue());
empresaEmailFlexBus.setAssunto(textAssuntoFlexBus.getValue());
empresaEmailFlexBus.setTextoEmail(messageConteudoEmailFlexBus.getValue());
empresaEmailFlexBus.setSmtpEmail(textEmailFlexBus.getValue());
empresaEmailFlexBus.setSenha(textSenhaEmailFlexBus.getValue());
empresaEmailFlexBus.setSmtp(textSMTPHostFlexBus.getValue());
empresaEmailFlexBus.setSmtpPorta(textSMTPPortaFlexBus.getValue());
empresaEmailFlexBus.setIndAutenticacao(chkAutenticacaoFlexBus.isChecked());
}
private boolean validarEmail() {
if (txtEmail.getText() == null || txtEmail.getText().isEmpty()) {
return true;
@ -952,6 +1010,22 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
}
public void onClick$btnTestEmailFlexBus(Event ev) throws InterruptedException {
Map args = new HashMap();
args.put("empresa", empresa);
args.put("isAutenticacao", chkAutenticacaoFlexBus.isChecked());
args.put("emailSMTP", textEmailFlexBus.getValue());
args.put("senhaEmail", textSenhaEmailFlexBus.getValue());
args.put("SMTPHost", textSMTPHostFlexBus.getValue());
args.put("SMTPPorta", textSMTPPortaFlexBus.getValue());
args.put("emailDe", textEmailDeFlexBus.getValue());
args.put("emailCopiaOculta", textEmailCopiaOcultaFlexBus.getValue());
args.put("destinatario", textDestinatarioFlexBus.getValue());
openWindow("/gui/catalogos/viewTestEmail.zul",
Labels.getLabel("viewTestEmailController.window.title"), args, MODAL);
}
public void onChange$cmbEstado(Event ev) {
Comboitem cbiEstado = cmbEstado.getSelectedItem();
if (cbiEstado != null) {
@ -1917,4 +1991,20 @@ public class EditarEmpresaController extends MyGenericForwardComposer {
return true;
}
public EmpresaEmailFlexBusService getEmpresaEmailFlexBusService() {
return empresaEmailFlexBusService;
}
public void setEmpresaEmailFlexBusService(EmpresaEmailFlexBusService empresaEmailFlexBusService) {
this.empresaEmailFlexBusService = empresaEmailFlexBusService;
}
public EmpresaEmailFlexBus getEmpresaEmailFlexBus() {
return empresaEmailFlexBus;
}
public void setEmpresaEmailFlexBus(EmpresaEmailFlexBus empresaEmailFlexBus) {
this.empresaEmailFlexBus = empresaEmailFlexBus;
}
}

View File

@ -176,8 +176,6 @@ public class EditarCorridaController extends MyGenericForwardComposer {
private Combobox cmbIndGeneraFeriado;
private Combobox cmbEmbarqueDesembarque;
private Button btnAsientos;
private Button btnAdicionarTramo;
private Button btnRemoverTramo;
private Timebox horasalida;
private Timebox de;
private Timebox hasta;
@ -204,6 +202,7 @@ public class EditarCorridaController extends MyGenericForwardComposer {
private Checkbox vie;
private Checkbox sab;
private Checkbox dom;
@SuppressWarnings("unused")
private boolean isClone = false;
private Checkbox diaSimDiaNao;
private Boolean embarqueDesembarqueDisabled = true;
@ -220,6 +219,11 @@ public class EditarCorridaController extends MyGenericForwardComposer {
private Checkbox cbEmbarque;
private Checkbox cbDesembarque;
//FlexBus
private Spinner txtHorasParaConfirmacao;
private Spinner txtMinutosParaConfirmacao;
private Intbox txtOcupacaoMinima;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
@ -316,6 +320,11 @@ public class EditarCorridaController extends MyGenericForwardComposer {
lbNumCorridaPisoExtra2.setVisible(Boolean.TRUE);
txtNumCorridaPisoExtra2.setVisible(Boolean.TRUE);
}
//FlexBus
txtHorasParaConfirmacao.setValue(esquemaCorrida.getHorasParaConfirmacao());
txtMinutosParaConfirmacao.setValue(esquemaCorrida.getMinutosParaConfirmacao());
txtOcupacaoMinima.setValue(esquemaCorrida.getOcupacaoMinima());
}
// Llena los valores de los combos
@ -598,6 +607,14 @@ public class EditarCorridaController extends MyGenericForwardComposer {
}
}
//FlexBus
if(esquemaCorrida.getIsFlexBus() && (txtHorasParaConfirmacao.getValue() == null || txtMinutosParaConfirmacao.getValue() == null || txtOcupacaoMinima.getValue() == null)) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.inserirInformacoesFlexBus"),
Labels.getLabel("editarConfiguracionCorridaController.window.title"), Messagebox.OK, Messagebox.EXCLAMATION);
salvar = true;
return;
}
Date dataDe = fecniciovigencia.getValue();
Date dataAte = fecfinvigencia.getValue();
txtNumCorrida.getValue();
@ -673,6 +690,17 @@ public class EditarCorridaController extends MyGenericForwardComposer {
salvar = true;
} else {
//FlexBus
if(esquemaCorrida.getIsFlexBus()) {
esquemaCorrida.setHorasParaConfirmacao(txtHorasParaConfirmacao.getValue());
esquemaCorrida.setMinutosParaConfirmacao(txtMinutosParaConfirmacao.getValue());
esquemaCorrida.setOcupacaoMinima(txtOcupacaoMinima.getValue());
} else {
esquemaCorrida.setHorasParaConfirmacao(null);
esquemaCorrida.setMinutosParaConfirmacao(null);
esquemaCorrida.setOcupacaoMinima(null);
}
if (porBloq.isChecked()) {
de.getValue();
hasta.getValue();

View File

@ -0,0 +1,376 @@
/**
*
*/
package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional.flexbus;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
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.zkplus.databind.BindingListModelList;
import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Comboitem;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Intbox;
import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.enums.StatusFlexBus;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.MarcaService;
import com.rjconsultores.ventaboletos.service.RutaService;
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.RenderCorridaFlexBus;
/**
* @author Valdir Cordeiro
*
*/
@Controller("busqueCorridaFlexBusController")
@Scope("prototype")
public class BuqueCorridaFlexBusController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
@Autowired
private MarcaService marcaService;
@Autowired
private ClaseServicioService claseService;
@Autowired
private RutaService rutaService;
private Datebox fecInicio;
private Datebox fecFinal;
private Combobox cmbClase;
private Combobox cmbStatus;
private Combobox cmbRuta;
private Combobox cmbEmpresaCorrida;
private List<Empresa> lsEmpresa;
private List<StatusFlexBus> lsStatus;
private List<ClaseServicio> lsClase;
private List<Ruta> lsRuta;
private Button btnPesquisa;
private Intbox txtNumCorrida;
private Checkbox chkNaoIncluirLinhaInativa;
private MyListbox corridaList;
@Autowired
private transient PagedListWrapper<Corrida> plwCorrida;
private Paging pagingCorrida;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa();
lsStatus = Arrays.asList(StatusFlexBus.values());
lsClase = claseService.obtenerTodos();
lsRuta = rutaService.obtenerTodos();
fecInicio.setValue(new Date());
fecFinal.setValue(new Date());
corridaList.setItemRenderer(new RenderCorridaFlexBus());
corridaList.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
Corrida rc = (Corrida) corridaList.getSelected();
verCorrida(rc);
}
});
btnPesquisa.focus();
cmbStatus.setSelectedItem(null);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private void verCorrida(Corrida rc) {
if (rc == null) {
return;
}
Map args = new HashMap();
args.put("corrida", rc);
args.put("busqueCorridaFlexBusController", this);
args.put("corridaList", corridaList);
openWindow("/gui/esquema_operacional/flexbus/editarCorridaFlexBus.zul", Labels.getLabel("editarConfiguracionCorridaController.window.title"), args, MODAL);
}
public void onClick$chkNaoIncluirLinhaInativa(Event ev) {
if (chkNaoIncluirLinhaInativa.isChecked()) {
for (Iterator<Ruta> it = lsRuta.iterator(); it.hasNext();) {
Ruta ruta = it.next();
if (Boolean.TRUE.equals(ruta.getIndRutaCancelada())) {
it.remove();
}
}
} else {
//Volta aos itens iniciais
if (cmbEmpresaCorrida.getSelectedItem()==null) {
lsRuta = rutaService.obtenerTodos();
} else {
lsRuta = rutaService.obtenerPorEmpresa(((Empresa) cmbEmpresaCorrida.getSelectedItem().getValue()));
}
}
BindingListModelList l = new BindingListModelList(lsRuta, true);
cmbRuta.setModel(l);
cmbRuta.setSelectedItem(null);
}
public void onClick$btnRefresh(Event ev) {
refreshLista();
}
@SuppressWarnings("deprecation")
public void refreshLista() {
HibernateSearchObject<Corrida> busquedaCorrita = new HibernateSearchObject<Corrida>(Corrida.class, pagingCorrida.getPageSize());
busquedaCorrita.addFilterEqual("activo", 1);
busquedaCorrita.addFilterEqual("isFlexBus", Boolean.TRUE);
Integer numCorrida = txtNumCorrida.getValue();
if(numCorrida != null) {
busquedaCorrita.addFilterEqual("id.corridaId", numCorrida);
}
Comboitem cbiClase = cmbClase.getSelectedItem();
ClaseServicio claseServicio = null;
if (cbiClase != null) {
claseServicio = (ClaseServicio) cbiClase.getValue();
busquedaCorrita.addFilterEqual("claseServicio", claseServicio);
}
Comboitem cbiStatus = cmbStatus.getSelectedItem();
StatusFlexBus status = null;
if (cbiStatus != null) {
status = (StatusFlexBus) cbiStatus.getValue();
busquedaCorrita.addFilterEqual("statusFlexBus", status.getStatus());
}
Comboitem cbiRuta = cmbRuta.getSelectedItem();
Ruta ruta = null;
if (cbiRuta != null) {
ruta = (Ruta) cbiRuta.getValue();
busquedaCorrita.addFilterEqual("ruta", ruta);
}
Comboitem cbiEmpresa = cmbEmpresaCorrida.getSelectedItem();
Empresa empresa = null;
if (cbiEmpresa != null) {
empresa = (Empresa) cbiEmpresa.getValue();
busquedaCorrita.addFilterEqual("empresa", empresa);
} else {
busquedaCorrita.addFilterIn("empresa", lsEmpresa);
}
if (fecInicio.getValue() != null) {
Date ini = fecInicio.getValue();
ini.setHours(00);
ini.setMinutes(00);
ini.setSeconds(00);
busquedaCorrita.addFilterGreaterOrEqual("fechorsalida", ini);
}
if (fecFinal.getValue() != null) {
Date fin = fecFinal.getValue();
fin.setHours(23);
fin.setMinutes(59);
fin.setSeconds(59);
busquedaCorrita.addFilterLessOrEqual("fechorsalida", fin);
}
busquedaCorrita.addSortAsc("fechorsalida");
plwCorrida.init(busquedaCorrita, corridaList, pagingCorrida);
if (corridaList.getData().length == 0) {
try {
Messagebox.show(Labels.getLabel("MSG.ningunRegistro"),
Labels.getLabel("busquedaConfiguracionCorridaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
} catch (InterruptedException ex) {
}
}
}
public void onClick$btnPesquisa(Event ev) throws InterruptedException {
refreshLista();
}
public MarcaService getMarcaService() {
return marcaService;
}
public void setMarcaService(MarcaService marcaService) {
this.marcaService = marcaService;
}
public ClaseServicioService getClaseService() {
return claseService;
}
public void setClaseService(ClaseServicioService claseService) {
this.claseService = claseService;
}
public RutaService getRutaService() {
return rutaService;
}
public void setRutaService(RutaService rutaService) {
this.rutaService = rutaService;
}
public Datebox getFecInicio() {
return fecInicio;
}
public void setFecInicio(Datebox fecInicio) {
this.fecInicio = fecInicio;
}
public Datebox getFecFinal() {
return fecFinal;
}
public void setFecFinal(Datebox fecFinal) {
this.fecFinal = fecFinal;
}
public Combobox getCmbClase() {
return cmbClase;
}
public void setCmbClase(Combobox cmbClase) {
this.cmbClase = cmbClase;
}
public Combobox getCmbStatus() {
return cmbStatus;
}
public void setCmbStatus(Combobox cmbStatus) {
this.cmbStatus = cmbStatus;
}
public Combobox getCmbRuta() {
return cmbRuta;
}
public void setCmbRuta(Combobox cmbRuta) {
this.cmbRuta = cmbRuta;
}
public Combobox getCmbEmpresaCorrida() {
return cmbEmpresaCorrida;
}
public void setCmbEmpresaCorrida(Combobox cmbEmpresaCorrida) {
this.cmbEmpresaCorrida = cmbEmpresaCorrida;
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
public List<StatusFlexBus> getLsStatus() {
return lsStatus;
}
public void setLsStatus(List<StatusFlexBus> lsStatus) {
this.lsStatus = lsStatus;
}
public List<ClaseServicio> getLsClase() {
return lsClase;
}
public void setLsClase(List<ClaseServicio> lsClase) {
this.lsClase = lsClase;
}
public List<Ruta> getLsRuta() {
return lsRuta;
}
public void setLsRuta(List<Ruta> lsRuta) {
this.lsRuta = lsRuta;
}
public Button getBtnPesquisa() {
return btnPesquisa;
}
public void setBtnPesquisa(Button btnPesquisa) {
this.btnPesquisa = btnPesquisa;
}
public Intbox getTxtNumCorrida() {
return txtNumCorrida;
}
public void setTxtNumCorrida(Intbox txtNumCorrida) {
this.txtNumCorrida = txtNumCorrida;
}
public Checkbox getChkNaoIncluirLinhaInativa() {
return chkNaoIncluirLinhaInativa;
}
public void setChkNaoIncluirLinhaInativa(Checkbox chkNaoIncluirLinhaInativa) {
this.chkNaoIncluirLinhaInativa = chkNaoIncluirLinhaInativa;
}
public MyListbox getCorridaList() {
return corridaList;
}
public void setCorridaList(MyListbox corridaList) {
this.corridaList = corridaList;
}
public PagedListWrapper<Corrida> getPlwCorrida() {
return plwCorrida;
}
public void setPlwCorrida(PagedListWrapper<Corrida> plwCorrida) {
this.plwCorrida = plwCorrida;
}
public Paging getPagingCorrida() {
return pagingCorrida;
}
public void setPagingCorrida(Paging pagingCorrida) {
this.pagingCorrida = pagingCorrida;
}
}

View File

@ -0,0 +1,422 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional.flexbus;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
import org.apache.log4j.Logger;
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.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Intbox;
import org.zkoss.zul.Row;
import org.zkoss.zul.Spinner;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.ClaseServicio;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.Ruta;
import com.rjconsultores.ventaboletos.entidad.Usuario;
import com.rjconsultores.ventaboletos.enums.StatusFlexBus;
import com.rjconsultores.ventaboletos.relatorios.utilitarios.IndStatusCorrida;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.RutaService;
import com.rjconsultores.ventaboletos.service.UsuarioService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
/**
* @author Valdir Cordeiro
*
*/
@Controller("editarCorridaFlexBusController")
@Scope("prototype")
public class EditarCorridaFlexBusController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(EditarCorridaFlexBusController.class);
@Autowired
private BuqueCorridaFlexBusController busqueCorridaFlexBusController;
@Autowired
private ClaseServicioService claseService;
@Autowired
private RutaService rutaService;
@Autowired
private CorridaService corridaService;
@Autowired
private UsuarioService usuarioService;
private Corrida corrida;
private MyListbox corridaList;
private Spinner txtHorasParaConfirmacao;
private Spinner txtMinutosParaConfirmacao;
private Intbox txtOcupacaoMinima;
private Intbox txtOcupacaoAtual;
private List<StatusFlexBus> lsStatus;
private List<IndStatusCorrida> lsStatusCorrida;
private List<ClaseServicio> lsClase;
private List<Ruta> lsRuta;
private List<Empresa> lsEmpresa;
private Combobox cmbMarca;
private Combobox cmbRuta;
private Combobox cmbEmpresaCorrida;
private Combobox cmbStatus;
private Combobox cmbStatusCorrida;
private Combobox cmbClase;
private Intbox txtNumCorrida;
private Textbox txtInfoCorrida;
private StatusFlexBus statusAtual;
private IndStatusCorrida statusCorrida;
private Row rowUsuario;
private Textbox txtUsuarioAlteracao;
private String titulo = Labels.getLabel("editarConfiguracionCorridaController.window.title");
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
corrida = (Corrida) Executions.getCurrent().getArg().get("corrida");
corridaList = (MyListbox) Executions.getCurrent().getArg().get("corridaList");
busqueCorridaFlexBusController = (BuqueCorridaFlexBusController) Executions.getCurrent().getArg().get("busqueCorridaFlexBusController");
lsStatus = Arrays.asList(StatusFlexBus.values());
lsStatusCorrida = Arrays.asList(IndStatusCorrida.values());
lsClase = new ArrayList<ClaseServicio>();
lsClase.add(corrida.getClaseServicio());
lsRuta = new ArrayList<Ruta>();
lsRuta.add(corrida.getRuta());
lsEmpresa = new ArrayList<Empresa>();
lsEmpresa.addAll(UsuarioLogado.getUsuarioLogado().getEmpresa());
txtHorasParaConfirmacao.setValue(corrida.getHorasParaConfirmacao());
txtMinutosParaConfirmacao.setValue(corrida.getMinutosParaConfirmacao());
txtOcupacaoMinima.setValue(corrida.getOcupacaoMinima());
statusAtual = StatusFlexBus.buscarPorStatus(corrida.getStatusFlexBus());
statusCorrida = IndStatusCorrida.buscarPorStatus(corrida.getIndstatuscorrida());
cmbStatus.setValue(statusAtual.getDescricao());
cmbStatusCorrida.setValue(statusCorrida.toString());
//Não é possível editar se o status for diferente de EM RESERVA
if(!statusAtual.equals(StatusFlexBus.EM_RESERVA)) {
txtHorasParaConfirmacao.setDisabled(false);
txtMinutosParaConfirmacao.setDisabled(false);
txtOcupacaoMinima.setDisabled(false);
}
txtOcupacaoAtual.setValue(corridaService.buscarOcupacaoCorrida(corrida));
if((statusAtual.equals(StatusFlexBus.CANCELADO_MANUALMENTE) || statusAtual.equals(StatusFlexBus.CONFIRMADO_MANUALMENTE) ) && corrida.getUsuarioFlexBusId() != null) {
rowUsuario.setVisible(true);
Usuario usuario = usuarioService.obtenerID(corrida.getUsuarioFlexBusId());
txtUsuarioAlteracao.setValue(usuario.getUsuarioId() + " - " + usuario.getNombusuario());
} else {
rowUsuario.setVisible(false);
}
}
public void onClick$btnSalvar(Event ev) throws InterruptedException {
try {
if(!statusAtual.equals(StatusFlexBus.EM_RESERVA)) {
Messagebox.show(Labels.getLabel("MSG.Error.soReservaFlexBus"), titulo, Messagebox.OK, Messagebox.ERROR);
return;
}
if(Calendar.getInstance().getTime().after(corrida.getFechorsalida())) {
Messagebox.show(Labels.getLabel("MSG.Error.dataSaidaFlexBus"), titulo, Messagebox.OK, Messagebox.ERROR);
return;
}
if((txtHorasParaConfirmacao.getValue() == null || txtMinutosParaConfirmacao.getValue() == null || txtOcupacaoMinima.getValue() == null)) {
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.inserirInformacoesFlexBus"), titulo, Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
corrida.setHorasParaConfirmacao(txtHorasParaConfirmacao.getValue());
corrida.setMinutosParaConfirmacao(txtMinutosParaConfirmacao.getValue());
corrida.setOcupacaoMinima(txtOcupacaoMinima.getValue());
corridaService.actualizacion(corrida);
corridaList.updateItem(corrida);
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.corridaAlteradaSucesso.value"), titulo, Messagebox.OK, Messagebox.INFORMATION);
closeWindow();
} catch (Exception e) {
log.error("Erro ao salvar informacoes da corrida: ", e);
Messagebox.show(Labels.getLabel("MSG.Error"), titulo, Messagebox.OK, Messagebox.ERROR);
}
}
public void onClick$btnCancelarServico(Event ev) throws InterruptedException {
try {
int resp = Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.desejaCancelarCorrida"), titulo, Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.NO) {
return;
}
if(!validarAlteracao()) {
return;
}
corrida.setStatusFlexBus(StatusFlexBus.CANCELADO_MANUALMENTE.getStatus());
corrida.setIndstatuscorrida(IndStatusCorrida.CANCELADO.getValue());
corrida.setUsuarioFlexBusId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
corridaService.actualizacion(corrida);
corridaList.updateItem(corrida);
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.corridaAlteradaSucesso.value"), titulo, Messagebox.OK, Messagebox.INFORMATION);
closeWindow();
} catch (Exception e) {
log.error("Erro ao Cancelar corrida: ", e);
Messagebox.show(Labels.getLabel("MSG.Error"), titulo, Messagebox.OK, Messagebox.ERROR);
}
}
public void onClick$btnConfirmarServico(Event ev) throws InterruptedException {
try {
int resp = Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.MSG.desejaConfirmarCorrida"), titulo, Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.NO) {
return;
}
if(!validarAlteracao()) {
return;
}
corrida.setStatusFlexBus(StatusFlexBus.CONFIRMADO_MANUALMENTE.getStatus());
corrida.setUsuarioFlexBusId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
corridaService.actualizacion(corrida);
corridaList.updateItem(corrida);
Messagebox.show(Labels.getLabel("editarConfiguracionCorridaController.corridaAlteradaSucesso.value"), titulo, Messagebox.OK, Messagebox.INFORMATION);
closeWindow();
} catch (Exception e) {
log.error("Erro ao Confirmar corrida: ", e);
Messagebox.show(Labels.getLabel("MSG.Error"), titulo, Messagebox.OK, Messagebox.ERROR);
}
}
private Boolean validarAlteracao() throws InterruptedException {
if(StatusFlexBus.CONFIRMADO_AUTOMATICAMENTE.equals(statusAtual) || StatusFlexBus.CONFIRMADO_MANUALMENTE.equals(statusAtual)) {
Messagebox.show(Labels.getLabel("MSG.Error.corridaConfirmada"), titulo, Messagebox.OK, Messagebox.ERROR);
return false;
}
if(StatusFlexBus.CANCELADO_AUTOMATICAMENTE.equals(statusAtual) || StatusFlexBus.CANCELADO_MANUALMENTE.equals(statusAtual)) {
Messagebox.show(Labels.getLabel("MSG.Error.corridaCancelada"), titulo, Messagebox.OK, Messagebox.ERROR);
return false;
}
if(Calendar.getInstance().getTime().after(corrida.getFechorsalida())) {
Messagebox.show(Labels.getLabel("MSG.Error.dataSaidaFlexBus"), titulo, Messagebox.OK, Messagebox.ERROR);
return false;
}
return true;
}
public List<Empresa> getLsEmpresa() {
return lsEmpresa;
}
public void setLsEmpresa(List<Empresa> lsEmpresa) {
this.lsEmpresa = lsEmpresa;
}
public BuqueCorridaFlexBusController getBusqueCorridaFlexBusController() {
return busqueCorridaFlexBusController;
}
public void setBusqueCorridaFlexBusController(BuqueCorridaFlexBusController busqueCorridaFlexBusController) {
this.busqueCorridaFlexBusController = busqueCorridaFlexBusController;
}
public ClaseServicioService getClaseService() {
return claseService;
}
public void setClaseService(ClaseServicioService claseService) {
this.claseService = claseService;
}
public RutaService getRutaService() {
return rutaService;
}
public void setRutaService(RutaService rutaService) {
this.rutaService = rutaService;
}
public Corrida getCorrida() {
return corrida;
}
public void setCorrida(Corrida corrida) {
this.corrida = corrida;
}
public MyListbox getCorridaList() {
return corridaList;
}
public void setCorridaList(MyListbox corridaList) {
this.corridaList = corridaList;
}
public Spinner getTxtHorasParaConfirmacao() {
return txtHorasParaConfirmacao;
}
public void setTxtHorasParaConfirmacao(Spinner txtHorasParaConfirmacao) {
this.txtHorasParaConfirmacao = txtHorasParaConfirmacao;
}
public Spinner getTxtMinutosParaConfirmacao() {
return txtMinutosParaConfirmacao;
}
public void setTxtMinutosParaConfirmacao(Spinner txtMinutosParaConfirmacao) {
this.txtMinutosParaConfirmacao = txtMinutosParaConfirmacao;
}
public Intbox getTxtOcupacaoMinima() {
return txtOcupacaoMinima;
}
public void setTxtOcupacaoMinima(Intbox txtOcupacaoMinima) {
this.txtOcupacaoMinima = txtOcupacaoMinima;
}
public List<StatusFlexBus> getLsStatus() {
return lsStatus;
}
public void setLsStatus(List<StatusFlexBus> lsStatus) {
this.lsStatus = lsStatus;
}
public List<ClaseServicio> getLsClase() {
return lsClase;
}
public void setLsClase(List<ClaseServicio> lsClase) {
this.lsClase = lsClase;
}
public List<Ruta> getLsRuta() {
return lsRuta;
}
public void setLsRuta(List<Ruta> lsRuta) {
this.lsRuta = lsRuta;
}
public Combobox getCmbMarca() {
return cmbMarca;
}
public void setCmbMarca(Combobox cmbMarca) {
this.cmbMarca = cmbMarca;
}
public Combobox getCmbRuta() {
return cmbRuta;
}
public void setCmbRuta(Combobox cmbRuta) {
this.cmbRuta = cmbRuta;
}
public Combobox getCmbEmpresaCorrida() {
return cmbEmpresaCorrida;
}
public void setCmbEmpresaCorrida(Combobox cmbEmpresaCorrida) {
this.cmbEmpresaCorrida = cmbEmpresaCorrida;
}
public Combobox getCmbStatus() {
return cmbStatus;
}
public void setCmbStatus(Combobox cmbStatus) {
this.cmbStatus = cmbStatus;
}
public Combobox getCmbClase() {
return cmbClase;
}
public void setCmbClase(Combobox cmbClase) {
this.cmbClase = cmbClase;
}
public Intbox getTxtNumCorrida() {
return txtNumCorrida;
}
public void setTxtNumCorrida(Intbox txtNumCorrida) {
this.txtNumCorrida = txtNumCorrida;
}
public Textbox getTxtInfoCorrida() {
return txtInfoCorrida;
}
public void setTxtInfoCorrida(Textbox txtInfoCorrida) {
this.txtInfoCorrida = txtInfoCorrida;
}
public List<IndStatusCorrida> getLsStatusCorrida() {
return lsStatusCorrida;
}
public void setLsStatusCorrida(List<IndStatusCorrida> lsStatusCorrida) {
this.lsStatusCorrida = lsStatusCorrida;
}
public IndStatusCorrida getStatusCorrida() {
return statusCorrida;
}
public void setStatusCorrida(IndStatusCorrida statusCorrida) {
this.statusCorrida = statusCorrida;
}
public StatusFlexBus getStatusAtual() {
return statusAtual;
}
public void setStatusAtual(StatusFlexBus statusAtual) {
this.statusAtual = statusAtual;
}
}

View File

@ -0,0 +1,26 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional;
import org.zkoss.util.resource.Labels;
import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema;
import com.rjconsultores.ventaboletos.web.utilerias.PantallaUtileria;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class ItemMenuManutencaoFlexBus extends DefaultItemMenuSistema {
public ItemMenuManutencaoFlexBus() {
super("indexController.mniManutencaoFlexBus.label");
}
@Override
public String getClaveMenu() {
return ConstantesFuncionSistema.CLAVE_MANUTENCAO_FLEXBUS;
}
@Override
public void ejecutar() {
PantallaUtileria.openWindow("/gui/esquema_operacional/flexbus/busqueCorridaFlexBus.zul",
Labels.getLabel("indexController.mniManutencaoFlexBus.label"), getArgs() ,desktop);
}
}

View File

@ -0,0 +1,11 @@
package com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional;
import com.rjconsultores.ventaboletos.web.utilerias.menu.DefaultItemMenuSistema;
public class SubMenuFlexBus extends DefaultItemMenuSistema {
public SubMenuFlexBus() {
super("indexController.mniFlexBus.label");
}
}

View File

@ -100,6 +100,8 @@ esquemaOperacional.trocoSimples=com.rjconsultores.ventaboletos.web.utilerias.men
esquemaOperacional.trocoSimples.ItemMenuCadastroEmpresaTrocoSimples=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuCadastroEmpresaTrocoSimples
esquemaOperacional.trocoSimples.ItemMenuRelatorioTrocoSimples=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuRelatorioTrocoSimples
esquemaOperacional.trocoSimples.ItemMenuRelatorioEstornoTrocoSimples=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuRelatorioEstornoTrocoSimples
esquemaOperacional.flexBus=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.SubMenuFlexBus
esquemaOperacional.flexBus.ItemMenuManutencaoFlexBus=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuManutencaoFlexBus
tarifasOficial=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifasOficial.MenuTarifasOficial
tarifasOficial.seguroKm=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifasOficial.ItemMenuSeguroKm
tarifasOficial.seguroTarifa=com.rjconsultores.ventaboletos.web.utilerias.menu.item.tarifasOficial.ItemMenuSeguroTarifa

View File

@ -0,0 +1,95 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.Corrida;
import com.rjconsultores.ventaboletos.enums.StatusFlexBus;
import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.web.utilerias.spring.AppContext;
/**
*
* @author Valdir Cordeiro
*/
public class RenderCorridaFlexBus implements ListitemRenderer {
private String buscarOcupacao(Corrida corrida) {
CorridaService corridaService = (CorridaService) AppContext.getApplicationContext().getBean("corridaService");
Integer ocupacao = corridaService.buscarOcupacaoCorrida(corrida);
return ocupacao == null ? "0" : ocupacao.toString();
}
public void render(Listitem lstm, Object o) throws Exception {
Corrida corrida = (Corrida) o;
Listcell lc = new Listcell(corrida.getId().getCorridaId().toString());
lc.setParent(lstm);
SimpleDateFormat dt = new SimpleDateFormat("dd/MM/yyyy");
lc = new Listcell(dt.format(corrida.getId().getFeccorrida()));
lc.setParent(lstm);
dt = new SimpleDateFormat("HH:mm");
lc = new Listcell(dt.format(corrida.getFechorsalida()));
lc.setParent(lstm);
lc = new Listcell(corrida.getOcupacaoMinima().toString());
lc.setParent(lstm);
lc = new Listcell(buscarOcupacao(corrida));
lc.setParent(lstm);
lc = new Listcell(corrida.getHorasParaConfirmacao() + ":" + corrida.getMinutosParaConfirmacao());
lc.setParent(lstm);
String tempoPraConfirmacao = buscarTempoPraConfirmacao(corrida);
lc = new Listcell(tempoPraConfirmacao);
lc.setParent(lstm);
//Status corrida
String status = StatusFlexBus.buscarStatus(corrida.getStatusFlexBus());
lc = new Listcell( status == null ? " - " : status);
lc.setParent(lstm);
lstm.setAttribute("data", corrida);
}
private String buscarTempoPraConfirmacao(Corrida corrida) {
try {
Calendar dataCorrida = Calendar.getInstance();
dataCorrida.setTime(corrida.getFechorsalida());
dataCorrida.add(Calendar.MINUTE, -corrida.getMinutosParaConfirmacao());
dataCorrida.add(Calendar.HOUR, -corrida.getHorasParaConfirmacao());
Date dataAtual = Calendar.getInstance().getTime();
Date dataCorrida2 = dataCorrida.getTime();
long diff = dataCorrida2.getTime() - dataAtual.getTime();
long diffHours = (int) (diff / (60 * 60 * 1000) % 24);
long diffMinutes = diff / (60 * 1000) % 60;
long diffDays = diff / (24 * 60 * 60 * 1000);
if (diffDays > 0) {
diffHours = (diffHours + (diffDays * 24));
}
if(diffHours < 0 || diffMinutes < 0) {
return "00:00";
}
return String.format("%02d", diffHours) + ":" + String.format("%02d", diffMinutes);
} catch (Exception e) {
// TODO: handle exception
}
return "00:00";
}
}

View File

@ -502,6 +502,7 @@
<value>com.rjconsultores.ventaboletos.entidad.LogAuditoria</value>
<value>com.rjconsultores.ventaboletos.entidad.EmbarcadaDispOperador</value>
<value>com.rjconsultores.ventaboletos.entidad.AgrupamentoParada</value>
<value>com.rjconsultores.ventaboletos.entidad.EmpresaEmailFlexBus</value>
</list>
</property>

View File

@ -3044,6 +3044,33 @@ modificacionMasivaTarifasController.alterarPrecoOriginal.radioNao = Não
modificacionMasivaTarifasController.alterarPrecoOriginal.radioSim = Si
modificacionMasivaTarifasController.MSG.informarOrigemOuDestino = Necessário informar origem ou destino para pesquisar por Vende
#FlexBus
editarConfiguracionCorridaController.lbFlexBus.value= FlexBus
editarConfiguracionCorridaController.lbCorridaFlexBus.value= Carrera FlexBus
editarConfiguracionCorridaController.lbOcupacaoMinima.value= Ocupación mínima
editarConfiguracionCorridaController.tiempoConfirmacao.label=Hora de la confirmación del servicio (HH:mm)
editarConfiguracionCorridaController.ajudaTempoLimiteAposSaida= Plazo para alcanzar la ocupación mínima configurada hasta dejar el servicio. Si se alcanza la ocupación, el servicio se pone a disposición de todos los puntos de venta, si la ocupación no llega al tiempo configurado, se cancela el servicio.
editarConfiguracionCorridaController.inserirInformacoesFlexBus=Es necesario informar todos los parámetros de flexBus.
editarPuntoVentaController.vendeFlexBus.label=Hacer reserva FlexBus
editarEmpresaController.configuracaoFlexbus.label= FlexBus
editarEmpresaController.configEnvioEmailFlexBus.label=Configuración de envío de correo electrónico
editarEmpresaController.configConteudoEmailFlexBus.label=Contenido de correo electrónico
editarEmpresaController.configCupomEmbarqueFlexBus.label=Configuración de embarque de contenido
indexController.mniFlexBus.label=FlexBus
indexController.mniManutencaoFlexBus.label=Servicios de mantenimiento FlexBus
editarConfiguracionCorridaController.cmbStatusFlexBus.value= Status FlexBus
editarConfiguracionCorridaController.cmbStatusCorrida.value= Status Corrida
editarConfiguracionCorridaController.lbDataCorrida.value= Fecha de corrida
MSG.Error.soReservaFlexBus=La carrera solo se puede cambiar mientras estás en reserva.
MSG.Error.dataSaidaFlexBus=No es posible cambiar la raza después de salir.Não é possível alterar a corrida após sua saída.
MSG.Error.corridaConfirmada=Raza confirmada, no se puede cambiar.
MSG.Error.corridaCancelada=Carrera cancelada, no se puede cambiar.
editarConfiguracionCorridaController.alteradoPor.value=Usuario cambiado
editarConfiguracionCorridaController.corridaAlteradaSucesso.value= Raza cambiada con éxito.
editarConfiguracionCorridaController.MSG.desejaConfirmarCorrida= Después de Confirmado, el servicio aparecerá para todos los puntos de venta y ya no será posible cancelar. ¿De verdad quieres confirmar la carrera?
editarConfiguracionCorridaController.MSG.desejaCancelarCorrida=Una vez que se cancele la carrera, ya no será posible realizar cambios. ¿De verdad quieres cancelar?
editarConfiguracionCorridaController.lbOcupacaoAtual.value=Ocupación actual
# Editar Tarifa Oficial:
editarTarifaOficialController.window.title = Cambio de precio / Tarifa oficial
editarTarifaOficialController.btnFechar.MSG.SuscbrirOK = Cambio se registró exitosamente

View File

@ -3039,6 +3039,34 @@ editarConfiguracionCorridaController.rdAutorizada.value = Vigente
editarConfiguracionCorridaController.rdCancelada.value = Cancelada
editarConfiguracionCorridaController.lbCorridaExtra.value = Corrida Extra
editarConfiguracionCorridaController.lbEmbarqueDesembarque.value = Embarque / Desembarque
#FlexBus
editarConfiguracionCorridaController.lbFlexBus.value= FlexBus
editarConfiguracionCorridaController.lbCorridaFlexBus.value= Corrida FlexBus
editarConfiguracionCorridaController.lbOcupacaoMinima.value= Ocupação Mínima
editarConfiguracionCorridaController.tiempoConfirmacao.label=Tempo para confirmação do serviço (HH:mm)
editarConfiguracionCorridaController.ajudaTempoLimiteAposSaida= Tempo limite para atingir a ocupação mínima configurada até saída do serviço. Se atingida a ocupação, o serviço é disponibilizado para todos os pontos de venda, caso não atinja a ocupação no tempo configurado o serviço é cancelado.
editarConfiguracionCorridaController.inserirInformacoesFlexBus= É necessário informar todos os parâmetros do flexBus.
editarPuntoVentaController.vendeFlexBus.label=Realiza reserva FlexBus
editarEmpresaController.configuracaoFlexbus.label= FlexBus
editarEmpresaController.configEnvioEmailFlexBus.label=Configuracao de Envio de Email
editarEmpresaController.configConteudoEmailFlexBus.label=Conteúdo do Email
editarEmpresaController.configCupomEmbarqueFlexBus.label=Configuração Conteúdo Cupom Embarque
indexController.mniFlexBus.label=FlexBus
indexController.mniManutencaoFlexBus.label=Manutenção Serviços FlexBus
editarConfiguracionCorridaController.cmbStatusFlexBus.value= Status FlexBus
editarConfiguracionCorridaController.cmbStatusCorrida.value= Status Corrida
editarConfiguracionCorridaController.lbDataCorrida.value= Data Corrida
MSG.Error.soReservaFlexBus=A Corrida só pode ser alterado enquanto estiver em Reserva.
MSG.Error.dataSaidaFlexBus=Não é possível alterar a corrida após sua saída.
MSG.Error.corridaConfirmada=Corrida confirmada, não é possível alterar.
MSG.Error.corridaCancelada=Corrida cancelada, não é possível alterar.
editarConfiguracionCorridaController.alteradoPor.value=Alterado Pelo Usuário
editarConfiguracionCorridaController.corridaAlteradaSucesso.value= Corrida Alterada com sucesso.
editarConfiguracionCorridaController.MSG.desejaConfirmarCorrida= Depois de Confirmada o serviço aparecerá para todos os pontos de venda e não será mais possível cancelar. Deseja realmente confirmar a corrida?
editarConfiguracionCorridaController.MSG.desejaCancelarCorrida= Depois de cancelada a corrida, não será mais possível alterar. Deseja realmente cancelar?
editarConfiguracionCorridaController.lbOcupacaoAtual.value=Ocupação Atual
editarConfiguracionCorridaController.lbLocalidade.value = Localidade
editarConfiguracionCorridaController.lbEmbarque.value = Embarque
editarConfiguracionCorridaController.lbDesembarque.value = Desembarque

View File

@ -53,7 +53,8 @@
label="${c:l('editarEmpresaController.configCallCenter.label')}" />
<tab
label="${c:l('editarEmpresaController.voucherPersonalizado.label')}" />
<tab
label="${c:l('editarEmpresaController.configuracaoFlexbus.label')}" />
</tabs>
<tabpanels style="overflow: auto">
<tabpanel>
@ -1782,6 +1783,99 @@
</ckeditor>
</tabpanel>
<tabpanel>
<tabbox>
<tabs>
<tab label="${c:l('editarEmpresaController.configEnvioEmailFlexBus.label')}" />
<tab label="${c:l('editarEmpresaController.configConteudoEmailFlexBus.label')}" />
</tabs>
<tabpanels>
<tabpanel>
<grid>
<columns>
<column width="25%" />
<column width="75%" />
</columns>
<rows>
<row>
<label id="lblNaoAutenticaEmailFlexBus" value="${c:l('editarEmpresaController.indAutenticacao')}" />
<checkbox id="chkAutenticacaoFlexBus"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.indAutenticacao}" />
</row>
<row>
<label id="lblTextEmailFlexBus" value="Email Autenticação SMTP" />
<textbox id="textEmailFlexBus" width="80%" maxlength="50"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.smtpEmail}" />
</row>
<row>
<label id="lblSenhaEmailFlexBus"
value="Senha" />
<textbox id="textSenhaEmailFlexBus" type="password" width="80%" maxlength="50"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.senha}" />
</row>
<row>
<label id="lblSMTPHostFlexBus" value="SMTP Endereço" />
<textbox id="textSMTPHostFlexBus" width="80%" maxlength="50"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.smtp}" />
</row>
<row>
<label id="lblSMTPPortaFlexBus" value="SMTP Porta" />
<textbox id="textSMTPPortaFlexBus" width="80%" maxlength="50"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.smtpPorta}" />
</row>
<row>
<label id="lblEmailDeFlexBus" value="Email de Envio" />
<textbox id="textEmailDeFlexBus" width="80%" maxlength="50"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.emailDe}" />
</row>
<row>
<label id="lblEmailCoppiaOcultaFlexBus" value="Email Cópia Oculta" />
<textbox id="textEmailCopiaOcultaFlexBus" width="80%" maxlength="200"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.emailCopiaOculta}" />
</row>
</rows>
</grid>
<toolbar>
<separator bar="true" />
</toolbar>
<button id="btnTestEmailFlexBus" height="20"
label="${c:l('viewTestEmailController.window.title')}" />
</tabpanel>
<tabpanel>
<grid>
<columns>
<column width="25%" />
<column width="75%" />
</columns>
<rows>
<row>
<label id="lblAssuntoFlexBus"
value="Assunto" />
<textbox id="textAssuntoFlexBus"
width="80%" maxlength="500"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.assunto}" />
</row>
</rows>
</grid>
<ckeditor id="messageConteudoEmailFlexBus"
value="@{winEditarEmpresa$composer.empresaEmailFlexBus.textoEmail}"
width="100%">
</ckeditor>
</tabpanel>
</tabpanels>
</tabbox>
</tabpanel>
</tabpanels>
</tabbox>
</window>

View File

@ -430,6 +430,11 @@
value="${c:l('editarPuntoVentaController.qrcodeCatracaRodEAN13.label')}" />
<checkbox id="checkIndQrcodeCatracaRodEAN13" checked="@{winEditarPuntoVenta$composer.puntoVenta.indQrcodeCatracaRodEAN13}" />
</row>
<row>
<label
value="${c:l('editarPuntoVentaController.vendeFlexBus.label')}" />
<checkbox id="checkIndVendeFlexBus" checked="@{winEditarPuntoVenta$composer.puntoVenta.indReservaFlexBus}" />
</row>
</rows>
</grid>
</tabpanel>

View File

@ -47,6 +47,8 @@
visible="false" />
<tab id="tabEmbarqueDesembarque"
label="${c:l('editarConfiguracionCorridaController.lbEmbarqueDesembarque.value')}" />
<tab id="tabFlexBus"
label="${c:l('editarConfiguracionCorridaController.lbFlexBus.value')}" />
</tabs>
<tabpanels>
<tabpanel>
@ -575,6 +577,43 @@
</listhead>
</listbox>
</tabpanel>
<!-- FlexBus -->
<tabpanel >
<grid fixedLayout="true">
<columns>
<column width="30%" />
<column width="70%" />
</columns>
<rows>
<row>
<label value="${c:l('editarConfiguracionCorridaController.lbCorridaFlexBus.value')}" />
<hbox>
<checkbox id="chkIsFlexBus" checked="@{winEditarCorrida$composer.esquemaCorrida.isFlexBus}" />
</hbox>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.lbOcupacaoMinima.value')}" />
<intbox id="txtOcupacaoMinima" width="60%" maxlength="60"/>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.tiempoConfirmacao.label')}" />
<hbox>
<spinner id="txtHorasParaConfirmacao" value="00"
width="50px" maxlength="4" constraint="max 9999,no negative" />
<label value=":" />
<spinner id="txtMinutosParaConfirmacao" value="00"
width="50px" maxlength="2" constraint="max 59,no negative" />
<image src="/gui/img/Question_mark_1.png" tooltiptext="${c:l('editarConfiguracionCorridaController.ajudaTempoLimiteAposSaida')}"
style="cursor: help" />
</hbox>
</row>
</rows>
</grid>
</tabpanel>
</tabpanels>
</tabbox>
</window>

View File

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winBusqueCorridaFlexBus"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winBusqueCorridaFlexBus"
title="${c:l('busquedaConfiguracionCorridaController.window.title')}"
apply="${busqueCorridaFlexBusController}" contentStyle="overflow:auto"
width="900px" height="580px" border="normal"
xmlns:h="http://www.w3.org/1999/xhtml" sizable="true">
<toolbar>
<button id="btnRefresh" image="/gui/img/refresh.png"
width="35px"
tooltiptext="${c:l('busquedaConfiguracionCorridaController.btnRefresh.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnNovo" image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('busquedaConfiguracionCorridaController.btnNovo.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnCerrar" onClick="winBusqueCorridaFlexBus.detach()"
image="/gui/img/exit.png" width="35px"
tooltiptext="${c:l('busquedaConfiguracionCorridaController.btnCerrar.tooltiptext')}" />
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="15%" />
<column width="20%" />
<column width="15%" />
<column width="15%" />
<column width="15%" />
<column width="20%" />
</columns>
<rows>
<row spans="1,2,1,2">
<label
value="${c:l('editarConfiguracionCorridaController.lbDataCorrida.value')}" />
<hbox>
<h:table border="0">
<h:tr>
<h:td>
<label
value="${c:l('editarConfiguracionCorridaController.lbDe.value')}" />
</h:td>
<h:td>
<datebox id="fecInicio" width="70x"
mold="rounded" />
</h:td>
<h:td>
<label
value="${c:l('editarConfiguracionCorridaController.lbHasta.value')}" />
</h:td>
<h:td>
<datebox id="fecFinal" width="120px"
mold="rounded" />
</h:td>
</h:tr>
</h:table>
</hbox>
<label id="lbNumCorrida"
value="${c:l('editarConfiguracionCorridaController.lbNumCorrida.label')}" />
<intbox id="txtNumCorrida" maxlength="7" />
</row>
<row spans="1,2,1,2">
<label
value="${c:l('editarConfiguracionCorridaController.cmbClase.value')}" />
<combobox id="cmbClase"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winBusqueCorridaFlexBus$composer.lsClase}" />
<label
value="${c:l('editarConfiguracionCorridaController.cmbStatus.value')}" />
<combobox id="cmbStatus"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winBusqueCorridaFlexBus$composer.lsStatus}" />
</row>
<row spans="1,2,1,2">
<label value="${c:l('editarConfiguracionCorridaController.cmbEmpresaCorrida.value')}" />
<combobox id="cmbEmpresaCorrida"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" width="90%"
model="@{winBusqueCorridaFlexBus$composer.lsEmpresa}" />
<label value="${c:l('editarConfiguracionCorridaController.cmbRuta.value')}" />
<hbox>
<h:table border="0">
<h:tr>
<h:td>
<combobox id="cmbRuta"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winBusqueCorridaFlexBus$composer.lsRuta}" />
</h:td>
<h:td>
<checkbox id="chkNaoIncluirLinhaInativa" label="${c:l('editarConfiguracionCorridaController.chkNaoIncluirLinhaInativa')}"/>
</h:td>
</h:tr>
</h:table>
</hbox>
</row>
</rows>
</grid>
<toolbar>
<button id="btnPesquisa" image="/gui/img/find.png"
label="${c:l('busquedaConfiguracionCorridaController.btnPesquisa.label')}" />
</toolbar>
<paging id="pagingCorrida" pageSize="20" />
<listbox id="corridaList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false" vflex="true" height="50%">
<listhead sizable="true">
<listheader width="10%" image="/gui/img/builder.gif"
label="N° Serviço"
sort="auto(esquemacorridaId)" />
<listheader width="10%" image="/gui/img/builder.gif"
label="Data"
sort="auto(numCorrida)" />
<listheader width="10%" image="/gui/img/builder.gif"
label="Hora"
sort="auto(ruta.descruta)" />
<listheader width="10%" image="/gui/img/builder.gif"
label="Ocupação Mínima"
sort="auto(ruta.numRuta)" />
<listheader width="15%" image="/gui/img/builder.gif"
label="Ocupacao Atual"
sort="auto(ruta.indSentidoIda)" />
<listheader width="15%" image="/gui/img/builder.gif"
label="Tempo de Antecedencia"
sort="auto(marca.descmarca)" />
<listheader width="15%" image="/gui/img/builder.gif"
label="Tempo Restante" />
<listheader width="15%" image="/gui/img/builder.gif"
label="Status" />
</listhead>
</listbox>
</window>
</zk>

View File

@ -0,0 +1,130 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winEditarCorridaFlexBus"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk>
<window id="winEditarCorridaFlexBus" border="normal"
apply="${editarCorridaFlexBusController}" width="700px" sizable="true"
contentStyle="overflow:auto"
title="${c:l('editarConfiguracionCorridaController.window.title')}"
xmlns:h="http://www.w3.org/1999/xhtml">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
<button id="btnSalvar" height="20"
image="/gui/img/save.png" label="Salvar Alterações"
tooltiptext="${c:l('editarConfiguracionCorridaController.btnSalvar.tooltiptext')}"
autodisable="self" />
<separator orient="vertical" />
<button id="btnCancelarServico" height="20"
image="/gui/img/remove.png" label="Cancelar Serviço"
tooltiptext="${c:l('editarConfiguracionCorridaController.btnApagar.tooltiptext')}" />
<button id="btnConfirmarServico" height="20"
image="/gui/img/confirmar_chegada.png"
label="Confirmar Serviço"
tooltiptext="${c:l('editarConfiguracionCorridaController.cmbAsiento.tooltiptext')}" />
<separator orient="vertical" />
<button id="btnFechar" height="20"
image="/gui/img/exit.png" width="35px"
onClick="winEditarCorridaFlexBus.detach()"
tooltiptext="${c:l('editarConfiguracionCorridaController.btnFechar.tooltiptext')}" />
</hbox>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="40%" />
<column width="60%" />
</columns>
<rows>
<row>
<label value="${c:l('editarCatalogoDeRutaController.lhInfoCorrda')}" />
<textbox id="txtInfoCorrida" maxlength="40" width="90%" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"
value="@{winEditarCorridaFlexBus$composer.corrida.esquemaCorrida.infoCorrida}" disabled="true" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.lbDataCorrida.value')}" />
<datebox id="feccorrida" constraint="no empty" width="25%" mold="rounded" disabled="true"
value="@{winEditarCorridaFlexBus$composer.corrida.id.feccorrida}" />
</row>
<row>
<label id="lbNumCorrida" value="${c:l('editarConfiguracionCorridaController.lbNumCorrida.value')}" />
<intbox id="txtNumCorrida" maxlength="7" constraint="no empty" width="25%" disabled="true"
value="@{winEditarCorridaFlexBus$composer.corrida.id.corridaId}" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.cmbClase.value')}" />
<combobox id="cmbClase" disabled="true" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
constraint="no empty" mold="rounded" buttonVisible="true" width="90%"
model="@{winEditarCorridaFlexBus$composer.lsClase}"
selectedItem="@{winEditarCorridaFlexBus$composer.corrida.claseServicio}" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.cmbEmpresaCorrida.value')}" />
<combobox id="cmbEmpresaCorrida" disabled="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" constraint="no empty" mold="rounded" width="90%"
model="@{winEditarCorridaFlexBus$composer.lsEmpresa}"
selectedItem="@{winEditarCorridaFlexBus$composer.corrida.empresa}" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.cmbRuta.value')}" />
<combobox id="cmbRuta" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
constraint="no empty" mold="rounded" buttonVisible="true" width="90%"
model="@{winEditarCorridaFlexBus$composer.lsRuta}" disabled="true"
selectedItem="@{winEditarCorridaFlexBus$composer.corrida.ruta}" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.cmbStatusCorrida.value')}" />
<combobox id="cmbStatusCorrida" disabled="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winBusqueCorridaFlexBus$composer.lsStatusCorrida}"
selectedItem="@{winEditarCorridaFlexBus$composer.statusCorrida}" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.cmbStatusFlexBus.value')}" />
<combobox id="cmbStatus" disabled="true"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true" width="90%"
model="@{winBusqueCorridaFlexBus$composer.lsStatus}"
selectedItem="@{winEditarCorridaFlexBus$composer.statusAtual}" />
</row>
<row id="rowUsuario">
<label value="${c:l('editarConfiguracionCorridaController.alteradoPor.value')}" />
<textbox id="txtUsuarioAlteracao" maxlength="40" width="90%" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" disabled="true" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.lbOcupacaoAtual.value')}" />
<intbox id="txtOcupacaoAtual" width="40%" maxlength="60" disabled="true"/>
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.lbOcupacaoMinima.value')}" />
<intbox id="txtOcupacaoMinima" width="40%" maxlength="60" />
</row>
<row>
<label value="${c:l('editarConfiguracionCorridaController.tiempoConfirmacao.label')}" />
<hbox>
<spinner id="txtHorasParaConfirmacao" value="00" width="50px" maxlength="4" constraint="max 9999,no negative" />
<label value=":" />
<spinner id="txtMinutosParaConfirmacao" value="00" width="50px" maxlength="2" constraint="max 59,no negative" />
<image src="/gui/img/Question_mark_1.png" tooltiptext="${c:l('editarConfiguracionCorridaController.ajudaTempoLimiteAposSaida')}"
style="cursor: help" />
</hbox>
</row>
</rows>
</grid>
</window>
</zk>