From 778c7f99b562e8d45fa2f580c65e65af9c1291cd Mon Sep 17 00:00:00 2001 From: "valdir.cordeiro" Date: Fri, 27 Oct 2023 10:36:58 -0300 Subject: [PATCH] =?UTF-8?q?bug#al-3150=20JCA=20-=20Espec=20Inativar=20Serv?= =?UTF-8?q?i=C3=A7os=20dev:=20qua:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../ventaboletos/dao/EsquemaCorridaDAO.java | 2 ++ .../hibernate/EsquemaCorridaHibernateDAO.java | 18 +++++++++++++++++- .../ventaboletos/entidad/EsquemaCorrida.java | 10 ++++++++++ .../service/EsquemaCorridaService.java | 2 ++ .../service/impl/CorridaServiceImpl.java | 18 ++++++++++++++++++ .../impl/EsquemaCorridaServiceImpl.java | 5 +++++ 7 files changed, 55 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 207c60083..c959ebee1 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.17.2 + 1.18.0 diff --git a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java index 6ba98fc9b..d255b5a52 100644 --- a/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/EsquemaCorridaDAO.java @@ -114,4 +114,6 @@ public interface EsquemaCorridaDAO extends GenericDAO { */ public EsquemaCorrida buscarEsquemaPeloHijoRebote(EsquemaCorrida esquemaCorrida); + public List buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal); + } diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java index 0bc506600..33466101e 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/EsquemaCorridaHibernateDAO.java @@ -4,7 +4,6 @@ */ package com.rjconsultores.ventaboletos.dao.hibernate; -import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -63,6 +62,23 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal) { + StringBuilder sb = new StringBuilder(); + sb.append("from EsquemaCorrida ec where ec.empresa.empresaId= :empresaId and activo = 1"); + sb.append(" and (ec.indCorridaDesativada is null or ec.indCorridaDesativada = 0) "); + sb.append(" and ( :dataGeracaoInicial between ec.esquemaOperacional.fecniciovigencia and ec.esquemaOperacional.fecfinvigencia "); + sb.append(" or :dataGeracaoFinal between ec.esquemaOperacional.fecniciovigencia and ec.esquemaOperacional.fecfinvigencia )"); + + Query qry = getSession().createQuery(sb.toString()); + qry.setInteger("empresaId", empresa.getEmpresaId()); + qry.setDate("dataGeracaoInicial", dataGeracaoInicial); + qry.setDate("dataGeracaoFinal", dataGeracaoFinal); + + return qry.list(); + } @Override public List buscarPorEsquemaOperacional( diff --git a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java index 115f1ba22..10fc17a1c 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java +++ b/src/com/rjconsultores/ventaboletos/entidad/EsquemaCorrida.java @@ -259,6 +259,9 @@ public class EsquemaCorrida implements Serializable, Auditavel { @Column(name = "INDNAOIMPRIMEBPE") private String indNaoImprimeBpe; + @Column(name = "INDCORRIDADESATIVADA") + private Boolean indCorridaDesativada; + public enum GerarFeriado { // Declaração dos enum GERARSEMPRE("GERAR SEMPRE", "S"), @@ -931,5 +934,12 @@ public class EsquemaCorrida implements Serializable, Auditavel { this.lsEsquemaCorridaInfo = lsEsquemaCorridaInfo; } + public Boolean getIndCorridaDesativada() { + return indCorridaDesativada == null ? false : indCorridaDesativada; + } + + public void setIndCorridaDesativada(Boolean indCorridaDesativada) { + this.indCorridaDesativada = indCorridaDesativada; + } } \ No newline at end of file diff --git a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java index e5c3c6bfa..bf6ea9327 100644 --- a/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java +++ b/src/com/rjconsultores/ventaboletos/service/EsquemaCorridaService.java @@ -58,4 +58,6 @@ public interface EsquemaCorridaService extends GenericService buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java index 6354e7f80..bc1292b3b 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaServiceImpl.java @@ -1008,6 +1008,12 @@ public class CorridaServiceImpl implements CorridaService { } } + if(esquemaCorrida.getIndCorridaDesativada()) { + log.info("Corrida desativada nao sera gerada. " + esquemaCorrida.getEsquemacorridaId() + " numCorrida=" + esquemaCorrida.getNumCorrida()); + corridaGerada = false; + continue; + } + Boolean isFeriado = this.isFeriado(data, esquemaCorrida); corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado); @@ -1041,6 +1047,12 @@ public class CorridaServiceImpl implements CorridaService { String mensagemLog = String.format("Esquema/Corrida primeiro piso: %s/%s ; Esquema/Corrida segundo piso: %s/%s ",esquemaCorrida.getEsquemacorridaId(),esquemaCorrida.getNumCorrida(), esquemaCorridaSegundoPiso.getEsquemacorridaId(),esquemaCorridaSegundoPiso.getNumCorrida() ); log.info(mensagemLog); + if(esquemaCorridaSegundoPiso.getIndCorridaDesativada()) { + log.info("Corrida desativada nao sera gerada. " + esquemaCorrida.getEsquemacorridaId() + " numCorrida=" + esquemaCorrida.getNumCorrida()); + corridaGerada = false; + continue; + } + corridaPisoExtra = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado); Boolean atualizarPisoExtra = false; @@ -1065,6 +1077,12 @@ public class CorridaServiceImpl implements CorridaService { mensagemLog = String.format("Esquema/Corrida primeiro piso: %s/%s ; Esquema/Corrida terceiro piso: %s/%s ",esquemaCorrida.getEsquemacorridaId(),esquemaCorrida.getNumCorrida(), esquemaCorridaTerceiroPiso.getEsquemacorridaId(),esquemaCorridaTerceiroPiso.getNumCorrida() ); log.info(mensagemLog); + if(esquemaCorridaTerceiroPiso.getIndCorridaDesativada()) { + log.info("Corrida desativada nao sera gerada. " + esquemaCorrida.getEsquemacorridaId() + " numCorrida=" + esquemaCorrida.getNumCorrida()); + corridaGerada = false; + continue; + } + corridaPisoExtra2 = generarCorrida(esquemaCorridaTerceiroPiso, dataGeracao, true, isFeriado); atualizarPisoExtra = false; diff --git a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java index f753c5b39..271339cc7 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/EsquemaCorridaServiceImpl.java @@ -78,6 +78,11 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService { public List buscarPorEmpresaCorrida(Empresa empresa) { return esquemaCorridaDAO.buscarPorEmpresaCorrida(empresa); } + + @Override + public List buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal) { + return esquemaCorridaDAO.buscarPorEmpresaCorridaAtiva(empresa, dataGeracaoInicial, dataGeracaoFinal); + } @Transactional public EsquemaCorrida suscribir(EsquemaCorrida entidad) {