Merge pull request 'fixes bug#AL-4315' (!275) from AL-4315 into master

Reviewed-on: adm/ModelWeb#275
Reviewed-by: Célio de Souza Ribeiro JR <celio@rjconsultores.com.br>
master
wallace 2024-09-13 23:16:38 +00:00
commit 214b8ace59
4 changed files with 34 additions and 6 deletions

View File

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

View File

@ -18,6 +18,6 @@ public interface CorridaTramoService extends GenericService<CorridaTramo, Intege
public List<CorridaTramo> criaCorridaTramoList(Autobus autobus, Date dataGeracao, Date fechorSalidaOriginalH ,
List<EsquemaTramo> lsEsquemaTramo, Nodo nodo, ClaseServicio claseServicio, String statusCorrida);
public List<CorridaTramo> recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List<EsquemaTramo> esquemaTramoNovoList, Corrida corrida, List<EsquemaTramo> lsParadaEsquemaOrignal);
public List<CorridaTramo> recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List<EsquemaTramo> esquemaTramoNovoList, Corrida corrida, List<EsquemaTramo> lsParadaEsquemaOrignal, Date horaSalidaOriginal);
}

View File

@ -1,5 +1,6 @@
package com.rjconsultores.ventaboletos.service.impl;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
@ -33,6 +34,8 @@ import com.rjconsultores.ventaboletos.service.CorridaService;
import com.rjconsultores.ventaboletos.service.CorridaTramoService;
import com.rjconsultores.ventaboletos.service.TramoServicioService;
import com.rjconsultores.ventaboletos.utilerias.ActivoUtil;
import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties;
import com.rjconsultores.ventaboletos.utilerias.CustomEnum;
import com.rjconsultores.ventaboletos.utilerias.DateUtil;
import com.rjconsultores.ventaboletos.utilerias.HoraSistema;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
@ -100,11 +103,16 @@ public class CorridaTramoServiceImpl implements CorridaTramoService {
@Override
@Transactional
public List<CorridaTramo> recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List<EsquemaTramo> esquemaTramoNovoList, Corrida corrida, List<EsquemaTramo> lsEsquemaTramoOrignal) {
public List<CorridaTramo> recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List<EsquemaTramo> esquemaTramoNovoList, Corrida corrida, List<EsquemaTramo> lsEsquemaTramoOrignal, Date horaSalidaOriginal) {
List<CorridaTramo> corridaTramoListAntigas = corridaTramoDAO.buscaCorridaTramoByFecCorridaECorridaId(dataCorrida, esquemaCorrida.getNumCorrida(), false);
//Caso encontre nas CorridaTramo existente algum trecho vendido que não está nas configurações do serviço retorna null
boolean permiteRecriarCorridaTramo= !isPermiteAlterarHorarioCorridaComVendas() ? Boolean.TRUE : (isPermiteAlterarHorarioCorridaComVendas() && validarSeHorarioCorridaFoiAlterado(esquemaCorrida.getHorasalida(), horaSalidaOriginal)? Boolean.FALSE :Boolean.TRUE);
if(permiteRecriarCorridaTramo) {
if(!validaTramoInexistenteServicoComVenda(esquemaCorrida, dataCorrida, lsEsquemaTramoOrignal, corridaTramoListAntigas)) {
return corridaTramoListAntigas;
};
}
inativaCorridasTramos(corridaTramoListAntigas);
@ -529,4 +537,22 @@ public class CorridaTramoServiceImpl implements CorridaTramoService {
}
return lsCorridaTramo;
}
private boolean validarSeHorarioCorridaFoiAlterado(Date horaSalidaAtual, Date horaSalidaOriginal) {
try {
if(DateUtil.isIgual(DateUtil.getDateFromString(DateUtil.getStringDate(horaSalidaAtual,DateUtil.HHmm), DateUtil.HHmm),DateUtil.getDateFromString(DateUtil.getStringDate(horaSalidaOriginal,DateUtil.HHmm), DateUtil.HHmm))) {
return Boolean.FALSE;
}
} catch (ParseException e) {
log.error("Erro ao fazer parse :"+e);
return Boolean.FALSE;
}
return Boolean.TRUE;
}
private boolean isPermiteAlterarHorarioCorridaComVendas() {
if (ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_PERMITE_ALTERAR_HORARIO_CORRIDA_COM_VENDAS.getDescricao(), Boolean.FALSE)) {
return Boolean.TRUE;
}
return Boolean.FALSE;
}
}

View File

@ -164,7 +164,9 @@ public enum CustomEnum {
*
* @return
*/
USA_BLOQUEIO_TRECHO_CONEXAO("usaBloqueioTrechoConexao");
USA_BLOQUEIO_TRECHO_CONEXAO("usaBloqueioTrechoConexao"),
IS_PERMITE_ALTERAR_HORARIO_CORRIDA_COM_VENDAS("isPermiteAlterarHorarioCorridaComVendas");
private String descricao;