From 52431abc7af2b6e27937ef9f0adae2ebed951285 Mon Sep 17 00:00:00 2001 From: valdir Date: Thu, 19 Aug 2021 13:16:13 +0000 Subject: [PATCH] 0022815: Empresa Operadora - WebMobi /Arca bug#22815 dev:valdevir qua: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alterações da ADM git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@108383 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../relatorios/impl/RelatorioBPe.java | 136 +++--- .../BusquedaManutencaoDeRutaController.java | 303 ++++++++++++ .../EditarCatalogoDeRutaController.java | 439 +++++++++++++++++- ...emMenuEsquemaOperacionalAprovacaoRuta.java | 27 ++ .../utilerias/menu/menu_original.properties | 1 + .../render/RenderCatalogoDeRutas.java | 17 + .../web/utilerias/render/RenderEmpresa.java | 3 + .../utilerias/render/RenderRutaEmpresa.java | 9 +- web/WEB-INF/i3-label_es_MX.label | 17 +- web/WEB-INF/i3-label_pt_BR.label | 17 + web/gui/catalogos/editarEmpresa.zul | 2 + .../busquedaRutaManutencao.zul | 126 +++++ web/gui/esquema_operacional/editarRuta.zul | 132 ++++-- 13 files changed, 1130 insertions(+), 99 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaManutencaoDeRutaController.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuEsquemaOperacionalAprovacaoRuta.java create mode 100644 web/gui/esquema_operacional/busquedaRutaManutencao.zul diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPe.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPe.java index 23839da59..06c1d1939 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPe.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioBPe.java @@ -101,7 +101,89 @@ public class RelatorioBPe extends Relatorio { Date dtInicio = (Date) parametros.get("DATA_INICIO"); Date dtFim = (Date) parametros.get("DATA_FIM"); String alias = (String) parametros.get("ALIAS"); + + sql.append(" SELECT "); + sql.append(" dtvenda, hrvenda, locpuntoventa, origem, destino, dtviagem, vlbpe, valortarifa, valortaxa, valorpedagio, "); + sql.append(" valorseguro, valoroutros, chbpe, protocolo, num_bpe, numserie_bpe, status, obs, qrcode, errocontingencia "); + sql.append(" FROM ( "); + getSelectFrom(sql, alias); + + getWhere(sql, constanteService, estados, empresaId, status, chBpe, numBpe, dtInicio, dtFim); + + //So busca os dados da empresa operadora quando escolhido uma empresa + if(empresaId != null) { + sql.append(" UNION "); + + getSelectFrom(sql, alias); + + sql.append(" , ruta_empresa "); + //Envia sem o empresa_id para usar na busca da empresa autorizadora + getWhere(sql, constanteService, estados, null, status, chBpe, numBpe, dtInicio, dtFim); + + sql.append(" AND RUTA_EMPRESA.EMPRESA_AUTORIZADORA_ID = " + empresaId); + sql.append(" AND bol.ruta_id = ruta_empresa.ruta_Id "); + } + + + sql.append(" ) ORDER BY NUM_BPE, COALESCE(NUMSERIE_BPE, '1') ASC "); + + return sql.toString(); + } + + private void getWhere(StringBuilder sql, ConstanteService constanteService, String estados, Integer empresaId, String status, String chBpe, String numBpe, Date dtInicio, Date dtFim) { + sql.append(" WHERE e.ACTIVO = 1 "); + + if (empresaId != null) { + sql.append(" AND ep.EMPRESA_ID = " + empresaId + " "); + } + if (estados != null) { + sql.append(" AND e.ESTADO_ID IN ( " + estados + " )"); + } + + // Mantis 18156 + if (status != null && status.equals("A")) { //Autorizados ou ALIAS Origem/Destino dos bilhetes + sql.append(" AND bpe.CODSTAT = '100' AND bol.ACTIVO = 1 "); + } else if (status != null && status.equals("C")) {//Cancelados + sql.append(" AND bpe.CODSTAT = '135' AND bpe.TIPOEVENTO = '110111' AND bol.ACTIVO = 1 "); + } else if (status != null && status.equals("S")) {//Substituidos + sql.append(" AND bpe.CODSTAT IN ('100', '102') AND bpeSub.BPE_ID IS NOT NULL AND bol.ACTIVO = 1 "); + } else if (status != null && status.equals("SB")) {//Substituicao + sql.append(" AND bpe.CODSTAT IN ('100', '102','150') AND bpe.TIPOSUBSTITUICAO IS NOT NULL AND bol.ACTIVO = 1 and bpeSub.CODSTAT IN('150','100','102') "); + } else if (status != null && status.equals("NE")) {//Nao Embarcado + sql.append(" AND bpe.CODSTAT = '135' AND bpe.TIPOEVENTO = '110115' AND bol.ACTIVO = 1 "); + } else if (status != null && status.equals("R")) {//Rejeitado + sql.append(" AND bpe.CODSTAT NOT IN ('100','135','102','150','-1','-2') "); + }else if (status != null && status.equals("AA")) {//Autorizado Contingencia + sql.append(" AND bpe.CODSTAT IN ('100', '150') AND bpe.INDCONTINGENCIA = 1 AND bol.ACTIVO = 1 "); + }else if (status != null && status.equals("RC")) {//Rejeitado Envio Contingencia + sql.append(" AND bpe.CODSTAT IN ('-10','-20') AND bol.ACTIVO = 1 "); + } else if (status != null && status.equals("PE")) {//Pendente Envio + sql.append(" AND bpe.CODSTAT IN ('-1','-2') "); + } + + if(dtInicio != null && dtFim != null) { + Constante constanteBPeOtimizado = constanteService.buscarPorNomeConstante(Constantes.RELATORIO_BPE_OTIMIZADO); + if(constanteBPeOtimizado != null && StringUtils.isNotBlank(constanteBPeOtimizado.getValorconstante()) && Boolean.parseBoolean(constanteBPeOtimizado.getValorconstante())) { + sql.append(" AND coalesce(bol.FECHORVENTA_H, bol.FECHORVENTA) >= TO_DATE(:dataInicio,'DD/MM/YYYY HH24:MI:SS') "); + sql.append(" AND coalesce(bol.FECHORVENTA_H, bol.FECHORVENTA) <= TO_DATE(:dataFinal,'DD/MM/YYYY HH24:MI:SS') "); + }else { + //Mantis 17952 + sql.append(" AND (bpe.dt_venda >= TO_DATE(:dataInicio, 'DD/MM/YYYY HH24:MI:SS' ) OR (bpe.dt_venda is null and bol.fechorventa >= TO_DATE(:dataInicio, 'DD/MM/YYYY HH24:MI:SS'))) "); + sql.append(" AND (bpe.dt_venda <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS' ) OR (bpe.dt_venda is null and bol.fechorventa <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS' )))"); + } + } + + if(StringUtils.isNotBlank(chBpe)) { + sql.append(" AND bpe.CHBPE = :chbpe "); + } + + if(StringUtils.isNotBlank(numBpe)) { + sql.append(" AND bol.NUM_BPE = :numbpe "); + } + } + + private void getSelectFrom(StringBuilder sql, String alias) { sql.append("SELECT"); sql.append(" TO_CHAR(COALESCE(bpe.DT_VENDA,bol.FECHORVENTA),'dd/mm/yyyy') as dtvenda, "); sql.append(" TO_CHAR(COALESCE(bpe.DT_VENDA,bol.FECHORVENTA),'HH24:MI') as hrvenda, "); @@ -188,59 +270,5 @@ public class RelatorioBPe extends Relatorio { sql.append(" ON bol.PUNTOVENTA_ID = pv.PUNTOVENTA_ID "); sql.append(" LEFT JOIN PARADA locpv "); sql.append(" ON pv.PARADA_ID = locpv.PARADA_ID AND locpv.activo = 1"); - - sql.append(" WHERE e.ACTIVO = 1 "); - - if (empresaId != null) { - sql.append(" AND ep.EMPRESA_ID = " + empresaId + " "); - } - if (estados != null) { - sql.append(" AND e.ESTADO_ID IN ( " + estados + " )"); - } - - // Mantis 18156 - if (status != null && status.equals("A")) { //Autorizados ou ALIAS Origem/Destino dos bilhetes - sql.append(" AND bpe.CODSTAT = '100' AND bol.ACTIVO = 1 "); - } else if (status != null && status.equals("C")) {//Cancelados - sql.append(" AND bpe.CODSTAT = '135' AND bpe.TIPOEVENTO = '110111' AND bol.ACTIVO = 1 "); - } else if (status != null && status.equals("S")) {//Substituidos - sql.append(" AND bpe.CODSTAT IN ('100', '102') AND bpeSub.BPE_ID IS NOT NULL AND bol.ACTIVO = 1 "); - } else if (status != null && status.equals("SB")) {//Substituicao - sql.append(" AND bpe.CODSTAT IN ('100', '102','150') AND bpe.TIPOSUBSTITUICAO IS NOT NULL AND bol.ACTIVO = 1 and bpeSub.CODSTAT IN('150','100','102') "); - } else if (status != null && status.equals("NE")) {//Nao Embarcado - sql.append(" AND bpe.CODSTAT = '135' AND bpe.TIPOEVENTO = '110115' AND bol.ACTIVO = 1 "); - } else if (status != null && status.equals("R")) {//Rejeitado - sql.append(" AND bpe.CODSTAT NOT IN ('100','135','102','150','-1','-2') "); - }else if (status != null && status.equals("AA")) {//Autorizado Contingencia - sql.append(" AND bpe.CODSTAT IN ('100', '150') AND bpe.INDCONTINGENCIA = 1 AND bol.ACTIVO = 1 "); - }else if (status != null && status.equals("RC")) {//Rejeitado Envio Contingencia - sql.append(" AND bpe.CODSTAT IN ('-10','-20') AND bol.ACTIVO = 1 "); - } else if (status != null && status.equals("PE")) {//Pendente Envio - sql.append(" AND bpe.CODSTAT IN ('-1','-2') "); - } - - if(dtInicio != null && dtFim != null) { - Constante constanteBPeOtimizado = constanteService.buscarPorNomeConstante(Constantes.RELATORIO_BPE_OTIMIZADO); - if(constanteBPeOtimizado != null && StringUtils.isNotBlank(constanteBPeOtimizado.getValorconstante()) && Boolean.parseBoolean(constanteBPeOtimizado.getValorconstante())) { - sql.append(" AND coalesce(bol.FECHORVENTA_H, bol.FECHORVENTA) >= TO_DATE(:dataInicio,'DD/MM/YYYY HH24:MI:SS') "); - sql.append(" AND coalesce(bol.FECHORVENTA_H, bol.FECHORVENTA) <= TO_DATE(:dataFinal,'DD/MM/YYYY HH24:MI:SS') "); - }else { - //Mantis 17952 - sql.append(" AND (bpe.dt_venda >= TO_DATE(:dataInicio, 'DD/MM/YYYY HH24:MI:SS' ) OR (bpe.dt_venda is null and bol.fechorventa >= TO_DATE(:dataInicio, 'DD/MM/YYYY HH24:MI:SS'))) "); - sql.append(" AND (bpe.dt_venda <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS' ) OR (bpe.dt_venda is null and bol.fechorventa <= TO_DATE(:dataFinal, 'DD/MM/YYYY HH24:MI:SS' )))"); - } - } - - if(StringUtils.isNotBlank(chBpe)) { - sql.append(" AND bpe.CHBPE = :chbpe "); - } - - if(StringUtils.isNotBlank(numBpe)) { - sql.append(" AND bol.NUM_BPE = :numbpe "); - } - - sql.append(" ORDER BY bol.NUM_BPE, COALESCE(bol.NUMSERIE_BPE, '1') ASC "); - - return sql.toString(); } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaManutencaoDeRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaManutencaoDeRutaController.java new file mode 100644 index 000000000..3e772f7e6 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/BusquedaManutencaoDeRutaController.java @@ -0,0 +1,303 @@ +package com.rjconsultores.ventaboletos.web.gui.controladores.esquemaoperacional; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +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.zul.Checkbox; +import org.zkoss.zul.Combobox; +import org.zkoss.zul.Comboitem; +import org.zkoss.zul.Intbox; +import org.zkoss.zul.Paging; +import org.zkoss.zul.Textbox; + +import com.rjconsultores.ventaboletos.entidad.ClaseServicio; +import com.rjconsultores.ventaboletos.entidad.Empresa; +import com.rjconsultores.ventaboletos.entidad.GrupoRuta; +import com.rjconsultores.ventaboletos.entidad.OrgaoConcedente; +import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.enums.StatusAutorizacaoRuta; +import com.rjconsultores.ventaboletos.service.ClaseServicioService; +import com.rjconsultores.ventaboletos.service.EmpresaService; +import com.rjconsultores.ventaboletos.service.GrupoRutaService; +import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; +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.RenderCatalogoDeRutas; + +/** + * + * @author Valdir Cordeiro + */ +@Controller("busquedaManutencaoDeRutaController") +@Scope("prototype") +public class BusquedaManutencaoDeRutaController extends MyGenericForwardComposer { + + private static final long serialVersionUID = 1L; + @Autowired + private transient PagedListWrapper plwRuta; + @Autowired + private OrgaoConcedenteService orgaoConcedenteService; + @Autowired + private ClaseServicioService claseServicioServicce; + @Autowired + private EmpresaService empresaService; + @Autowired + private GrupoRutaService grupoRutaService; + private List lsClaseServicio; + private List lsOrgaoConcedente; + private List lsGrupoRuta; + private List lsEmpresa; + private List lsEmpresaOperadora; + private List lsRuta; + private MyListbox rutaList; + private Paging pagingRuta; + private Textbox txtNombre; + private Textbox txtNumRuta; + private Intbox txtId; + private Combobox cmbClaseServicio; + private Combobox cmbOrgaoConcedente; + private Combobox cmbGrupoRuta; + private Combobox cmbEmpresa; + private Checkbox chkRutaCancelada; + private Combobox cmbStatus; + private List lsStatus; + private Combobox cmbEmpresaOperadora; + + private static final Short EMPRESA_OPERADORA = 4; + + @Override + public void doAfterCompose(Component comp) throws Exception { + lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); + lsEmpresaOperadora = buscarEmpresasOperadoras(); + lsClaseServicio = claseServicioServicce.buscarPorEmpresasDoUsuario(lsEmpresa); + lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos(); + lsGrupoRuta = grupoRutaService.obtenerTodos(); + lsStatus = Arrays.asList(StatusAutorizacaoRuta.values()); + + super.doAfterCompose(comp); + + rutaList.setItemRenderer(new RenderCatalogoDeRutas(true)); + rutaList.addEventListener("onDoubleClick", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + Ruta c = (Ruta) rutaList.getSelected(); + verRuta(c); + } + }); + + refreshLista(); + + txtId.focus(); + } + + private List buscarEmpresasOperadoras() { + List todasAsEmpresas = empresaService.obtenerTodos(); + List empOperadoras = new ArrayList(); + + for(Empresa emp : todasAsEmpresas) { + if(emp.getIndTipo() == EMPRESA_OPERADORA) { + empOperadoras.add(emp); + } + } + + return empOperadoras; + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + private void verRuta(Ruta c) { + if (c == null) { + return; + } + + Map args = new HashMap(); + args.put("ruta", c); + args.put("rutaList", rutaList); + args.put("isAprovacaoLinhas", true); + + openWindow("/gui/esquema_operacional/editarRuta.zul", + Labels.getLabel("editarCatalogoDeRutaController.window.title"), args, MODAL); + } + + private void refreshLista() { + HibernateSearchObject rutaBusqueda = new HibernateSearchObject(Ruta.class, pagingRuta.getPageSize()); + rutaBusqueda.addFilterEqual("activo", Boolean.TRUE); + + if (cmbEmpresa.getSelectedIndex() >= 0) { + Empresa e = (Empresa) cmbEmpresa.getSelectedItem().getValue(); + rutaBusqueda.addFilterIn("lsRutaEmpresa.empresaAutorizadora.empresaId", Arrays.asList(e.getEmpresaId())); + rutaBusqueda.addFilterEqual("lsRutaEmpresa.activo", Boolean.TRUE); + } else { + rutaBusqueda.addFilterIn("lsRutaEmpresa.empresaAutorizadora.empresaId", getIdEmpresas(lsEmpresa)); + rutaBusqueda.addFilterEqual("lsRutaEmpresa.activo", Boolean.TRUE); + } + + if (cmbEmpresaOperadora.getSelectedIndex() >= 0) { + Empresa e = (Empresa) cmbEmpresaOperadora.getSelectedItem().getValue(); + rutaBusqueda.addFilterIn("lsRutaEmpresa.empresa.empresaId", Arrays.asList(e.getEmpresaId())); + rutaBusqueda.addFilterEqual("lsRutaEmpresa.activo", Boolean.TRUE); + } + + rutaBusqueda.addFilterNotEqual("rutaId", -1); + + if (txtId.getValue() != null) { + rutaBusqueda.addFilterEqual("rutaId", txtId.getValue()); + } + + if (txtNumRuta.getValue() != null && !txtNumRuta.getValue().isEmpty()) { + rutaBusqueda.addFilterEqual("numRuta", txtNumRuta.getValue()); + } + + Comboitem cbiStatus = cmbStatus.getSelectedItem(); + StatusAutorizacaoRuta status = null; + if (cbiStatus != null) { + status = (StatusAutorizacaoRuta) cbiStatus.getValue(); + rutaBusqueda.addFilterEqual("statusAutorizadora", status.getStatus()); + } + + rutaBusqueda.addFilterLike("descruta", "%" + txtNombre.getText().trim().concat("%")); + + Comboitem cbiClaseServicio = cmbClaseServicio.getSelectedItem(); + if (cbiClaseServicio != null) { + ClaseServicio claseServicio = (ClaseServicio) cbiClaseServicio.getValue(); + rutaBusqueda.addFilterEqual("claseServicio", claseServicio); + } + + Comboitem cbiGrupoRuta = cmbGrupoRuta.getSelectedItem(); + if (cbiGrupoRuta != null) { + GrupoRuta grupoRuta = (GrupoRuta) cbiGrupoRuta.getValue(); + rutaBusqueda.addFilterEqual("grupoRuta", grupoRuta); + } + + Comboitem cbiOrgaoConcedente = cmbOrgaoConcedente.getSelectedItem(); + if (cbiOrgaoConcedente != null) { + OrgaoConcedente orgaoConcedente = (OrgaoConcedente) cbiOrgaoConcedente.getValue(); + rutaBusqueda.addFilterEqual("orgaoConcedente", orgaoConcedente); + } + rutaBusqueda.addFilterEqual("indRutaCancelada", chkRutaCancelada.isChecked()); + + rutaBusqueda.addSortAsc("descruta"); + + plwRuta.init(rutaBusqueda, rutaList, pagingRuta); + if (rutaList.getData().length == 0) { + try { + Messagebox.show(Labels.getLabel("MSG.ningunRegistro"), + Labels.getLabel("busquedaCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.INFORMATION); + } catch (InterruptedException ex) { + } + } + } + + private List getIdEmpresas(List lsEmpresa2) { + + if (lsEmpresa2 == null || lsEmpresa2.isEmpty()) { + return null; + } + + List ids = new ArrayList(); + for (Empresa empresa : lsEmpresa2) { + ids.add(empresa.getEmpresaId()); + } + + return ids; + } + + public void onClick$btnPesquisa(Event ev) throws InterruptedException { + refreshLista(); + } + + public void onClick$btnRefresh(Event ev) { + refreshLista(); + } + + public void onClick$btnNovo(Event ev) { + verRuta(new Ruta()); + } + + public List getLsEmpresaOperadora() { + return lsEmpresaOperadora; + } + + public void setLsEmpresaOperadora(List lsEmpresaOperadora) { + this.lsEmpresaOperadora = lsEmpresaOperadora; + } + + public Combobox getCmbEmpresaOperadora() { + return cmbEmpresaOperadora; + } + + public void setCmbEmpresaOperadora(Combobox cmbEmpresaOperadora) { + this.cmbEmpresaOperadora = cmbEmpresaOperadora; + } + + public Combobox getCmbStatus() { + return cmbStatus; + } + + public void setCmbStatus(Combobox cmbStatus) { + this.cmbStatus = cmbStatus; + } + + public List getLsStatus() { + return lsStatus; + } + + public void setLsStatus(List lsStatus) { + this.lsStatus = lsStatus; + } + + public List getLsEmpresa() { + return lsEmpresa; + } + + public void setLsEmpresa(List lsEmpresa) { + this.lsEmpresa = lsEmpresa; + } + + public List getLsRuta() { + return lsRuta; + } + + public void setLsRuta(List lsRuta) { + this.lsRuta = lsRuta; + } + + public List getLsClaseServicio() { + return lsClaseServicio; + } + + public void setLsClaseServicio(List lsClaseServicio) { + this.lsClaseServicio = lsClaseServicio; + } + + public List getLsOrgaoConcedente() { + return lsOrgaoConcedente; + } + + public void setLsOrgaoConcedente(List lsOrgaoConcedente) { + this.lsOrgaoConcedente = lsOrgaoConcedente; + } + + public List getLsGrupoRuta() { + return lsGrupoRuta; + } + + public void setLsGrupoRuta(List lsGrupoRuta) { + this.lsGrupoRuta = lsGrupoRuta; + } +} \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java index a665e1066..0ff7199db 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/esquemaoperacional/EditarCatalogoDeRutaController.java @@ -50,8 +50,10 @@ import org.zkoss.zul.ListitemRenderer; import org.zkoss.zul.Messagebox; import org.zkoss.zul.Paging; import org.zkoss.zul.Radio; +import org.zkoss.zul.Row; import org.zkoss.zul.Spinner; import org.zkoss.zul.Textbox; +import org.zkoss.zul.Toolbar; import org.zkoss.zul.Window; import com.rjconsultores.ventaboletos.entidad.CasetaPeaje; @@ -75,9 +77,11 @@ import com.rjconsultores.ventaboletos.entidad.RutaSecuencia; import com.rjconsultores.ventaboletos.entidad.Tramo; import com.rjconsultores.ventaboletos.entidad.TramoServicio; import com.rjconsultores.ventaboletos.entidad.Via; +import com.rjconsultores.ventaboletos.enums.StatusAutorizacaoRuta; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.ClaseServicioService; import com.rjconsultores.ventaboletos.service.CorridaService; +import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EsquemaCorridaService; import com.rjconsultores.ventaboletos.service.GrupoRutaService; import com.rjconsultores.ventaboletos.service.OrgaoConcedenteService; @@ -118,6 +122,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private static final String NAO = "Não"; private static final String SIM = "Sim"; private static final long serialVersionUID = 1L; + private static final Short EMPRESA_OPERADORA = 4; @Autowired private RutaService rutaService; @Autowired @@ -146,9 +151,11 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private RutaEmbarqueDesembarqueService rutaEmbarqueDesembarqueService; @Autowired private RutaIcmsExcepcionService rutaIcmsExcepcionService; - + @Autowired + private EmpresaService empresaService; private Ruta ruta; + private Ruta rutaComparacao; private MyListbox rutaList; private MyListbox rutaSecuenciaList; private MyListbox rutaCombinacionList; @@ -162,6 +169,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private List lsVia; private List lsParadasSequencia; private List lsEmpresa; + private List lsEmpresaAutorizadora; private List lsRutaEmpresa; private List lsOrgaoConcedente; private Tramo tramoBandBox; @@ -172,6 +180,7 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private Combobox cmbClase; private Combobox cmbVia; private Combobox cmbEmpresa; + private Combobox cmbEmpresaAutorizadora; private Combobox cmbParada; private Radio rdNo; @@ -219,10 +228,27 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer private List lsRutaEmbarqueDesembarqueBorrar = new ArrayList(); private String nuevaParada; - private Combobox cmbEmbarqueDesembarque; private ParadaSecuencia paradaSecuencia; private List lsEmbarqueDesembarque; + + private Row linhaEmpresaAutorizadora; + private Row linhaStatus; + private Row rowIncluirSequencia; + private Row rowAdicionarRuta; + private Row rowAddEmbarqueDesembarque; + private Row rowAddICMS; + private MyTextbox txtStatus; + + private Toolbar barraDeAprovacaoDeLinha; + private Toolbar barraDeCadastro; + private Button btModificar; + private Boolean isBloqueadoParaAlteracao = false; + private Button btnLiberarRuta; + private Button btnBloquearRuta; + + //Utiliza o campo para usar a tela para visualizacao e aprovacao de linhas para empresas Operadoras. Utilize caso seja criado um novo campo + private Boolean isAprovacaoLinhas; @Override public void doAfterCompose(Component comp) throws Exception { @@ -231,8 +257,12 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer lsEmpresa = UsuarioLogado.getUsuarioLogado().getEmpresa(); lsOrgaoConcedente = orgaoConcedenteService.obtenerTodos(); lsGrupoRuta = grupoRutaService.obtenerTodos(); + lsEmpresaAutorizadora = buscarEmpresaOperadora(); ruta = (Ruta) Executions.getCurrent().getArg().get("ruta"); + + isAprovacaoLinhas = (Boolean) Executions.getCurrent().getArg().get("isAprovacaoLinhas"); + isAprovacaoLinhas = isAprovacaoLinhas == null ? false : isAprovacaoLinhas; if (ruta.getRutaId() != null) { ruta = rutaService.obtenerID(ruta.getRutaId()); @@ -243,6 +273,14 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer rutaList = (MyListbox) Executions.getCurrent().getArg().get("rutaList"); super.doAfterCompose(comp); + + barraDeCadastro.setVisible(!isAprovacaoLinhas); + barraDeAprovacaoDeLinha.setVisible(isAprovacaoLinhas); + + if(isAprovacaoLinhas) { + isBloqueadoParaAlteracao = true; + desabilitarCadastro(); + } // Secuencia rutaSecuenciaList.setItemRenderer(new RenderCatalogoDeRutasSecuencia()); @@ -448,6 +486,30 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer carregouCombinacao = false; alterarBotaoRetomarCancelar(); carregarParadasRuta(); + linhaEmpresaAutorizadora.setVisible(false); + + validaApresentaLinhaStatus(); + } + + private void desabilitarCadastro() { + rowIncluirSequencia.setVisible(false); + btModificar.setVisible(false); + rowAdicionarRuta.setVisible(false); + rowAddEmbarqueDesembarque.setVisible(false); + rowAddICMS.setVisible(false); + } + + private List buscarEmpresaOperadora() { + List todasAsEmpresas = empresaService.obtenerTodos(); + List empOperadoras = new ArrayList(); + + for(Empresa emp : todasAsEmpresas) { + if(emp.getIndTipo() != EMPRESA_OPERADORA) { + empOperadoras.add(emp); + } + } + + return empOperadoras; } private void alterarBotaoRetomarCancelar() { @@ -790,6 +852,35 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer if (cbiEmpresa != null) { Empresa empresa = (Empresa) cbiEmpresa.getValue(); + + Empresa empresaAutorizadora = null; + + if(empresa != null && empresa.getIndTipo() == EMPRESA_OPERADORA) { + + if(!lsRutaEmpresa.isEmpty()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.erroMaisdeUmaEmpresa"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + Comboitem cbiEmpresaAutorizadora = cmbEmpresaAutorizadora.getSelectedItem(); + + empresaAutorizadora = cbiEmpresaAutorizadora == null ? null : (Empresa) cbiEmpresaAutorizadora.getValue(); + + if(empresaAutorizadora == null) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.erroSemEmpresaAutorizadora"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + + ruta.setStatusAutorizadora(StatusAutorizacaoRuta.EM_ANALISE.getStatus()); + } else { + if(existeEmpresaOperadora()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.erroMaisdeUmaEmpresa"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + } Boolean achou = Boolean.FALSE; @@ -806,11 +897,13 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer rutaEmpresa.setActivo(Boolean.TRUE); rutaEmpresa.setFecmodif(Calendar.getInstance().getTime()); rutaEmpresa.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + rutaEmpresa.setEmpresaAutorizadora(empresaAutorizadora); lsRutaEmpresa.add(rutaEmpresa); ruta.setLsRutaEmpresa(lsRutaEmpresa); rutaEmpresaList.setData(lsRutaEmpresa); + validaApresentaLinhaStatus(); } else { Messagebox.show(Labels.getLabel("MSG.Registro.Existe"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), @@ -824,6 +917,31 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer } } + private Boolean existeEmpresaOperadora() { + Boolean existeEmpresaOperadora = false; + for (RutaEmpresa re : lsRutaEmpresa) { + if (re.getEmpresa().getIndTipo() == EMPRESA_OPERADORA) { + existeEmpresaOperadora = true; + } + } + return existeEmpresaOperadora; + } + + public void onChange$cmbEmpresa(Event ev) { + Comboitem cbiEmpresa = cmbEmpresa.getSelectedItem(); + + if (cbiEmpresa != null) { + Empresa empresa = (Empresa) cbiEmpresa.getValue(); + + if(empresa.getIndTipo() == EMPRESA_OPERADORA) { + linhaEmpresaAutorizadora.setVisible(true); + } else { + linhaEmpresaAutorizadora.setVisible(false); + } + } + + } + public void onClick$btnRemoverEmpresaRuta(Event ev) throws InterruptedException { if (ruta.getRutaId() == null && (ruta.getIsClone() != null && ruta.getIsClone())) { Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.ExcluirEmpresaRutaCloneError"), @@ -844,6 +962,17 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer lsRutaEmpresa.remove(rutaEmpresa); rutaEmpresaList.setData(lsRutaEmpresa); } + + validaApresentaLinhaStatus(); + } + + private void validaApresentaLinhaStatus(){ + if(existeEmpresaOperadora()) { + linhaStatus.setVisible(true); + txtStatus.setText(StatusAutorizacaoRuta.buscarStatus(ruta.getStatusAutorizadora())); + } else { + linhaStatus.setVisible(false); + } } private boolean validar() throws InterruptedException { @@ -930,6 +1059,24 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer txtPrefixo.getValue(); txtNumRioCard.getValue(); + + Boolean existeEmpresaOperadora = existeEmpresaOperadora(); + if (existeEmpresaOperadora && StatusAutorizacaoRuta.LIBERADO.getStatus().equals(ruta.getStatusAutorizadora())) { + + if(houveAlteracaoParaAnalise()) { + int resp = Messagebox.show( Labels.getLabel("editarCatalogoDeRutaController.msg.desejaAlterar"), Labels.getLabel("editarCatalogoDeRutaController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.NO) { + return; + } + + ruta.setStatusAutorizadora(StatusAutorizacaoRuta.EM_ANALISE.getStatus()); + } + + } else if(existeEmpresaOperadora) { + ruta.setStatusAutorizadora(StatusAutorizacaoRuta.EM_ANALISE.getStatus()); + } if (null != txtCantEixos && txtCantEixos.getValue() != null && txtCantEixos.getValue() == 0) { Messagebox.show( @@ -1058,6 +1205,78 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer } + /*** + * Verifica se a alteracao na ruta precisa de uma nova análise pela empresa Autorizadora + * + * As seguintes alteracoes precisao de revisao: + * + * empresas linha - ICMS Exceção - prefixo - prefixo auxiliar - orgao concedente - ICMS preço + * + * @return + */ + private boolean houveAlteracaoParaAnalise() { + try { + rutaComparacao = rutaService.obtenerID(ruta.getRutaId()); + + if(rutaComparacao == null) { + return false; + } + + if(ruta.getPrefixo() != null && rutaComparacao.getPrefixo() != null && !ruta.getPrefixo().equals(rutaComparacao.getPrefixo())) { + return true; + } + + if(ruta.getPrefixoAuxiliar() != null && rutaComparacao.getPrefixoAuxiliar() != null && !ruta.getPrefixoAuxiliar().equals(rutaComparacao.getPrefixoAuxiliar())) { + return true; + } + + if(ruta.getOrgaoConcedente() != null && !ruta.getOrgaoConcedente().equals(rutaComparacao.getOrgaoConcedente())) { + return true; + } + + //ICMS PRECO + if(!ruta.getIndTribTarifa().equals(rutaComparacao.getIndTribTarifa()) + || !ruta.getIndTribPedagio().equals(rutaComparacao.getIndTribPedagio()) + || !ruta.getIndTribTaxaEmbarque().equals(rutaComparacao.getIndTribTaxaEmbarque()) ) { + return true; + } + + if(houveAlteracaoICMSExcecao()) { + return true; + } + + } catch (Exception e) { + log.error("Erro ao analizar diferencas na ruta: ", e); + } + + return false; + } + + private boolean houveAlteracaoICMSExcecao() { + if((ruta.getLsRutaIcmsExcepcions() != null && rutaComparacao.getLsRutaIcmsExcepcions() == null) || (ruta.getLsRutaIcmsExcepcions() == null && rutaComparacao.getLsRutaIcmsExcepcions() != null) ) { + return true; + } + + if(ruta.getLsRutaIcmsExcepcions() != null && rutaComparacao.getLsRutaIcmsExcepcions() != null && ruta.getLsRutaIcmsExcepcions().size() != rutaComparacao.getLsRutaIcmsExcepcions().size() ) { + return true; + } + + int comparacao = 0; + for(RutaIcmsExcepcion rExcp : ruta.getLsRutaIcmsExcepcions()) { + for(RutaIcmsExcepcion rExcp2 : rutaComparacao.getLsRutaIcmsExcepcions()) { + if(rExcp.equals(rExcp2)) { + comparacao++; + } + } + } + + if(comparacao != rutaComparacao.getLsRutaIcmsExcepcions().size()) { + return true; + } + + return false; + } + private void alteraKmCoeficiente(Tramo tramo, BigDecimal kmEntradaSaidaAnterior, BigDecimal KmEntradaSaidaNovo) { tramo.setLsOrgaoTramo(tramoService.getLsOrgaoTramoByTramo(tramo)); for (OrgaoTramo ot : tramo.getLsOrgaoTramo()) { @@ -1837,4 +2056,220 @@ public class EditarCatalogoDeRutaController extends MyGenericForwardComposer public void setLsEmbarqueDesembarque(List lsEmbarqueDesembarque) { this.lsEmbarqueDesembarque = lsEmbarqueDesembarque; } + + public Row getLinhaEmpresaAutorizadora() { + return linhaEmpresaAutorizadora; + } + + public void setLinhaEmpresaAutorizadora(Row linhaEmpresaAutorizadora) { + this.linhaEmpresaAutorizadora = linhaEmpresaAutorizadora; + } + + public List getLsEmpresaAutorizadora() { + return lsEmpresaAutorizadora; + } + + public void setLsEmpresaAutorizadora(List lsEmpresaAutorizadora) { + this.lsEmpresaAutorizadora = lsEmpresaAutorizadora; + } + + public Combobox getCmbEmpresaAutorizadora() { + return cmbEmpresaAutorizadora; + } + + public void setCmbEmpresaAutorizadora(Combobox cmbEmpresaAutorizadora) { + this.cmbEmpresaAutorizadora = cmbEmpresaAutorizadora; + } + + public Row getLinhaStatus() { + return linhaStatus; + } + + public void setLinhaStatus(Row linhaStatus) { + this.linhaStatus = linhaStatus; + } + + public MyTextbox getTxtStatus() { + return txtStatus; + } + + public void setTxtStatus(MyTextbox txtStatus) { + this.txtStatus = txtStatus; + } + + public Boolean getIsAprovacaoLinhas() { + return isAprovacaoLinhas; + } + + public void setIsAprovacaoLinhas(Boolean isAprovacaoLinhas) { + this.isAprovacaoLinhas = isAprovacaoLinhas; + } + + public Toolbar getBarraDeAprovacaoDeLinha() { + return barraDeAprovacaoDeLinha; + } + + public void setBarraDeAprovacaoDeLinha(Toolbar barraDeAprovacaoDeLinha) { + this.barraDeAprovacaoDeLinha = barraDeAprovacaoDeLinha; + } + + public Toolbar getBarraDeCadastro() { + return barraDeCadastro; + } + + public void setBarraDeCadastro(Toolbar barraDeCadastro) { + this.barraDeCadastro = barraDeCadastro; + } + + public Button getBtnApagar() { + return btnApagar; + } + + public void setBtnApagar(Button btnApagar) { + this.btnApagar = btnApagar; + } + + public Button getBtnCancelarRetomar() { + return btnCancelarRetomar; + } + + public void setBtnCancelarRetomar(Button btnCancelarRetomar) { + this.btnCancelarRetomar = btnCancelarRetomar; + } + + public Row getRowIncluirSequencia() { + return rowIncluirSequencia; + } + + public void setRowIncluirSequencia(Row rowIncluirSequencia) { + this.rowIncluirSequencia = rowIncluirSequencia; + } + + public Row getRowAdicionarRuta() { + return rowAdicionarRuta; + } + + public void setRowAdicionarRuta(Row rowAdicionarRuta) { + this.rowAdicionarRuta = rowAdicionarRuta; + } + + public Row getRowAddEmbarqueDesembarque() { + return rowAddEmbarqueDesembarque; + } + + public void setRowAddEmbarqueDesembarque(Row rowAddEmbarqueDesembarque) { + this.rowAddEmbarqueDesembarque = rowAddEmbarqueDesembarque; + } + + public Row getRowAddICMS() { + return rowAddICMS; + } + + public void setRowAddICMS(Row rowAddICMS) { + this.rowAddICMS = rowAddICMS; + } + + public Button getBtModificar() { + return btModificar; + } + + public void setBtModificar(Button btModificar) { + this.btModificar = btModificar; + } + + public Boolean getIsBloqueadoParaAlteracao() { + return isBloqueadoParaAlteracao; + } + + public void setIsBloqueadoParaAlteracao(Boolean isBloqueadoParaAlteracao) { + this.isBloqueadoParaAlteracao = isBloqueadoParaAlteracao; + } + + public Button getBtnLiberarRuta() { + return btnLiberarRuta; + } + + public void setBtnLiberarRuta(Button btnLiberarRuta) { + this.btnLiberarRuta = btnLiberarRuta; + } + + public Button getBtnBloquearRuta() { + return btnBloquearRuta; + } + + public void setBtnBloquearRuta(Button btnBloquearRuta) { + this.btnBloquearRuta = btnBloquearRuta; + } + + public void onClick$btnLiberarRuta(Event ev) throws InterruptedException { + try { + if (ruta.getIndRutaCancelada()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.linhaDesativada"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if (StatusAutorizacaoRuta.LIBERADO.getStatus().equals(ruta.getStatusAutorizadora())) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.orgaoLinhaJaLiberada"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + return; + } + + ruta.setStatusAutorizadora(StatusAutorizacaoRuta.LIBERADO.getStatus()); + ruta = rutaService.suscribir(ruta, null); + + rutaList.removeItem(ruta); + rutaList.addItemNovo(ruta); + + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.linhaLiberada"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } catch (BusinessException e) { + log.error("Erro ao liberar Linha: ", e); + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.erroAoLiberarLinha"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.ERROR); + } + } + + public void onClick$btnBloquearRuta(Event ev) throws InterruptedException { + try { + if (ruta.getIndRutaCancelada()) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.linhaDesativada"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if (StatusAutorizacaoRuta.BLOQUEADO.getStatus().equals(ruta.getStatusAutorizadora())) { + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.msg.orgaoLinhaJaBloqueada"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + return; + } + + if (StatusAutorizacaoRuta.LIBERADO.getStatus().equals(ruta.getStatusAutorizadora())) { + + int resp = Messagebox.show( Labels.getLabel("editarCatalogoDeRutaController.bloquearLinhaLiberada"), + Labels.getLabel("editarEmpresaController.window.title"), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.NO) { + return; + } + } + + ruta.setStatusAutorizadora(StatusAutorizacaoRuta.BLOQUEADO.getStatus()); + ruta = rutaService.suscribir(ruta, null); + + rutaList.removeItem(ruta); + rutaList.addItemNovo(ruta); + + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.linhaBloqueada"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.INFORMATION); + + closeWindow(); + } catch (BusinessException e) { + log.error("Erro ao Bloquear Linha: ", e); + Messagebox.show(Labels.getLabel("editarCatalogoDeRutaController.MSG.erroAoBloquearLinha"), + Labels.getLabel("editarCatalogoDeRutaController.window.title"), Messagebox.OK, Messagebox.ERROR); + } + } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuEsquemaOperacionalAprovacaoRuta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuEsquemaOperacionalAprovacaoRuta.java new file mode 100644 index 000000000..bae5a3120 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/item/esquemaoperacional/ItemMenuEsquemaOperacionalAprovacaoRuta.java @@ -0,0 +1,27 @@ +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 ItemMenuEsquemaOperacionalAprovacaoRuta extends DefaultItemMenuSistema { + + public ItemMenuEsquemaOperacionalAprovacaoRuta() { + super("indexController.mniEsquemaOperacionalAprovacaoRuta.label"); + } + + @Override + public String getClaveMenu() { + return ConstantesFuncionSistema.CLAVE_AUTORIZACAO_RUTA; + } + + @Override + public void ejecutar() { + PantallaUtileria.openWindow("/gui/esquema_operacional/busquedaRutaManutencao.zul", + Labels.getLabel("busquedaCatalogoDeRutaManutencaoController.window.title"), getArgs(), desktop); + + } + +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties index a199380c0..c191af125 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/menu/menu_original.properties @@ -83,6 +83,7 @@ esquemaOperacional.generacionAutomaticaTramoRuta=com.rjconsultores.ventaboletos. esquemaOperacional.via=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuVia esquemaOperacional.tramo=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuTramo esquemaOperacional.ruta=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuEsquemaOperacionalRuta +esquemaOperacional.autorizacaoRuta=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuEsquemaOperacionalAprovacaoRuta esquemaOperacional.corrida=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuCorrida esquemaOperacional.paramConexion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuParamConexion esquemaOperacional.conexion=com.rjconsultores.ventaboletos.web.utilerias.menu.item.esquemaoperacional.ItemMenuConexion diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCatalogoDeRutas.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCatalogoDeRutas.java index c05ae6dde..630bfab6d 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCatalogoDeRutas.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCatalogoDeRutas.java @@ -5,6 +5,7 @@ package com.rjconsultores.ventaboletos.web.utilerias.render; import com.rjconsultores.ventaboletos.entidad.Ruta; +import com.rjconsultores.ventaboletos.enums.StatusAutorizacaoRuta; import org.zkoss.util.resource.Labels; import org.zkoss.zul.Listcell; @@ -17,6 +18,17 @@ import org.zkoss.zul.ListitemRenderer; */ public class RenderCatalogoDeRutas implements ListitemRenderer { + private Boolean isAutorizacaoDeRuta = false; + + public RenderCatalogoDeRutas(boolean isAutorizacaoDeRuta) { + super(); + this.isAutorizacaoDeRuta = isAutorizacaoDeRuta; + } + + public RenderCatalogoDeRutas() { + super(); + } + public void render(Listitem lstm, Object o) throws Exception { Ruta ruta = (Ruta) o; @@ -42,6 +54,11 @@ public class RenderCatalogoDeRutas implements ListitemRenderer { lc = new Listcell((ruta.getOrgaoConcedente() == null) ? "" : ruta.getOrgaoConcedente().getDescOrgao()); lc.setParent(lstm); + + if(isAutorizacaoDeRuta) { + lc = new Listcell((ruta.getStatusAutorizadora() == null) ? "" : StatusAutorizacaoRuta.buscarStatus(ruta.getStatusAutorizadora())); + lc.setParent(lstm); + } lstm.setAttribute("data", ruta); } diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresa.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresa.java index 8fb73c5d2..5cf42d614 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresa.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderEmpresa.java @@ -32,6 +32,7 @@ public class RenderEmpresa implements ListitemRenderer { Short short1 = 1; Short short2 = 2; Short short3 = 3; + Short short4 = 4; if (tipo != null) { if (tipo.equals(short1)) { lc = new Listcell(Labels.getLabel("editarEmpresaController.IndTipo.1")); @@ -39,6 +40,8 @@ public class RenderEmpresa implements ListitemRenderer { lc = new Listcell(Labels.getLabel("editarEmpresaController.IndTipo.2")); } else if (tipo.equals(short3)) { lc = new Listcell(Labels.getLabel("editarEmpresaController.IndTipo.3")); + } else if (tipo.equals(short4)) { + lc = new Listcell(Labels.getLabel("editarEmpresaController.IndTipo.4")); } } else { lc = new Listcell(Labels.getLabel("")); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaEmpresa.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaEmpresa.java index 39cafa5db..39a67164e 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaEmpresa.java +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderRutaEmpresa.java @@ -14,11 +14,18 @@ import org.zkoss.zul.ListitemRenderer; * @author Administrador */ public class RenderRutaEmpresa implements ListitemRenderer { + + private static final Short EMPRESA_OPERADORA = 4; public void render(Listitem lstm, Object o) throws Exception { RutaEmpresa rutaEmpresa = (RutaEmpresa) o; - + Listcell lc = new Listcell(rutaEmpresa.getEmpresa().getNombempresa()); + + if(rutaEmpresa.getEmpresa().getIndTipo() == EMPRESA_OPERADORA) { + lc = new Listcell(rutaEmpresa.getEmpresa().getNombempresa() + (rutaEmpresa.getEmpresaAutorizadora() != null ? " Autorizada por " + rutaEmpresa.getEmpresaAutorizadora().getNombempresa() : "")); + } + lc.setParent(lstm); lstm.setAttribute("data", rutaEmpresa); diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index df6e281a5..41d191b8c 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -160,6 +160,7 @@ indexController.mniConfiguracionReservacion.label = Configuración de reservaci indexController.mniConfiguracionCancelacion.label = Configuración de cancelación indexController.mniEsquemaOperacionalParadas.label = Paradas indexController.mniEsquemaOperacionalRuta.label = Linea +indexController.mniEsquemaOperacionalAprovacaoRuta.label = Manutenção de Operação de Linhas indexController.mniTramo.label = Tramo indexController.mniTramoKmServicio.label = Tramo Km clase indexController.mniVia.label = Via @@ -2586,6 +2587,7 @@ editarCatalogoDeParadaController.registroCVEAGRUPAMENTOPARADAexiste = Ya existe # Detener a pantalla de Búsqueda +busquedaCatalogoDeRutaManutencaoController.window.title = Manutenção de Operação de Linhas busquedaCatalogoDeRutaController.window.title = Linea busquedaCatalogoDeRutaController.btnRefresh.tooltiptext = Actualizar busquedaCatalogoDeRutaController.btnNovo.tooltiptext = Incluir @@ -2644,6 +2646,10 @@ editarCatalogoDeRutaController.lbCodigoDER.value=Seção editarCatalogoDeRutaController.lbAddBorrar.value = Incluir editarCatalogoDeRutaController.lbEmpresa.value = Empresa +editarCatalogoDeRutaController.lbEmpresaAutorizadora.value=Empresa Autorizadora +editarCatalogoDeRutaController.lbEmpresaOperadora.value=Empresa Operadora +editarCatalogoDeRutaController.lbStatusAutorizadora.value= Status + editarCatalogoDeRutaController.lbEmpresaAutorizadora.value = Empresa Autorizadora editarCatalogoDeRutaController.status.value= Status Autorização editarCatalogoDeRutaController.MSG.erroSemEmpresaAutorizadora= A empresa selecionada é OPERADORA. É necessário selecionar uma empresa AUTORIZADORA, que concederá permissão para utilização desta linha. @@ -2693,6 +2699,7 @@ editarCatalogoDeRutaController.MSG.addTramos = Incluir editarCatalogoDeRutaController.MSG.tramoInicioFim = Tramo inicial ou final no se pode eliminar editarCatalogoDeRutaController.VentaOffLine = Venta en hand held off line editarCatalogoDeRutaController.lbPrefixo.value = Prefijo +editarCatalogoDeRutaController.lbStatus.value = Status editarCatalogoDeRutaController.lbPrefixoAuxiliar.value = Prefijo Auxiliar editarCatalogoDeRutaController.radIda.value = Ida editarCatalogoDeRutaController.radVolta.value = Regreso @@ -2717,7 +2724,15 @@ editarCatalogoDeRutaController.rdAmbos.value = Ambos editarCatalogoDeRutaController.msg.validacion.vigencia.inicio=Favor Selecionar início da vigência editarCatalogoDeRutaController.msg.validacion.vigencia.fim=Favor Selecionar Final da vigência - +editarCatalogoDeRutaController.msg.orgaoLinhaJaLiberada = Linha Já está Liberada. +editarCatalogoDeRutaController.MSG.linhaLiberada = Linha Liberada para a venda com Sucesso. +editarCatalogoDeRutaController.MSG.linhaBloqueada = Linha Bloqueada para a venda com Sucesso. +editarCatalogoDeRutaController.MSG.erroAoLiberarLinha= Erro ao Liberar linha. Informe o Administrador do sistema. +editarCatalogoDeRutaController.MSG.erroAoBloquearLinha= Erro ao Bloquear linha. Informe o Administrador do sistema. +editarCatalogoDeRutaController.msg.orgaoLinhaJaBloqueada= Linha Já está Bloqueada. +editarCatalogoDeRutaController.bloquearLinhaLiberada= Linha já está Liberado, caso seja bloqueada irá interromper a venda desta linha. Deseja Bloquear? +editarCatalogoDeRutaController.btnLiberarRuta = Liberar +editarCatalogoDeRutaController.btnBloquearRuta = Bloquear # A través da pantalla de Búsqueda busquedaViaController.window.title = Via diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 14ed923ba..50f24b777 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -167,6 +167,7 @@ indexController.mniConfiguracionCancelacion.label = Configuração de Cancelamen indexController.mniEsquemaOperacionalParadas.label = Localidades indexController.mniEsquemaOperacionalAgrupacionParadas.label = Agrupar Localidades indexController.mniEsquemaOperacionalRuta.label = Linha +indexController.mniEsquemaOperacionalAprovacaoRuta.label = Manutenção de Operação de Linhas indexController.mniTramo.label = Trecho indexController.mniTramoKmServicio.label = Trecho Km Classe indexController.mniVia.label = Via @@ -2853,6 +2854,7 @@ editarCatalogoDeParadaController.registroDESCAGRUPAMENTOPARADAexiste = Já exist editarCatalogoDeParadaController.registroCVEAGRUPAMENTOPARADAexiste = Já existe um agrupamento de localidade com esse CVE # Detener a pantalla de Pesquisa +busquedaCatalogoDeRutaManutencaoController.window.title = Manutenção de Operação de Linhas busquedaCatalogoDeRutaController.window.title = Linha busquedaCatalogoDeRutaController.btnRefresh.tooltiptext = Atualizar busquedaCatalogoDeRutaController.btnNovo.tooltiptext = Incluir @@ -2873,6 +2875,16 @@ editarCatalogoDeRutaController.padraoRecorrido = Tempo Padrão editarCatalogoDeRutaController.tempoLocalidade = Tempo Localidade editarCatalogoDeRutaController.msg.orgaoConcedenteObrigatorio = É necessário informar o Órgão Concedente +editarCatalogoDeRutaController.msg.orgaoLinhaJaLiberada = Linha Já está Liberada. +editarCatalogoDeRutaController.MSG.linhaLiberada = Linha Liberada para a venda com Sucesso. +editarCatalogoDeRutaController.MSG.linhaBloqueada = Linha Bloqueada para a venda com Sucesso. +editarCatalogoDeRutaController.MSG.erroAoLiberarLinha= Erro ao Liberar linha. Informe o Administrador do sistema. +editarCatalogoDeRutaController.MSG.erroAoBloquearLinha= Erro ao Bloquear linha. Informe o Administrador do sistema. +editarCatalogoDeRutaController.msg.orgaoLinhaJaBloqueada= Linha Já está Bloqueada. +editarCatalogoDeRutaController.bloquearLinhaLiberada= Linha já está Liberado, caso seja bloqueada irá interromper a venda desta linha. Deseja Bloquear? +editarCatalogoDeRutaController.btnLiberarRuta = Liberar +editarCatalogoDeRutaController.btnBloquearRuta = Bloquear + #------------desativar retomar ruta---------------------- editarCatalogoDeRutaController.msg.rutaReativada=Linha reativada com sucesso!. editarCatalogoDeRutaController.msg.rutaCancelada=Linha desativada com sucesso! @@ -2913,6 +2925,10 @@ editarCatalogoDeRutaController.lbCodigoDER.value=Seção editarCatalogoDeRutaController.lbAddBorrar.value = Incluir editarCatalogoDeRutaController.lbEmpresa.value = Empresa +editarCatalogoDeRutaController.lbEmpresaAutorizadora.value=Empresa Autorizadora +editarCatalogoDeRutaController.lbEmpresaOperadora.value=Empresa Operadora +editarCatalogoDeRutaController.lbStatusAutorizadora.value= Status + editarCatalogoDeRutaController.lbEmpresaAutorizadora.value = Empresa Autorizadora editarCatalogoDeRutaController.status.value= Status Autorização editarCatalogoDeRutaController.MSG.erroSemEmpresaAutorizadora= A empresa selecionada é OPERADORA. É necessário selecionar uma empresa AUTORIZADORA, que concederá permissão para utilização desta linha. @@ -2967,6 +2983,7 @@ editarCatalogoDeRutaController.MSG.addTramos = Incluir editarCatalogoDeRutaController.MSG.tramoInicioFim = Trecho Inicial ou Final não pode Eliminar editarCatalogoDeRutaController.VentaOffLine = Venda em hand held off line editarCatalogoDeRutaController.lbPrefixo.value = Prefixo +editarCatalogoDeRutaController.lbStatus.value = Status editarCatalogoDeRutaController.lbPrefixoAuxiliar.value = Prefixo Auxiliar editarCatalogoDeRutaController.radIda.value = Ida editarCatalogoDeRutaController.radVolta.value = Volta diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 8088986fc..9276bccfd 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -86,6 +86,8 @@ label="${c:l('editarEmpresaController.IndTipo.2')}" /> + diff --git a/web/gui/esquema_operacional/busquedaRutaManutencao.zul b/web/gui/esquema_operacional/busquedaRutaManutencao.zul new file mode 100644 index 000000000..5b3b649b3 --- /dev/null +++ b/web/gui/esquema_operacional/busquedaRutaManutencao.zul @@ -0,0 +1,126 @@ + + + + + + + + + +