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> <modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId> <groupId>br.com.rjconsultores</groupId>
<artifactId>ModelWeb</artifactId> <artifactId>ModelWeb</artifactId>
<version>1.17.2</version> <version>1.18.0</version>
<distributionManagement> <distributionManagement>
<repository> <repository>

View File

@ -114,4 +114,6 @@ public interface EsquemaCorridaDAO extends GenericDAO<EsquemaCorrida, Integer> {
*/ */
public EsquemaCorrida buscarEsquemaPeloHijoRebote(EsquemaCorrida esquemaCorrida); 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; package com.rjconsultores.ventaboletos.dao.hibernate;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -63,6 +62,23 @@ public class EsquemaCorridaHibernateDAO extends GenericHibernateDAO<EsquemaCorri
return qry.list(); 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 @Override
public List<EsquemaCorrida> buscarPorEsquemaOperacional( public List<EsquemaCorrida> buscarPorEsquemaOperacional(

View File

@ -259,6 +259,9 @@ public class EsquemaCorrida implements Serializable, Auditavel<EsquemaCorrida> {
@Column(name = "INDNAOIMPRIMEBPE") @Column(name = "INDNAOIMPRIMEBPE")
private String indNaoImprimeBpe; private String indNaoImprimeBpe;
@Column(name = "INDCORRIDADESATIVADA")
private Boolean indCorridaDesativada;
public enum GerarFeriado { public enum GerarFeriado {
// Declaração dos enum // Declaração dos enum
GERARSEMPRE("GERAR SEMPRE", "S"), GERARSEMPRE("GERAR SEMPRE", "S"),
@ -931,5 +934,12 @@ public class EsquemaCorrida implements Serializable, Auditavel<EsquemaCorrida> {
this.lsEsquemaCorridaInfo = lsEsquemaCorridaInfo; 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 obtenerByEsquemaCorrida(Integer numCorrida);
public EsquemaCorrida buscaEsquemaPorRutaSemVigencia(Integer rutaId, 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); Boolean isFeriado = this.isFeriado(data, esquemaCorrida);
corrida = generarCorrida(esquemaCorrida, dataGeracao, false, isFeriado); 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() ); 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); 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); corridaPisoExtra = generarCorrida(esquemaCorridaSegundoPiso, dataGeracao, true, isFeriado);
Boolean atualizarPisoExtra = false; 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() ); 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); 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); corridaPisoExtra2 = generarCorrida(esquemaCorridaTerceiroPiso, dataGeracao, true, isFeriado);
atualizarPisoExtra = false; atualizarPisoExtra = false;

View File

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