Merge pull request 'bug#al-2935' (!224) from AL2935 into master
Reviewed-on: adm/VentaBoletosAdm#224 Reviewed-by: Gleison da Cruz <gleison.cruz@totvs.com.br>master 1.10.1
commit
e98ec938d0
4
pom.xml
4
pom.xml
|
@ -4,11 +4,11 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>br.com.rjconsultores</groupId>
|
<groupId>br.com.rjconsultores</groupId>
|
||||||
<artifactId>ventaboletosadm</artifactId>
|
<artifactId>ventaboletosadm</artifactId>
|
||||||
<version>1.10.0</version>
|
<version>1.10.1</version>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<modelWeb.version>1.7.0</modelWeb.version>
|
<modelWeb.version>1.7.1</modelWeb.version>
|
||||||
<flyway.version>1.6.0</flyway.version>
|
<flyway.version>1.6.0</flyway.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
|
@ -84,6 +84,7 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
|
||||||
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
|
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal;
|
import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal;
|
||||||
|
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderConexaoPricing;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGeracaoConexionPorRuta;
|
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderGeracaoConexionPorRuta;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingAsiento;
|
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingAsiento;
|
||||||
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingCategoria;
|
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingCategoria;
|
||||||
|
@ -265,6 +266,7 @@ public class EditarPricingController extends PricingController {
|
||||||
|
|
||||||
private List<ConexionCtrl> lsConexoesCtrlList;
|
private List<ConexionCtrl> lsConexoesCtrlList;
|
||||||
private List<ParadaVOConexionRuta> conexoesPricingList;
|
private List<ParadaVOConexionRuta> conexoesPricingList;
|
||||||
|
private List<ParadaVOConexionRuta> conexoesPricingListApresentacao;
|
||||||
private List<Parada> paradasConexao;
|
private List<Parada> paradasConexao;
|
||||||
private MyListbox conexaoCtrlList;
|
private MyListbox conexaoCtrlList;
|
||||||
private List<PricingConexao> lsPricingConexao;
|
private List<PricingConexao> lsPricingConexao;
|
||||||
|
@ -1074,6 +1076,8 @@ public class EditarPricingController extends PricingController {
|
||||||
}
|
}
|
||||||
|
|
||||||
pricing.setPricingConexaoList(lsPricingConexao);
|
pricing.setPricingConexaoList(lsPricingConexao);
|
||||||
|
|
||||||
|
limparPesquisaPricingConexao(pricing.getPricingId());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gravarNovo) {
|
if (gravarNovo) {
|
||||||
|
@ -1136,6 +1140,16 @@ public class EditarPricingController extends PricingController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void limparPesquisaPricingConexao(Integer pricingId) {
|
||||||
|
try {
|
||||||
|
if(pricingId != null) {
|
||||||
|
conexionCtrlService.limparPesquisaPricingConexao(pricingId);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info("Erro ao remover pesquisa do pricing de conexao, erro: ", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Boolean isExistePricingAtivo(List<PricingConexao> lsPricingConexao2) {
|
private Boolean isExistePricingAtivo(List<PricingConexao> lsPricingConexao2) {
|
||||||
|
|
||||||
for(PricingConexao p : lsPricingConexao2) {
|
for(PricingConexao p : lsPricingConexao2) {
|
||||||
|
@ -2652,15 +2666,26 @@ public class EditarPricingController extends PricingController {
|
||||||
Parada paradaOrigem = paradaService.obtenerID(p.getOrigenId());
|
Parada paradaOrigem = paradaService.obtenerID(p.getOrigenId());
|
||||||
Parada paradaDestino = paradaService.obtenerID(p.getDestinoId());
|
Parada paradaDestino = paradaService.obtenerID(p.getDestinoId());
|
||||||
|
|
||||||
|
Boolean origem = false, destino = false;
|
||||||
|
|
||||||
if(!paradasConexao.contains(paradaOrigem)) {
|
if(!paradasConexao.contains(paradaOrigem)) {
|
||||||
paradasConexao.add(paradaOrigem);
|
paradasConexao.add(paradaOrigem);
|
||||||
|
} else {
|
||||||
|
origem = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!paradasConexao.contains(paradaDestino)) {
|
if(!paradasConexao.contains(paradaDestino)) {
|
||||||
paradasConexao.add(paradaDestino);
|
paradasConexao.add(paradaDestino);
|
||||||
|
} else {
|
||||||
|
destino = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Comboitem comboItem = new Comboitem(p.getConexionctrlId() + " : " + paradaOrigem.getDescparada() + " -> " + paradaDestino.getDescparada());
|
//Se ja foi adicionado a origem e destino nao mostra novamente.
|
||||||
|
if(origem && destino) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
Comboitem comboItem = new Comboitem(paradaOrigem.getDescparada() + " -> " + paradaDestino.getDescparada());
|
||||||
comboItem.setValue(p);
|
comboItem.setValue(p);
|
||||||
comboItem.setParent(cmbConexaoCtrl);
|
comboItem.setParent(cmbConexaoCtrl);
|
||||||
}
|
}
|
||||||
|
@ -2685,7 +2710,7 @@ public class EditarPricingController extends PricingController {
|
||||||
Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
|
Labels.getLabel("editarPricingController.window.title"), Messagebox.OK, Messagebox.INFORMATION);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
List<ParadaVOConexionRuta> novasConexoes = conexionCtrlService.carregarConexoesCadastradas(coCtrl.getConexionctrlId());
|
List<ParadaVOConexionRuta> novasConexoes = conexionCtrlService.carregarConexoesCadastradas(coCtrl.getOrigenId(), coCtrl.getDestinoId(), null);
|
||||||
|
|
||||||
if(isConexaoJaAdicionada(novasConexoes)) {
|
if(isConexaoJaAdicionada(novasConexoes)) {
|
||||||
Messagebox.show(Labels.getLabel("editarConexionController.msgConexaoJaAdicionada.value"),
|
Messagebox.show(Labels.getLabel("editarConexionController.msgConexaoJaAdicionada.value"),
|
||||||
|
@ -2693,32 +2718,74 @@ public class EditarPricingController extends PricingController {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
criarPricingConexao(coCtrl, novasConexoes);
|
criarPricingConexao(novasConexoes);
|
||||||
|
|
||||||
conexoesPricingList.addAll(novasConexoes);
|
conexoesPricingList.addAll(novasConexoes);
|
||||||
conexaoCtrlList.setData(conexoesPricingList);
|
|
||||||
conexaoCtrlList.setItemRenderer(new RenderGeracaoConexionPorRuta());
|
conexoesPricingListApresentacao = buscarDadosApresentacao(conexoesPricingList);
|
||||||
|
|
||||||
|
conexaoCtrlList.setData(conexoesPricingListApresentacao);
|
||||||
|
conexaoCtrlList.setItemRenderer(new RenderConexaoPricing());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("Erro ao adicionar nova conexao, erro: ", e);
|
log.error("Erro ao adicionar nova conexao, erro: ", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void criarPricingConexao(ConexionCtrl coCtrl, List<ParadaVOConexionRuta> novasConexoes) {
|
private List<ParadaVOConexionRuta> buscarDadosApresentacao(List<ParadaVOConexionRuta> conexoesPricingList2) {
|
||||||
PricingConexao prConexao = new PricingConexao();
|
try {
|
||||||
prConexao.setActivo(Pricing.ATIVO);
|
List<ParadaVOConexionRuta> listaApresentacao = new ArrayList<>();
|
||||||
prConexao.setConexionCtrl(coCtrl);
|
List<String> origemDestino = new ArrayList<>();
|
||||||
prConexao.setFecmodif(Calendar.getInstance().getTime());
|
|
||||||
prConexao.setPricing(pricing);
|
for(ParadaVOConexionRuta p : conexoesPricingList2) {
|
||||||
prConexao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
String parada = p.getParadaOrigem().getDescparada() + "-" + p.getParadaDestino().getDescparada();
|
||||||
|
|
||||||
lsPricingConexao.add(prConexao);
|
if(!origemDestino.contains(parada)) {
|
||||||
|
origemDestino.add(parada);
|
||||||
|
listaApresentacao.add(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return listaApresentacao;
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Erro ao buscar dados de Apresentacao: ", e);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void criarPricingConexao(List<ParadaVOConexionRuta> novasConexoes) {
|
||||||
|
|
||||||
for(ParadaVOConexionRuta nConex : novasConexoes) {
|
for(ParadaVOConexionRuta nConex : novasConexoes) {
|
||||||
|
PricingConexao prConexao = new PricingConexao();
|
||||||
|
prConexao.setActivo(Pricing.ATIVO);
|
||||||
|
|
||||||
|
ConexionCtrl coCtrl = new ConexionCtrl();
|
||||||
|
coCtrl.setConexionctrlId(nConex.getConexionCtrl().getConexionctrlId());
|
||||||
|
prConexao.setConexionCtrl(coCtrl);
|
||||||
|
|
||||||
|
prConexao.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
prConexao.setPricing(pricing);
|
||||||
|
prConexao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
|
|
||||||
|
if(!conexaoJaAdicionada(prConexao)) {
|
||||||
|
lsPricingConexao.add(prConexao);
|
||||||
|
}
|
||||||
|
|
||||||
nConex.setPricingConexao(prConexao);
|
nConex.setPricingConexao(prConexao);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean conexaoJaAdicionada(PricingConexao prCon) {
|
||||||
|
for(PricingConexao conex : lsPricingConexao) {
|
||||||
|
if(prCon.getConexionCtrl().getConexionctrlId() != null
|
||||||
|
&& prCon.getConexionCtrl().getConexionctrlId().equals(conex.getConexionCtrl().getConexionctrlId()) ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void carregarConexoesCadastradas() {
|
private void carregarConexoesCadastradas() {
|
||||||
if (lsPricingConexao.size() > 0) {
|
if (lsPricingConexao.size() > 0) {
|
||||||
|
|
||||||
|
@ -2729,7 +2796,8 @@ public class EditarPricingController extends PricingController {
|
||||||
List<ParadaVOConexionRuta> novasConexoes = new ArrayList<>();
|
List<ParadaVOConexionRuta> novasConexoes = new ArrayList<>();
|
||||||
|
|
||||||
for(PricingConexao p : lsPricingConexao) {
|
for(PricingConexao p : lsPricingConexao) {
|
||||||
List<ParadaVOConexionRuta> aux = conexionCtrlService.carregarConexoesCadastradas(p.getConexionCtrl().getConexionctrlId());
|
List<ParadaVOConexionRuta> aux = conexionCtrlService.carregarConexoesCadastradas(p.getConexionCtrl().getOrigenId(), p.getConexionCtrl().getDestinoId(),
|
||||||
|
p.getConexionCtrl().getConexionctrlId());
|
||||||
|
|
||||||
for(ParadaVOConexionRuta nConex : aux) {
|
for(ParadaVOConexionRuta nConex : aux) {
|
||||||
nConex.setPricingConexao(p);
|
nConex.setPricingConexao(p);
|
||||||
|
@ -2739,8 +2807,11 @@ public class EditarPricingController extends PricingController {
|
||||||
}
|
}
|
||||||
|
|
||||||
conexoesPricingList.addAll(novasConexoes);
|
conexoesPricingList.addAll(novasConexoes);
|
||||||
conexaoCtrlList.setData(conexoesPricingList);
|
|
||||||
conexaoCtrlList.setItemRenderer(new RenderGeracaoConexionPorRuta());
|
conexoesPricingListApresentacao = buscarDadosApresentacao(conexoesPricingList);
|
||||||
|
|
||||||
|
conexaoCtrlList.setData(conexoesPricingListApresentacao);
|
||||||
|
conexaoCtrlList.setItemRenderer(new RenderConexaoPricing());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2750,22 +2821,40 @@ public class EditarPricingController extends PricingController {
|
||||||
|
|
||||||
if (conexao != null ) {
|
if (conexao != null ) {
|
||||||
|
|
||||||
PricingConexao prConexao = conexao.getPricingConexao();
|
PricingConexao prConexaoSelecionado = conexao.getPricingConexao();
|
||||||
|
|
||||||
lsPricingConexao.remove(prConexao);
|
List<PricingConexao> prConexaoARemover = new ArrayList<>();
|
||||||
|
|
||||||
if(prConexao.getPricingConexaoId() != null) {
|
List<PricingConexao> todos = new ArrayList<>();
|
||||||
prConexao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
todos.addAll(lsPricingConexao);
|
||||||
prConexao.setFecmodif(Calendar.getInstance().getTime());
|
|
||||||
prConexao.setActivo(Pricing.EXCLUIDO);
|
//Limpa o pricing, pois o remove nao funciona pq o equals nao leva em consideracao somente origem e destino
|
||||||
|
lsPricingConexao.clear();
|
||||||
|
|
||||||
|
for(PricingConexao prConexao : todos) {
|
||||||
|
|
||||||
lsPricingConexao.add(prConexao);
|
if(isMesmaOrigemDestino(prConexao, prConexaoSelecionado)) {
|
||||||
|
|
||||||
|
if(prConexao.getPricingConexaoId() != null) {
|
||||||
|
prConexao.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
|
||||||
|
prConexao.setFecmodif(Calendar.getInstance().getTime());
|
||||||
|
prConexao.setActivo(Pricing.EXCLUIDO);
|
||||||
|
//Adiciona os que ja estao no banco de dados
|
||||||
|
lsPricingConexao.add(prConexao);
|
||||||
|
} else {
|
||||||
|
prConexaoARemover.add(prConexao);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//Adiciona os que nao sao iguais ao selecionado
|
||||||
|
lsPricingConexao.add(prConexao);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<ParadaVOConexionRuta> listaAAdicionar = new ArrayList<>();
|
List<ParadaVOConexionRuta> listaAAdicionar = new ArrayList<>();
|
||||||
|
|
||||||
for(ParadaVOConexionRuta pAdiciona : conexoesPricingList) {
|
for(ParadaVOConexionRuta pAdiciona : conexoesPricingList) {
|
||||||
if(!pAdiciona.getConexionCtrl().getConexionctrlId().equals(prConexao.getConexionCtrl().getConexionctrlId())) {
|
if(!pAdiciona.getParadaOrigem().getParadaId().equals(conexao.getParadaOrigem().getParadaId()) ||
|
||||||
|
!pAdiciona.getParadaDestino().getParadaId().equals(conexao.getParadaDestino().getParadaId()) ) {
|
||||||
listaAAdicionar.add(pAdiciona);
|
listaAAdicionar.add(pAdiciona);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2774,15 +2863,21 @@ public class EditarPricingController extends PricingController {
|
||||||
conexoesPricingList.addAll(listaAAdicionar);
|
conexoesPricingList.addAll(listaAAdicionar);
|
||||||
|
|
||||||
conexaoCtrlList.clear();
|
conexaoCtrlList.clear();
|
||||||
conexaoCtrlList.setData(conexoesPricingList);
|
|
||||||
|
conexoesPricingListApresentacao = buscarDadosApresentacao(conexoesPricingList);
|
||||||
|
conexaoCtrlList.setData(conexoesPricingListApresentacao);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isMesmaOrigemDestino(PricingConexao prConexao, PricingConexao prConexaoSelecionado) {
|
||||||
|
return prConexao.getConexionCtrl() != null && prConexao.getConexionCtrl().isOrigemDestinoIgual(prConexaoSelecionado.getConexionCtrl().getOrigenId(), prConexaoSelecionado.getConexionCtrl().getDestinoId());
|
||||||
|
}
|
||||||
|
|
||||||
private boolean isConexaoJaAdicionada(List<ParadaVOConexionRuta> novasConexoes) {
|
private boolean isConexaoJaAdicionada(List<ParadaVOConexionRuta> novasConexoes) {
|
||||||
|
|
||||||
for(ParadaVOConexionRuta p : novasConexoes) {
|
for(ParadaVOConexionRuta p : novasConexoes) {
|
||||||
for(ParadaVOConexionRuta pAdd : conexoesPricingList) {
|
for(ParadaVOConexionRuta pAdd : conexoesPricingList) {
|
||||||
if(pAdd.getConexionCtrl().getConexionctrlId().equals(p.getConexionCtrl().getConexionctrlId())) {
|
if(pAdd.getConexionCtrl().getOrigenId().equals(p.getConexionCtrl().getOrigenId()) && pAdd.getConexionCtrl().getDestinoId().equals(p.getConexionCtrl().getDestinoId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
package com.rjconsultores.ventaboletos.web.utilerias.render;
|
||||||
|
|
||||||
|
import org.zkoss.zul.Listcell;
|
||||||
|
import org.zkoss.zul.Listitem;
|
||||||
|
import org.zkoss.zul.ListitemRenderer;
|
||||||
|
|
||||||
|
import com.rjconsultores.ventaboletos.vo.parada.ParadaVOConexionRuta;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Valdir Cordeiro
|
||||||
|
*/
|
||||||
|
public class RenderConexaoPricing implements ListitemRenderer {
|
||||||
|
|
||||||
|
|
||||||
|
public void render(Listitem lstm, Object o) throws Exception {
|
||||||
|
|
||||||
|
ParadaVOConexionRuta conexion = (ParadaVOConexionRuta) o;
|
||||||
|
|
||||||
|
Listcell lc = new Listcell(conexion.getParadaOrigem().getDescparada());
|
||||||
|
lc.setParent(lstm);
|
||||||
|
|
||||||
|
lc = new Listcell(conexion.getParadaDestino().getDescparada());
|
||||||
|
lc.setParent(lstm);
|
||||||
|
|
||||||
|
|
||||||
|
lstm.setValue(conexion);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -924,26 +924,9 @@
|
||||||
pageSize="15" multiple="false" height="370px" width="100%">
|
pageSize="15" multiple="false" height="370px" width="100%">
|
||||||
<listhead>
|
<listhead>
|
||||||
<listheader
|
<listheader
|
||||||
label="${c:l('editarConexionPorRutaController.labelOrigemConexao.value')}"
|
label="${c:l('editarConexionPorRutaController.labelOrigemConexao.value')}" width="50%" />
|
||||||
width="50%" />
|
|
||||||
<listheader
|
<listheader
|
||||||
label="${c:l('editarConexionPorRutaController.labelDestinoConexao.value')}"
|
label="${c:l('editarConexionPorRutaController.labelDestinoConexao.value')}" width="50%" />
|
||||||
width="50%" />
|
|
||||||
<listheader
|
|
||||||
label="${c:l('editarConexionPorRutaController.labelOrigemTrecho.value')}"
|
|
||||||
width="50%" />
|
|
||||||
<listheader
|
|
||||||
label="${c:l('editarConexionPorRutaController.labelDestinoTrecho.value')}"
|
|
||||||
width="50%" />
|
|
||||||
<listheader
|
|
||||||
label="${c:l('editarConexionPorRutaController.labelNumRuta.value')}"
|
|
||||||
width="50%" />
|
|
||||||
<listheader align="center"
|
|
||||||
label="${c:l('editarConexionPorRutaController.labelGrupo.value')}"
|
|
||||||
width="25%" />
|
|
||||||
<listheader align="center"
|
|
||||||
label="${c:l('editarConexionPorRutaController.labelSecuencia.value')}"
|
|
||||||
width="25%" />
|
|
||||||
</listhead>
|
</listhead>
|
||||||
</listbox>
|
</listbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
|
|
Loading…
Reference in New Issue