Merge pull request 'bug#al-3150' (!105) from AL-3150 into master

Reviewed-on: adm/ModelWeb#105
Reviewed-by: pinheiro <valdevir@rjconsultores.com.br>
master
Valdir Cordeiro 2023-10-27 13:42:00 +00:00
commit 45d87fa0f3
7 changed files with 55 additions and 2 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId>
<version>1.17.2</version>
<version>1.18.0</version>
<distributionManagement>
<repository>

View File

@ -114,4 +114,6 @@ public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
*/
public EsquemaCorrida buscarEsquemaPeloHijoRebote(EsquemaCorrida esquemaCorrida);
public List<EsquemaCorrida> buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal);
}

View File

@ -4,7 +4,6 @@
*/
package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -64,6 +63,23 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return qry.list();
}
@SuppressWarnings("unchecked")
@Override
public List<EsquemaCorrida> 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<EsquemaCorrida> buscarPorEsquemaOperacional(
EsquemaOperacional eo) {

View File

@ -259,6 +259,9 @@ public class EsquemaCorrida implements Serializable, Auditavel<EsquemaCorrida> {
@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<EsquemaCorrida> {
this.lsEsquemaCorridaInfo = lsEsquemaCorridaInfo;
}
public Boolean getIndCorridaDesativada() {
return indCorridaDesativada == null ? false : indCorridaDesativada;
}
public void setIndCorridaDesativada(Boolean indCorridaDesativada) {
this.indCorridaDesativada = indCorridaDesativada;
}
}

View File

@ -58,4 +58,6 @@ public interface EsquemaCorridaService extends GenericService<EsquemaCorrida, In
public EsquemaCorrida obtenerByEsquemaCorrida(Integer numCorrida);
public EsquemaCorrida buscaEsquemaPorRutaSemVigencia(Integer rutaId, Integer numCorrida);
public List<EsquemaCorrida> buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal);
}

View File

@ -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;

View File

@ -79,6 +79,11 @@ public class EsquemaCorridaServiceImpl implements EsquemaCorridaService {
return esquemaCorridaDAO.buscarPorEmpresaCorrida(empresa);
}
@Override
public List<EsquemaCorrida> buscarPorEmpresaCorridaAtiva(Empresa empresa, Date dataGeracaoInicial, Date dataGeracaoFinal) {
return esquemaCorridaDAO.buscarPorEmpresaCorridaAtiva(empresa, dataGeracaoInicial, dataGeracaoFinal);
}
@Transactional
public EsquemaCorrida suscribir(EsquemaCorrida entidad) {
List<EsquemaAsiento> asientos = new ArrayList<EsquemaAsiento>();