# Conflicts:
#	pom.xml
master
Gleison da Cruz 2023-07-19 09:25:07 -03:00
commit 86edf00b7d
12 changed files with 275 additions and 56 deletions

View File

@ -8,8 +8,8 @@
<packaging>war</packaging> <packaging>war</packaging>
<properties> <properties>
<modelWeb.version>1.6.12</modelWeb.version> <modelWeb.version>1.7.1</modelWeb.version>
<flyway.version>1.5.2</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>
</properties> </properties>

View File

@ -546,13 +546,14 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
sql.append(" INNER JOIN CIUDAD CD ON CD.CIUDAD_ID = PR.CIUDAD_ID "); sql.append(" INNER JOIN CIUDAD CD ON CD.CIUDAD_ID = PR.CIUDAD_ID ");
sql.append(" INNER JOIN ESTADO ES ON ES.ESTADO_ID = CD.ESTADO_ID "); sql.append(" INNER JOIN ESTADO ES ON ES.ESTADO_ID = CD.ESTADO_ID ");
sql.append(" INNER JOIN TIPO_PTOVTA TP ON TP.TIPOPTOVTA_ID = PV.TIPOPTOVTA_ID"); sql.append(" INNER JOIN TIPO_PTOVTA TP ON TP.TIPOPTOVTA_ID = PV.TIPOPTOVTA_ID");
sql.append(" WHERE PC.EMPRESA_ID = :EMPRESA_ID "); sql.append(" WHERE PC.ACTIVO = 1 ");
sql.append(" AND PC.PUNTOVENTA_ID = :PUNTOVENTA_ID "); sql.append(" AND PC.PUNTOVENTA_ID = :PUNTOVENTA_ID ");
sql.append(" AND PC.ACTIVO = 1 "); if (empresaId > 0)
sql.append(" AND PC.EMPRESA_ID = :EMPRESA_ID ");
NamedParameterStatement stmt = new NamedParameterStatement(this.getConexao(), sql.toString()); NamedParameterStatement stmt = new NamedParameterStatement(this.getConexao(), sql.toString());
stmt.setInt("PUNTOVENTA_ID", puntoVentaId); stmt.setInt("PUNTOVENTA_ID", puntoVentaId);
stmt.setInt("EMPRESA_ID", empresaId); if (empresaId > 0)
stmt.setInt("EMPRESA_ID", empresaId);
ResultSet rs = stmt.executeQuery(); ResultSet rs = stmt.executeQuery();
@ -599,12 +600,13 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio {
sqlParam.append(" SELECT EM.NOMBEMPRESA, PV.NOMBPUNTOVENTA, PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA "); sqlParam.append(" SELECT EM.NOMBEMPRESA, PV.NOMBPUNTOVENTA, PV.PUNTOVENTA_ID, PV.NUMPUNTOVENTA ");
sqlParam.append(" FROM EMPRESA EM, "); sqlParam.append(" FROM EMPRESA EM, ");
sqlParam.append(" PUNTO_VENTA PV "); sqlParam.append(" PUNTO_VENTA PV ");
sqlParam.append(" WHERE EM.EMPRESA_ID = :EMPRESA_ID "); sqlParam.append(" WHERE PV.PUNTOVENTA_ID = :PUNTOVENTA_ID ");
sqlParam.append(" AND PV.PUNTOVENTA_ID = :PUNTOVENTA_ID "); if (empresaId > 0)
sqlParam.append(" AND EM.EMPRESA_ID = :EMPRESA_ID ");
NamedParameterStatement stmtParam = new NamedParameterStatement(this.getConexao(), sqlParam.toString()); NamedParameterStatement stmtParam = new NamedParameterStatement(this.getConexao(), sqlParam.toString());
stmtParam.setInt("PUNTOVENTA_ID", puntoVentaId); stmtParam.setInt("PUNTOVENTA_ID", puntoVentaId);
stmtParam.setInt("EMPRESA_ID", empresaId); if (empresaId > 0)
stmtParam.setInt("EMPRESA_ID", empresaId);
ResultSet rsParam = stmtParam.executeQuery(); ResultSet rsParam = stmtParam.executeQuery();

View File

@ -12,6 +12,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSecretaria; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSecretaria;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -37,6 +39,8 @@ public class BusquedaSecretariaController extends MyGenericForwardComposer {
private Paging pagingSecretaria; private Paging pagingSecretaria;
private Textbox txtDescSecretaria; private Textbox txtDescSecretaria;
private Textbox txtCveSecretaria; private Textbox txtCveSecretaria;
private Textbox txtCnpj;
public Paging getPagingSecretaria() { public Paging getPagingSecretaria() {
return pagingSecretaria; return pagingSecretaria;
@ -109,6 +113,9 @@ public class BusquedaSecretariaController extends MyGenericForwardComposer {
pagingSecretaria.getPageSize()); pagingSecretaria.getPageSize());
secretariaBusqueda.addFilterEqual("activo", Boolean.TRUE); secretariaBusqueda.addFilterEqual("activo", Boolean.TRUE);
if( StringUtils.isNotBlank(txtCnpj.getText()))
secretariaBusqueda.addFilterEqual("cnpj", txtCnpj.getText());
secretariaBusqueda.addFilterLike("descsecretaria", secretariaBusqueda.addFilterLike("descsecretaria",
"%" + txtDescSecretaria.getText().trim().concat("%")); "%" + txtDescSecretaria.getText().trim().concat("%"));

View File

@ -13,6 +13,8 @@ import java.util.List;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.brazilutils.br.cpfcnpj.Cnpj;
import org.brazilutils.validation.ValidationException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -26,15 +28,19 @@ import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox; import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Longbox; import org.zkoss.zul.Longbox;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Radio; import org.zkoss.zul.Radio;
import org.zkoss.zul.Row; import org.zkoss.zul.Row;
import org.zkoss.zul.Textbox; import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.entidad.Constante;
import com.rjconsultores.ventaboletos.entidad.CuponSecretaria; import com.rjconsultores.ventaboletos.entidad.CuponSecretaria;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.entidad.FormaPago; import com.rjconsultores.ventaboletos.entidad.FormaPago;
import com.rjconsultores.ventaboletos.entidad.Secretaria; import com.rjconsultores.ventaboletos.entidad.Secretaria;
import com.rjconsultores.ventaboletos.entidad.SecretariaEmpresa; import com.rjconsultores.ventaboletos.entidad.SecretariaEmpresa;
import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.CuponSecretariaService; import com.rjconsultores.ventaboletos.service.CuponSecretariaService;
import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.FormaPagoService; import com.rjconsultores.ventaboletos.service.FormaPagoService;
@ -45,6 +51,7 @@ import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox;
import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal; import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCuponSecretaria; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCuponSecretaria;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSecretariaEmpresa; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSecretariaEmpresa;
@ -88,6 +95,7 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
private Longbox txtRUT; private Longbox txtRUT;
private Textbox txtDirSecretaria; private Textbox txtDirSecretaria;
private Textbox txtCiudad; private Textbox txtCiudad;
private MyTextbox txtCNPJ;
private Button btnApagar; private Button btnApagar;
private Button btnAdicionarCuponSecretaria; private Button btnAdicionarCuponSecretaria;
private Radio rdPrecioTotal; private Radio rdPrecioTotal;
@ -97,6 +105,9 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
private Checkbox chkValidaSerieSubserie; private Checkbox chkValidaSerieSubserie;
private Checkbox chkVoucherRod; private Checkbox chkVoucherRod;
private MyComboboxEstandar cmbEmpresa; private MyComboboxEstandar cmbEmpresa;
@Autowired
private ConstanteService constanteService;
private static Logger log = Logger.getLogger(EditarSecretariaController.class); private static Logger log = Logger.getLogger(EditarSecretariaController.class);
private Row rowComboFormaPago; private Row rowComboFormaPago;
@ -306,6 +317,7 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
txtRUT.setValue(secretaria.getRut()); txtRUT.setValue(secretaria.getRut());
txtDirSecretaria.setText(secretaria.getDireccion()); txtDirSecretaria.setText(secretaria.getDireccion());
txtCiudad.setText(secretaria.getCiudad()); txtCiudad.setText(secretaria.getCiudad());
txtCNPJ.setText(secretaria.getCnpj());
} }
rowComboFormaPago.setVisible(chkVoucherRod.isChecked()); rowComboFormaPago.setVisible(chkVoucherRod.isChecked());
@ -396,7 +408,21 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
txtDescSecretaria.getValue(); txtDescSecretaria.getValue();
txtCveSecretaria.getValue(); txtCveSecretaria.getValue();
cmbFormaPago.getValue(); cmbFormaPago.getValue();
try { try {
if (isCnpjObrigatorioOrdemDeSevico() && StringUtils.isBlank(txtCNPJ.getText())) {
String msg = "editarSecretariaController.cnjp.CNPJincorreto";
Messagebox.show(Labels.getLabel(msg), Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
} else if (!(!isCnpjObrigatorioOrdemDeSevico() && StringUtils.isBlank(txtCNPJ.getText()))) {
if (!validarCPFCNPJ(txtCNPJ.getText())) {
txtCNPJ.focus();
return;
} else {
secretaria.setCnpj(txtCNPJ.getText());
}
}
FormaPago formaPago = cmbFormaPago.getSelectedItem() != null ? (FormaPago) cmbFormaPago.getSelectedItem().getValue() : null; FormaPago formaPago = cmbFormaPago.getSelectedItem() != null ? (FormaPago) cmbFormaPago.getSelectedItem().getValue() : null;
@ -450,6 +476,7 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
} else if (rdPrecioTotal.isChecked()) { } else if (rdPrecioTotal.isChecked()) {
secretaria.setImprimeprecio(Secretaria.PRECIO_TOTAL); secretaria.setImprimeprecio(Secretaria.PRECIO_TOTAL);
} }
boolean podeSalvar = false; boolean podeSalvar = false;
List<Secretaria> lsSecretaria = secretariaService.buscar(secretaria.getDescsecretaria()); List<Secretaria> lsSecretaria = secretariaService.buscar(secretaria.getDescsecretaria());
if (lsSecretaria.isEmpty()) { if (lsSecretaria.isEmpty()) {
@ -788,6 +815,55 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
secretaria.setLsCuponSecretaria(lsCuponSecretaria); secretaria.setLsCuponSecretaria(lsCuponSecretaria);
} }
} }
private boolean validarCPFCNPJ(String numDoc) {
try {
String msg = "";
if (numDoc == null || StringUtils.isBlank(numDoc) || numDoc.length() != 14) {
msg = "editarSecretariaController.cnjp.CNPJincorreto";
} else {
numDoc = numDoc.trim();
if (!isCNPJValido(numDoc)) {
msg = "editarSecretariaController.cnjp.CNPJincorreto";
}
}
if (StringUtils.isNotBlank(msg)) {
Messagebox.show(Labels.getLabel(msg), Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return false;
}
return true;
} catch (Exception e) {
log.error("Erro ao validar CPF/CNPJ: ", e);
return false;
}
}
private Boolean isCNPJValido(String numDoc) {
try {
Cnpj cnpj = new Cnpj(numDoc);
if(!cnpj.isValid()) {
return false;
}
} catch (ValidationException e) {
return false;
}
return true;
}
public Boolean isCnpjObrigatorioOrdemDeSevico() {
Constante constante = constanteService.buscarPorNomeConstante(Constantes.CNPJ_OBRIGATORIO_ORDEN_SERVICO);
if(constante != null) {
return Boolean.valueOf(constante.getValorconstante());
}
return false;
}
public void onCheck$chkVoucherRod(Event event) { public void onCheck$chkVoucherRod(Event event) {
rowComboFormaPago.setVisible(chkVoucherRod.isChecked()); rowComboFormaPago.setVisible(chkVoucherRod.isChecked());

View File

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

View File

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

View File

@ -5762,6 +5762,9 @@ editarSecretariaController.MSG.registroTraslapado = O número do documento infor
editarSecretariaController.MSG.pocentaje = Mais de um desconto permitido para rango de passagens diferentes editarSecretariaController.MSG.pocentaje = Mais de um desconto permitido para rango de passagens diferentes
editarSecretariaController.MSG.necessarioRemoverCupon.value = Existe registro com número de documento vazio, para validar documento é necessário apagar estes registros. editarSecretariaController.MSG.necessarioRemoverCupon.value = Existe registro com número de documento vazio, para validar documento é necessário apagar estes registros.
editarSecretariaController.MSG.voucherRodSemFormaPago.value=E Necessário escolher uma forma de pagamento quando marcado o registro como Voucher Rodoviaria. editarSecretariaController.MSG.voucherRodSemFormaPago.value=E Necessário escolher uma forma de pagamento quando marcado o registro como Voucher Rodoviaria.
editarSecretariaController.cnjp.CNPJincorreto=CNPJ inválido, verifique o campo.
editarSecretariaController.cnpj.label=CNPJ
# Pesquisa Cidade # Pesquisa Cidade
busquedaCiudadController.window.title = Cidade busquedaCiudadController.window.title = Cidade

View File

@ -5447,6 +5447,8 @@ editarSecretariaController.MSG.voucherRodDuplicado.value = Já existe um registr
editarSecretariaController.MSG.registroTraslapado = El numero de documento informado se traslapa con otro ya existente editarSecretariaController.MSG.registroTraslapado = El numero de documento informado se traslapa con otro ya existente
editarSecretariaController.MSG.pocentaje = Mas de un descuento permitido para rango de pasajes distintos editarSecretariaController.MSG.pocentaje = Mas de un descuento permitido para rango de pasajes distintos
editarSecretariaController.MSG.voucherRodSemFormaPago.value=Es necesario elegir una forma de pago cuando el registro está marcado como Voucher Rodoviaria. editarSecretariaController.MSG.voucherRodSemFormaPago.value=Es necesario elegir una forma de pago cuando el registro está marcado como Voucher Rodoviaria.
editarSecretariaController.cnjp.CNPJincorreto=CNPJ inválido, verifique o campo.
editarSecretariaController.cnpj.label=CNPJ
# Búsqueda Ciudad # Búsqueda Ciudad
busquedaCiudadController.window.title = Ciudad busquedaCiudadController.window.title = Ciudad

View File

@ -5736,6 +5736,7 @@ busquedaSecretariaController.btnNovo.tooltiptext = Incluir
busquedaSecretariaController.btnCerrar.tooltiptext = Fechar busquedaSecretariaController.btnCerrar.tooltiptext = Fechar
busquedaSecretariaController.DescSecretaria.label = Descrição busquedaSecretariaController.DescSecretaria.label = Descrição
busquedaSecretariaController.SecretariaID.label = ID busquedaSecretariaController.SecretariaID.label = ID
busquedaSecretariaController.cnpj.label = CNPJ
busquedaSecretariaController.CveSecretaria.label = Código Secretaria busquedaSecretariaController.CveSecretaria.label = Código Secretaria
busquedaSecretariaController.btnPesquisa.label = Pesquisa busquedaSecretariaController.btnPesquisa.label = Pesquisa
busquedaSecretariaController.validafolio.label = Validar Número do Documento busquedaSecretariaController.validafolio.label = Validar Número do Documento
@ -5784,6 +5785,8 @@ editarSecretariaController.MSG.registroTraslapado = O número do documento infor
editarSecretariaController.MSG.pocentaje = Mais de um desconto permitido para rango de passagens diferentes editarSecretariaController.MSG.pocentaje = Mais de um desconto permitido para rango de passagens diferentes
editarSecretariaController.MSG.necessarioRemoverCupon.value = Existe registro com número de documento vazio, para validar documento é necessário apagar estes registros. editarSecretariaController.MSG.necessarioRemoverCupon.value = Existe registro com número de documento vazio, para validar documento é necessário apagar estes registros.
editarSecretariaController.MSG.voucherRodSemFormaPago.value=E Necessário escolher uma forma de pagamento quando marcado o registro como Voucher Rodoviaria. editarSecretariaController.MSG.voucherRodSemFormaPago.value=E Necessário escolher uma forma de pagamento quando marcado o registro como Voucher Rodoviaria.
editarSecretariaController.cnjp.CNPJincorreto=CNPJ inválido, verifique o campo.
editarSecretariaController.cnpj.label=CNPJ
# Pesquisa Cidade # Pesquisa Cidade
busquedaCiudadController.window.title = Cidade busquedaCiudadController.window.title = Cidade

View File

@ -33,6 +33,11 @@
<label value="${c:l('busquedaSecretariaController.CveSecretaria.label')}"/> <label value="${c:l('busquedaSecretariaController.CveSecretaria.label')}"/>
<textbox id="txtCveSecretaria" width="200px" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"/> <textbox id="txtCveSecretaria" width="200px" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"/>
</row> </row>
<row>
<label value="${c:l('busquedaSecretariaController.cnpj.label')}"/>
<textbox id="txtCnpj" width="200px" use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"/>
</row>
</rows> </rows>
</grid> </grid>

View File

@ -56,6 +56,14 @@
value="@{winEditarSecretaria$composer.secretaria.cvesecretaria}" value="@{winEditarSecretaria$composer.secretaria.cvesecretaria}"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" /> use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row> </row>
<row>
<label
value="${c:l('editarSecretariaController.cnpj.label')}" />
<textbox id="txtCNPJ" width="100px"
maxlength="14"
value="@{winEditarSecretaria$composer.secretaria.cnpj}"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</row>
<row> <row>
<label <label
value="${c:l('editarSecretariaController.lbRut.value')}" /> value="${c:l('editarSecretariaController.lbRut.value')}" />

View File

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