diff --git a/pom.xml b/pom.xml index 3ccdefd25..7e21a663d 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.rjconsultores ModelWeb - 1.105.4 + 1.108.0 diff --git a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java index e49c26d85..6adab1148 100644 --- a/src/com/rjconsultores/ventaboletos/entidad/Empresa.java +++ b/src/com/rjconsultores/ventaboletos/entidad/Empresa.java @@ -467,7 +467,8 @@ public class Empresa implements Serializable, Auditavel { @Column(name = "INDQRCODEFORMMARCOREG") private Boolean indQRCodeFormMarcoReg; - + @Column(name = "INDIMPRIMETAXAEMBARQUENOCUPOM") + private Boolean indImprimeTaxaEmbarqueNoCupom; public Empresa() { super(); @@ -1699,7 +1700,13 @@ public class Empresa implements Serializable, Auditavel { public void setIndQRCodeFormMarcoReg(Boolean indQRCodeFormMarcoReg) { this.indQRCodeFormMarcoReg = indQRCodeFormMarcoReg; + } + + public Boolean getIndImprimeTaxaEmbarqueNoCupom() { + return indImprimeTaxaEmbarqueNoCupom == null ? false : indImprimeTaxaEmbarqueNoCupom; + } + + public void setIndImprimeTaxaEmbarqueNoCupom(Boolean indImprimeTaxaEmbarqueNoCupom) { + this.indImprimeTaxaEmbarqueNoCupom = indImprimeTaxaEmbarqueNoCupom; } - - } diff --git a/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java b/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java index 8d8a032da..4c3b8d69a 100644 --- a/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java +++ b/src/com/rjconsultores/ventaboletos/service/CorridaTramoService.java @@ -18,6 +18,6 @@ public interface CorridaTramoService extends GenericService criaCorridaTramoList(Autobus autobus, Date dataGeracao, Date fechorSalidaOriginalH , List lsEsquemaTramo, Nodo nodo, ClaseServicio claseServicio, String statusCorrida); - public List recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List esquemaTramoNovoList, Corrida corrida, List lsParadaEsquemaOrignal); + public List recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List esquemaTramoNovoList, Corrida corrida, List lsParadaEsquemaOrignal, Date horaSalidaOriginal); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java index 27289e82e..dfd26bf34 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/CorridaTramoServiceImpl.java @@ -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 recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List esquemaTramoNovoList, Corrida corrida, List lsEsquemaTramoOrignal) { + public List recriaCorridaTramo(EsquemaCorrida esquemaCorrida, Date dataCorrida, List esquemaTramoNovoList, Corrida corrida, List lsEsquemaTramoOrignal, Date horaSalidaOriginal) { List 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 - if(!validaTramoInexistenteServicoComVenda(esquemaCorrida, dataCorrida, lsEsquemaTramoOrignal, corridaTramoListAntigas)) { - return corridaTramoListAntigas; + + 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; + } } diff --git a/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java b/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java index f5b92e98c..33ef4e9a6 100644 --- a/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java +++ b/src/com/rjconsultores/ventaboletos/utilerias/CustomEnum.java @@ -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; diff --git a/src/com/rjconsultores/ventaboletos/vo/configuracioneccomerciales/VoucherVO.java b/src/com/rjconsultores/ventaboletos/vo/configuracioneccomerciales/VoucherVO.java index c3793dae2..835bb02a8 100644 --- a/src/com/rjconsultores/ventaboletos/vo/configuracioneccomerciales/VoucherVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/configuracioneccomerciales/VoucherVO.java @@ -88,6 +88,14 @@ public class VoucherVO implements Serializable { return SituacaoVoucher.buscarPeloValor(status); } + public String getNumContrato() { + return this.contrato.getNumContrato(); + } + + public String getSituacao() { + return SituacaoVoucher.buscarPeloValor(status).getDescricao(); + } + public String getTrecho() { return descOrigem +" X "+descDestino; }