bug #0009077 - corrigido os erros, commit na trunk

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@70996 d1611594-4594-4d17-8e1d-87c2c4800839
master
bruno.neves 2017-07-04 20:39:32 +00:00
parent 89a6e64b8c
commit c2c4b1d086
13 changed files with 553 additions and 64 deletions

View File

@ -175,6 +175,8 @@ public class EditarPricingController extends MyGenericForwardComposer {
private Combobox cmbEmpresa;
private Radio rdTransSi;
private Radio rdTransNo;
private Radio rdExibirVendaSi;
private Radio rdExibirVendaNo;
private Radio rdCanceSi;
private Radio rdCanceNo;
private Radio rdReserSi;
@ -990,7 +992,12 @@ public class EditarPricingController extends MyGenericForwardComposer {
} else {
pricing.setIndreservable(Boolean.FALSE);
}
if (rdExibirVendaSi.isChecked()) {
pricing.setExibeVenda(Boolean.TRUE);
} else {
pricing.setExibeVenda(Boolean.FALSE);
}
if (gravarNovo) {
// eu guardo antes para gantir que os dados que eu tenho na tela estao no banco
pricingService.actualizacion(pricing);
@ -2489,4 +2496,21 @@ public class EditarPricingController extends MyGenericForwardComposer {
this.radioPor = radioPor;
}
public Radio getRdExibirVendaSi() {
return rdExibirVendaSi;
}
public void setRdExibirVendaSi(Radio rdExibirVendaSi) {
this.rdExibirVendaSi = rdExibirVendaSi;
}
public Radio getRdExibirVendaNo() {
return rdExibirVendaNo;
}
public void setRdExibirVendaNo(Radio rdExibirVendaNo) {
this.rdExibirVendaNo = rdExibirVendaNo;
}
}

View File

@ -0,0 +1,127 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.pricing;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import org.apache.log4j.Logger;
import org.hibernate.Hibernate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import com.rjconsultores.ventaboletos.entidad.PricingEspecifico;
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.service.PricingEspecificoAgenciaService;
import com.rjconsultores.ventaboletos.service.PricingEspecificoService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
@Controller("editarPricingEspecificoAgenciaController")
@Scope("prototype")
public class EditarPricingEspecificoAgenciaController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(EditarPricingEspecificoAgenciaController.class);
private PricingEspecifico pricingEspecifico;
private PricingEspecificoAgencia pricingEspecificoAgencia;
private MyListbox pricingListEspAgencia;
private List<PricingEspecificoAgencia> lspricingAgencia;
@Autowired
private PricingEspecificoService pricingEspecificoService;
private MyComboboxPuntoVenta cmbPuntoVenta;
@Autowired
private PricingEspecificoAgenciaService pricingEspecificoAgenciaService;
private Boolean isEdicao;
@Override
public void doAfterCompose(Component comp) throws Exception {
pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico");
if(pricingEspecifico.getPricingespecificoId() != null){
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId());
lspricingAgencia = pricingEspecifico.getPricingEspecificoAgenciasList();
}
pricingEspecificoAgencia = (PricingEspecificoAgencia) Executions.getCurrent().getArg().get("pricingEspecificoAgencia");
pricingListEspAgencia = (MyListbox) Executions.getCurrent().getArg().get("pricingListEspAgencia");
isEdicao = (Boolean) Executions.getCurrent().getArg().get("isEdicao");
super.doAfterCompose(comp);
Locale locale = new Locale("pt", "BR");
}
public void onClick$btnAdicionarPricingEspAgencia(Event ev) throws Exception {
PricingEspecificoAgencia pricingAgencia = new PricingEspecificoAgencia((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId());
List<PricingEspecificoAgencia> peoList = null;
if (lspricingAgencia == null || lspricingAgencia.isEmpty()) {
peoList = new ArrayList<PricingEspecificoAgencia>();
} else {
peoList = pricingEspecifico.getPricingEspecificoAgenciasList();
}
Hibernate.initialize(pricingEspecifico);
Hibernate.initialize(pricingEspecificoAgencia);
if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null && peoList.contains(pricingAgencia)) {
int index = peoList.indexOf(pricingAgencia);
if(index >= 0) {
peoList.set(index, pricingAgencia);
}
} else {
peoList.add(pricingAgencia);
}
if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) {
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue());
}
pricingEspecificoAgencia.setActivo(Boolean.TRUE);
pricingEspecifico.setPricingEspecificoAgenciasList(peoList);
pricingListEspAgencia.addItemNovo(pricingAgencia);
closeWindow();
}
public void onClick$btnApagarPricingEspAgencia(Event ev) throws Exception {
PricingEspecificoAgencia pricingAgencia = new PricingEspecificoAgencia((PuntoVenta)cmbPuntoVenta.getSelectedItem().getValue(), pricingEspecifico, UsuarioLogado.getUsuarioLogado().getUsuarioId());
List<PricingEspecificoAgencia> peoList = null;
if (lspricingAgencia == null || lspricingAgencia.isEmpty()) {
peoList = new ArrayList<PricingEspecificoAgencia>();
} else {
peoList = pricingEspecifico.getPricingEspecificoAgenciasList();
}
Hibernate.initialize(pricingEspecifico);
Hibernate.initialize(pricingEspecificoAgencia);
if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null && peoList.contains(pricingAgencia)) {
int index = peoList.indexOf(pricingAgencia);
if(index >= 0) {
peoList.set(index, pricingAgencia);
}
} else {
peoList.add(pricingAgencia);
}
if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) {
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue());
}
pricingEspecificoAgencia.setActivo(Boolean.TRUE);
pricingEspecifico.setPricingEspecificoAgenciasList(peoList);
pricingListEspAgencia.addItemNovo(pricingAgencia);
closeWindow();
}
}

View File

@ -8,6 +8,7 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -25,6 +26,7 @@ import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zul.Button;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Datebox;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.Categoria;
@ -34,7 +36,9 @@ import com.rjconsultores.ventaboletos.entidad.Marca;
import com.rjconsultores.ventaboletos.entidad.Moneda;
import com.rjconsultores.ventaboletos.entidad.Parada;
import com.rjconsultores.ventaboletos.entidad.PricingEspecifico;
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia;
import com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion;
import com.rjconsultores.ventaboletos.entidad.PuntoVenta;
import com.rjconsultores.ventaboletos.entidad.TipoPuntoVenta;
import com.rjconsultores.ventaboletos.service.CategoriaService;
import com.rjconsultores.ventaboletos.service.ClaseServicioService;
@ -42,12 +46,15 @@ import com.rjconsultores.ventaboletos.service.CorridaCtrlService;
import com.rjconsultores.ventaboletos.service.MarcaService;
import com.rjconsultores.ventaboletos.service.MonedaService;
import com.rjconsultores.ventaboletos.service.ParadaService;
import com.rjconsultores.ventaboletos.service.PricingEspecificoAgenciaService;
import com.rjconsultores.ventaboletos.service.PricingEspecificoOcupacionService;
import com.rjconsultores.ventaboletos.service.PricingEspecificoService;
import com.rjconsultores.ventaboletos.service.PuntoVentaService;
import com.rjconsultores.ventaboletos.service.TipoPuntoVentaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
import com.rjconsultores.ventaboletos.web.utilerias.MyListbox;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingAgencia;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPricingEspecificoOcupacion;
/**
@ -79,6 +86,10 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
private CorridaCtrlService corridaCtrlService;
@Autowired
private PricingEspecificoOcupacionService pricingEspecificoOcupacionService;
@Autowired
private PuntoVentaService puntoVenService;
@Autowired
private PricingEspecificoAgenciaService pricingEspecificoAgenciaService;
private PricingEspecifico pricingEspecifico;
private MyListbox pricingList;
@ -100,9 +111,13 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
private Textbox nombrePricing;
private Textbox tarifaAbierto;
private Button btnCopiar;
private Radio rdExibirVendaSi;
private Radio rdExibirVendaNo;
private MyListbox pricingListEspOcupacion;
private MyListbox pricingListEspAgencia;
private List<PricingEspecificoOcupacion> pricingEspecificoADesativar;
private List<PricingEspecificoAgencia> pricingEspecificoADesativarAgencia;
@Override
public void doAfterCompose(Component comp) throws Exception {
@ -114,10 +129,12 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
pricingEspecifico = (PricingEspecifico) Executions.getCurrent().getArg().get("pricingEspecifico");
pricingList = (MyListbox) Executions.getCurrent().getArg().get("pricingList");
pricingEspecificoADesativar = new ArrayList<PricingEspecificoOcupacion>();
pricingEspecificoADesativarAgencia = new ArrayList<PricingEspecificoAgencia>();
super.doAfterCompose(comp);
pricingListEspOcupacion.setItemRenderer(new RenderPricingEspecificoOcupacion());
pricingListEspAgencia.setItemRenderer(new RenderPricingAgencia());
if (pricingEspecifico.getPricingespecificoId() == null) {
btnApagar.setVisible(Boolean.FALSE);
@ -143,9 +160,18 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
verPricingEspecificoOcupacion(especificoOcupacion, true);
}
});
pricingListEspAgencia.setData(pricingEspecifico.getPricingEspecificoAgenciaListActivos());
pricingListEspAgencia.addEventListener("onDoubleClick", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
PricingEspecificoAgencia especificoAgencia = (PricingEspecificoAgencia) pricingListEspAgencia.getSelected();
verPricingEspecificoAgencia(especificoAgencia, true);
}
});
}
fechaInicio.focus();
fechaInicio.focus();
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@ -160,10 +186,26 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
openWindow("/gui/pricing/editarPricingEspecificoOcupacion.zul",
Labels.getLabel("editarPricingController.window.title"), args, MODAL);
}
@SuppressWarnings({ "unchecked", "rawtypes" })
public void verPricingEspecificoAgencia(PricingEspecificoAgencia especificoAgencia, Boolean isEdicao) {
Map args = new HashMap();
args.put("pricingEspecifico", pricingEspecifico);
args.put("pricingEspecificoAgencia", especificoAgencia);
args.put("isEdicao", isEdicao);
args.put("pricingListEspAgencia", pricingListEspAgencia);
openWindow("/gui/pricing/editarPricingEspecificoAgencia.zul",
Labels.getLabel("editarPricingController.window.title"), args, MODAL);
}
public void onClick$btnNovoPricingEspOcup(Event ev) throws InterruptedException {
verPricingEspecificoOcupacion(new PricingEspecificoOcupacion(), false);
}
public void onClick$btnNovoPricingAgencia(Event ev) throws InterruptedException {
verPricingEspecificoAgencia(new PricingEspecificoAgencia(), false);
}
public void onClick$btnApagarPricingEspOcup(Event ev) throws InterruptedException {
if (pricingListEspOcupacion.getSelected() == null) {
@ -188,23 +230,61 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
}
}
}
public void onClick$btnApagarPricingEspAgencia(Event ev) throws InterruptedException {
if (pricingListEspAgencia.getSelected() == null) {
Messagebox.show(Labels.getLabel("editarPricingController.MSG.selectItem"),
Labels.getLabel("editarPricingController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
} else {
int resp = Messagebox.show(Labels.getLabel("editarPricingEspecificoAgenciaController.MSG.borrarPergunta"),
Labels.getLabel("busquedaPricingEspecificoController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) {
PricingEspecificoAgencia pricingEspecificoAgencia = (PricingEspecificoAgencia) pricingListEspAgencia.getSelected();
if (pricingEspecificoAgencia.getPricingEspecificoAgenciaId() != null) {
pricingEspecificoAgencia.setActivo(false);
pricingListEspAgencia.removeItem(pricingEspecificoAgencia);
pricingEspecificoADesativarAgencia.add(pricingEspecificoAgencia);
} else {
pricingListEspOcupacion.removeSelectedItem();
removerPricingAgencia(pricingEspecificoAgencia);
}
}
}
}
private void removerPricingOcupacion(PricingEspecificoOcupacion especificoOcupacion) {
if (especificoOcupacion.getPricingEspecificoOcupacionId() != null) {
pricingEspecifico.getPricingEspecificoOcupacionsList().remove(especificoOcupacion);
} else {
int index = 0;
int index = 1;
for (PricingEspecificoOcupacion pricingEspecificoOcupacion : pricingEspecifico.getPricingEspecificoOcupacionsList()) {
if (pricingEspecificoOcupacion.getOcupacionfinal().equals(especificoOcupacion.getOcupacionfinal()) &&
pricingEspecificoOcupacion.getOcupacioninicial().equals(especificoOcupacion.getOcupacioninicial()) &&
pricingEspecificoOcupacion.getTarifa().equals(especificoOcupacion.getTarifa())) {
break;
if(especificoOcupacion.getTarifa() != null){
if (pricingEspecificoOcupacion.getOcupacionfinal().equals(especificoOcupacion.getOcupacionfinal()) &&
pricingEspecificoOcupacion.getOcupacioninicial().equals(especificoOcupacion.getOcupacioninicial()) &&
pricingEspecificoOcupacion.getTarifa().equals(especificoOcupacion.getTarifa())) {
break;
}
}
if(especificoOcupacion.getDescuento() != null){
if (pricingEspecificoOcupacion.getOcupacionfinal().equals(especificoOcupacion.getOcupacionfinal()) &&
pricingEspecificoOcupacion.getOcupacioninicial().equals(especificoOcupacion.getOcupacioninicial()) &&
pricingEspecificoOcupacion.getDescuento().equals(especificoOcupacion.getDescuento())) {
break;
}
}
index++;
}
pricingEspecifico.getPricingEspecificoOcupacionsList().remove(index - 1);
}
}
private void removerPricingAgencia(PricingEspecificoAgencia especificoAgencia) {
if (especificoAgencia.getPricingEspecificoAgenciaId() != null) {
pricingEspecifico.getPricingEspecificoAgenciasList().remove(especificoAgencia);
}
}
public void onClick$btnModificarPricingEspOcup(Event ev) {
PricingEspecificoOcupacion especificoOcupacion = (PricingEspecificoOcupacion) pricingListEspOcupacion.getSelected();
@ -252,10 +332,14 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
fechaFin.getValue();
tarifaAbierto.getValue();
pricingEspecifico.getPricingEspecificoOcupacionsList().clear();
//pricingEspecifico.getPricingEspecificoOcupacionsList().clear();
for (Object o : pricingListEspOcupacion.getData()) {
PricingEspecificoOcupacion p = (PricingEspecificoOcupacion) o;
pricingEspecifico.getPricingEspecificoOcupacionsList().add(p);
// pricingEspecifico.setPricingEspecificoOcupacionsList(new ArrayList<PricingEspecificoOcupacion>());
if(!pricingEspecifico.getPricingEspecificoOcupacionsList().contains(p)){
pricingEspecifico.getPricingEspecificoOcupacionsList().add(p);
}
}
if (pricingEspecifico.getTipoPtovta() == null) {
@ -320,7 +404,11 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
return;
}
if (rdExibirVendaSi.isChecked()) {
pricingEspecifico.setExibeVenda(Boolean.TRUE);
} else {
pricingEspecifico.setExibeVenda(Boolean.FALSE);
}
if (pricingEspecifico.getCorridaId() != null) {
CorridaCtrl corridaCtrlId = corridaCtrlService.obtenerID(pricingEspecifico.getCorridaId());
if (corridaCtrlId == null) {
@ -366,6 +454,20 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
}
if (podeSalvar) {
if(pricingEspecifico.getPricingEspecificoAgenciasList() == null ){
pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList<PricingEspecificoAgencia>());
}
if (pricingEspecifico.getPricingEspecificoAgenciasList().isEmpty()){
PricingEspecificoAgencia pea = new PricingEspecificoAgencia();
pea.setPricingEspecifico(pricingEspecifico);
PuntoVenta pv = puntoVenService.obtenerID(-1);
pea.setPuntoVenta(pv);
pea.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
pea.setFecmodif(new Date());
pea.setActivo(Boolean.TRUE);
pricingEspecifico.setPricingEspecificoAgenciasList(new ArrayList<PricingEspecificoAgencia>());
pricingEspecifico.getPricingEspecificoAgenciasList().add(pea);
}
if (pricingEspecifico.getPricingespecificoId() == null) {
pricingEspecificoService.suscribir(pricingEspecifico);
pricingList.addItemNovo(pricingEspecifico);
@ -395,6 +497,12 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
pricingEspecificoOcupacionService.actualizacion(p);
}
}
private void desativarPricingEspecificoAgenciaDesativados() {
for (PricingEspecificoAgencia p : pricingEspecificoADesativarAgencia) {
pricingEspecificoAgenciaService.actualizacion(p);
}
}
/**
* Valida se a lista de ocupações são subsequentes e se a primeira ocupação possui ocupação inicial igual a 1.
@ -786,6 +894,22 @@ public class EditarPricingEspecificoController extends MyGenericForwardComposer
this.tarifaAbierto = tarifaAbierto;
}
public Radio getRdExibirVendaSi() {
return rdExibirVendaSi;
}
public void setRdExibirVendaSi(Radio rdExibirVendaSi) {
this.rdExibirVendaSi = rdExibirVendaSi;
}
public Radio getRdExibirVendaNo() {
return rdExibirVendaNo;
}
public void setRdExibirVendaNo(Radio rdExibirVendaNo) {
this.rdExibirVendaNo = rdExibirVendaNo;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void onClick$btnCopiar(Event ev) throws InterruptedException {

View File

@ -1,7 +1,6 @@
package com.rjconsultores.ventaboletos.web.gui.controladores.pricing;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
@ -12,6 +11,8 @@ import org.hibernate.Hibernate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.zkoss.util.resource.Labels;
import org.zkoss.zhtml.Messagebox;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
@ -69,55 +70,71 @@ public class EditarPricingEspecificoOcupacionController extends MyGenericForward
ocupacioninicial.getValue();
ocupacionfinal.getValue();
desconto.getValue();
try {
if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() == null) {
pricingEspecificoOcupacion = new PricingEspecificoOcupacion();
}
pricingEspecificoOcupacion.setTarifa(tarifa.getValueDecimal());
pricingEspecificoOcupacion.setOcupacioninicial(ocupacioninicial.getValueDecimal());
pricingEspecificoOcupacion.setOcupacionfinal(ocupacionfinal.getValueDecimal());
pricingEspecificoOcupacion.setPricingEspecifico(pricingEspecifico);
pricingEspecificoOcupacion.setDescuento(desconto.getValueDecimal());
pricingEspecificoOcupacion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
pricingEspecificoOcupacion.setFecmodif(Calendar.getInstance().getTime());
pricingEspecificoOcupacion.setActivo(true);
if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) {
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue());
}
Hibernate.initialize(pricingEspecifico);
Hibernate.initialize(pricingEspecificoOcupacion);
if(desconto.getValue() == "" && tarifa.getValue() == "" ){
Messagebox.show(
"Não é possivel salvar pricing.\n O campo desconto ou Tarifa deve ser preenchido!",
Labels.getLabel("editarPricingController.window.title"),
Messagebox.OK, Messagebox.ERROR);
}else if(desconto.getValue() != "" && tarifa.getValue() != "" ){
Messagebox.show(
"Não é possivel salvar pricing.\n Os campos Desconto e Tarifa não devem ser preenchido ao mesmo tempo!",
Labels.getLabel("editarPricingController.window.title"),
Messagebox.OK, Messagebox.ERROR);
}else{
List<PricingEspecificoOcupacion> peoList = null;
if (pricingEspecifico.getPricingEspecificoOcupacionsList() == null || pricingEspecifico.getPricingEspecificoOcupacionsList().isEmpty()) {
peoList = new ArrayList<PricingEspecificoOcupacion>();
} else {
peoList = pricingEspecifico.getPricingEspecificoOcupacionsList();
}
if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() != null && peoList.contains(pricingEspecificoOcupacion)) {
int index = peoList.indexOf(pricingEspecificoOcupacion);
if(index >= 0) {
peoList.set(index, pricingEspecificoOcupacion);
try {
if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() == null) {
pricingEspecificoOcupacion = new PricingEspecificoOcupacion();
}
} else {
peoList.add(pricingEspecificoOcupacion);
}
pricingEspecificoOcupacion.setTarifa(tarifa.getValueDecimal());
pricingEspecificoOcupacion.setOcupacioninicial(ocupacioninicial.getValueDecimal());
pricingEspecificoOcupacion.setOcupacionfinal(ocupacionfinal.getValueDecimal());
pricingEspecificoOcupacion.setPricingEspecifico(pricingEspecifico);
pricingEspecificoOcupacion.setDescuento(desconto.getValueDecimal());
pricingEspecificoOcupacion.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
pricingEspecificoOcupacion.setFecmodif(Calendar.getInstance().getTime());
pricingEspecificoOcupacion.setActivo(true);
if (pricingEspecifico != null && pricingEspecifico.getPricingespecificoId() != null) {
pricingEspecifico = pricingEspecificoService.obtenerID(pricingEspecifico.getPricingespecificoId().longValue());
}
Hibernate.initialize(pricingEspecifico);
Hibernate.initialize(pricingEspecificoOcupacion);
pricingEspecifico.setPricingEspecificoOcupacionsList(peoList);
if(isEdicao){
pricingListEspOcupacion.updateItem(pricingEspecificoOcupacion);
} else {
pricingListEspOcupacion.addItemNovo(pricingEspecificoOcupacion);
List<PricingEspecificoOcupacion> peoList = null;
if (pricingEspecifico.getPricingEspecificoOcupacionsList() == null || pricingEspecifico.getPricingEspecificoOcupacionsList().isEmpty()) {
peoList = new ArrayList<PricingEspecificoOcupacion>();
} else {
peoList = pricingEspecifico.getPricingEspecificoOcupacionsList();
}
if (pricingEspecificoOcupacion.getPricingEspecificoOcupacionId() != null && peoList.contains(pricingEspecificoOcupacion)) {
int index = peoList.indexOf(pricingEspecificoOcupacion);
if(index >= 0) {
peoList.set(index, pricingEspecificoOcupacion);
}
} else {
if(!peoList.contains(pricingEspecificoOcupacion)){
peoList.add(pricingEspecificoOcupacion);
}
}
pricingEspecifico.setPricingEspecificoOcupacionsList(peoList);
if(isEdicao){
pricingListEspOcupacion.updateItem(pricingEspecificoOcupacion);
} else {
pricingListEspOcupacion.addItemNovo(pricingEspecificoOcupacion);
}
closeWindow();
} catch (Exception ex) {
log.error("Erro ao adicionar pricing Pricing Especifico Ocupacion: ", ex);
}
closeWindow();
} catch (Exception ex) {
log.error("Erro ao adicionar pricing Pricing Especifico Ocupacion: ", ex);
}
}

View File

@ -0,0 +1,28 @@
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.entidad.PricingEspecificoAgencia;
public class RenderPricingAgencia implements ListitemRenderer {
public void render(Listitem lstm, Object o) throws Exception {
PricingEspecificoAgencia pea = (PricingEspecificoAgencia) o;
if (!pea.getActivo()) {
return;
}
Listcell lc = new Listcell(pea.getPuntoVenta().getPuntoventaId().toString());
lc.setParent(lstm);
lc = new Listcell(pea.getPuntoVenta().getNombpuntoventa().toString());
lc.setParent(lstm);
}
}

View File

@ -15,7 +15,7 @@ public class RenderPricingEspecificoOcupacion implements ListitemRenderer {
return;
}
Listcell lc = new Listcell(peo.getTarifa().toString());
Listcell lc = new Listcell(peo.getTarifa() == null ? "" : peo.getTarifa().toString());
lc.setParent(lstm);
lc = new Listcell(peo.getOcupacioninicial().toString());

View File

@ -168,6 +168,7 @@
</value>
<value>com.rjconsultores.ventaboletos.entidad.MotivocancelacionEquivalencia
</value>
<value>com.rjconsultores.ventaboletos.entidad.MotivoDevolucaoBilhete</value>
<value>com.rjconsultores.ventaboletos.entidad.MotivoReimpresion
</value>
<value>com.rjconsultores.ventaboletos.entidad.MotivoViaje</value>
@ -222,6 +223,7 @@
<value>com.rjconsultores.ventaboletos.entidad.PricingAsiento</value>
<value>com.rjconsultores.ventaboletos.entidad.PricingEspecifico</value>
<value>com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion</value>
<value>com.rjconsultores.ventaboletos.entidad.PricingEspecificoAgencia</value>
<value>com.rjconsultores.ventaboletos.entidad.PricingClasseTarifaria</value>
<value>com.rjconsultores.ventaboletos.entidad.PricingRuta</value>
<value>com.rjconsultores.ventaboletos.entidad.ProductoServicio
@ -240,6 +242,7 @@
</value>
<value>com.rjconsultores.ventaboletos.entidad.PtovtaAgencia</value>
<value>com.rjconsultores.ventaboletos.entidad.PtovtaCatInd</value>
<value>com.rjconsultores.ventaboletos.entidad.PtoVtaCheckin</value>
<value>com.rjconsultores.ventaboletos.entidad.PtoVtaSeguro</value>
<value>com.rjconsultores.ventaboletos.entidad.PtovtaAntecipacomissao

View File

@ -115,6 +115,7 @@ indexController.mniGeracionCorrida.label = Generación de servicio
indexController.mniFormaPago.label = Forma de pago
indexController.mniPeriodoVacacional.label = Periodo de vacaciones
indexController.mniMotivoCancelacion.label = Motivo de cancelación
indexController.mniMotivoDevolucaoBilhete.label = Motivo Devolução Bilhete
indexController.mniMotivoCancelVendaPacote.label = Motivo de cancelación
indexController.mniMotivoReimpresion.label = Motivo de la reimpresión
indexController.mniCategoria.label = Tipo de pasaje
@ -811,6 +812,29 @@ editarMotivoCancelVendaPacoteController.lbttextoVenda.value = Descripción para
editarMotivoCancelVendaPacoteController.MSG.tipo = Necesita informar un tipo motivo
editarMotivoCancelVendaPacoteController.lbPorcMulta.value = Porc. Multa.
# Muestra a DEVOLUCÂO da Pesquisa Razón
busquedaMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete
busquedaMotivoDevolucaoBilheteController.btnRefresh.tooltiptext = Atualizar
busquedaMotivoDevolucaoBilheteController.btnNovo.tooltiptext = Incluir
busquedaMotivoDevolucaoBilheteController.btnCerrar.tooltiptext = Fechar
busquedaMotivoDevolucaoBilheteController.btnPesquisa.label = Pesquisa
busquedaMotivoDevolucaoBilheteController.lhId.label = ID
busquedaMotivoDevolucaoBilheteController.lhDesc.label = Descrição
busquedaMotivoDevolucaoBilheteController.txtNombre.label = Motivo Devolução Bilhete
# Pantalla Editar DEVOLUCÂO Razón
editarMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete
editarMotivoDevolucaoBilheteController.btnApagar.tooltiptext = Eliminar
editarMotivoDevolucaoBilheteController.btnSalvar.tooltiptext = Salvar
editarMotivoDevolucaoBilheteController.btnFechar.tooltiptext = Fechar
editarMotivoDevolucaoBilheteController.lbNome.value = Descrição
editarMotivoDevolucaoBilheteController.MSG.suscribirOK = Motivo Devolução Bilhete Registrado com Sucesso.
editarMotivoDevolucaoBilheteController.MSG.borrarPergunta = Deseja Eliminar Este Motivo Devolução Bilhete?
editarMotivoDevolucaoBilheteController.MSG.borrarOK = Motivo Devolução Bilhete Excluido com Sucesso.
editarMotivoDevolucaoBilheteController.lbtipomotivo.value = Tipo motivo
editarMotivoDevolucaoBilheteController.lbttextoVenda.value = Descrição para relatório de cancelamento.
editarMotivoDevolucaoBilheteController.MSG.tipo = Necessita informar um tipo motivo.
# Muestra a CANCELACION VENDA PACOTE da Búsqueda Razón
busquedaMotivoCancelVendaPacoteController.window.title = Motivo de cancelación
busquedaMotivoCancelVendaPacoteController.btnRefresh.tooltiptext = Actualizar

View File

@ -117,6 +117,7 @@ indexController.mniGeracionCorrida.label = Geração de Serviço
indexController.mniFormaPago.label = Forma de Pagamento
indexController.mniPeriodoVacacional.label = Período de Férias
indexController.mniMotivoCancelacion.label = Motivo do Cancelamento
indexController.mniMotivoDevolucaoBilhete.label = Motivo Devolução Bilhete
indexController.mniMotivoCancelVendaPacote.label = Motivo do Cancelamento Venda Pacote
indexController.mniMotivoReimpresion.label = Motivo da Reimpressão
indexController.mniCategoria.label = Tipo de Passagem
@ -830,6 +831,29 @@ editarMotivoCancelacionController.lbtipomotivo.value = Tipo motivo
editarMotivoCancelacionController.lbttextoVenda.value = Descrição para relatório de cancelamento.
editarMotivoCancelacionController.MSG.tipo = Necessita informar um tipo motivo.
# Muestra a CANCELACION da Pesquisa Razón
busquedaMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete
busquedaMotivoDevolucaoBilheteController.btnRefresh.tooltiptext = Atualizar
busquedaMotivoDevolucaoBilheteController.btnNovo.tooltiptext = Incluir
busquedaMotivoDevolucaoBilheteController.btnCerrar.tooltiptext = Fechar
busquedaMotivoDevolucaoBilheteController.btnPesquisa.label = Pesquisa
busquedaMotivoDevolucaoBilheteController.lhId.label = ID
busquedaMotivoDevolucaoBilheteController.lhDesc.label = Descrição
busquedaMotivoDevolucaoBilheteController.txtNombre.label = Motivo Devolução Bilhete
# Pantalla Editar CANCELACION Razón
editarMotivoDevolucaoBilheteController.window.title = Motivo Devolução Bilhete
editarMotivoDevolucaoBilheteController.btnApagar.tooltiptext = Eliminar
editarMotivoDevolucaoBilheteController.btnSalvar.tooltiptext = Salvar
editarMotivoDevolucaoBilheteController.btnFechar.tooltiptext = Fechar
editarMotivoDevolucaoBilheteController.lbNome.value = Descrição
editarMotivoDevolucaoBilheteController.MSG.suscribirOK = Motivo Devolução Bilhete Registrado com Sucesso.
editarMotivoDevolucaoBilheteController.MSG.borrarPergunta = Deseja Eliminar Este Motivo Devolução Bilhete?
editarMotivoDevolucaoBilheteController.MSG.borrarOK = Motivo Devolução Bilhete Excluido com Sucesso.
editarMotivoDevolucaoBilheteController.lbtipomotivo.value = Tipo motivo
editarMotivoDevolucaoBilheteController.lbttextoVenda.value = Descrição para relatório de cancelamento.
editarMotivoDevolucaoBilheteController.MSG.tipo = Necessita informar um tipo motivo.
# Muestra a CANCELACION da Pesquisa Razón
busquedaMotivoCancelVendaPacoteController.window.title = Motivo de Cancelamento
busquedaMotivoCancelVendaPacoteController.btnRefresh.tooltiptext = Atualizar
@ -2957,12 +2981,13 @@ editarPricingController.btnNovoRuta.tooltiptext = Incluir
busquedaPricingController.btnNovo.tooltiptext = Incluir
editarPricingController.btnNovoTipoPtoVta.tooltiptext = Incluir
editarPricingController.btnNovoCategoria.tooltiptext = Incluir
editarPricingController.btnApagarPricing.tooltiptext = Eliminar
editarPricingController.btnApagarAgencia.tooltiptext = Eliminar
editarPricingController.btnNovoDia.tooltiptext = Incluir
editarPricingController.btnNovoCorrida.tooltiptext = Incluir
editarPricingController.btnNovoAsiento.tooltiptext = Incluir
editarPricingController.btnNovoOcupacion.tooltiptext = Incluir
editarPricingController.btnNovoVigencia.tooltiptext = Incluir
editarPricingController.btnAgencia.tooltiptext = Incluir
editarPricingController.btnApagarVigencia.tooltiptext = Eliminar
editarPricingController.MSG.suscribirOK = Configuração de pricing Registrada com Sucesso.
copiarPricingController.MSG.suscribirOK = Copia de pricing realizada com Sucesso.
@ -3096,16 +3121,23 @@ editarPricingAutomaticoController.msg.cantDias.erro = Já existe no sistema est
# Editar Pricing Especifico Ocupacion
editarPricingEspecificoOcupacionController.tarifa.label=Tarifa
editarPricingEspecificoOcupacionController.agencia.label=Agência
editarPricingEspecificoOcupacionController.agenciaId.label=Id
editarPricingEspecificoOcupacionController.desconto.label=Desconto
editarPricingEspecificoOcupacionController.tarifaAberto.label=Tarifa em Aberto
editarPricingEspecificoOcupacionController.ocupacionInicial.label=Ocupação Inicial
editarPricingEspecificoOcupacionController.ocupacionFinal.label=Ocupação Final
editarPricingEspecificoOcupacionController.MSG.borrarPergunta = Deseja Eliminar Ocupação?
editarPricingEspecificoAgenciaController.MSG.borrarPergunta = Deseja Eliminar Agência?
editarPricingEspecificoOcupacionController.ocupacao.label = Ocupação
editarPricingEspecificoOcupacionController.agencia.label = Agência
editarPricingEspecificoOcupacionController.MSG.noPricingEspecificoOcupacion = Ocupação não informado.
editarPricingEspecificoAgenciaController.MSG.noPricingEspecificoAgencia = Agência não informada.
editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionInicial = A primeira ocupação deverá ter valor de ocupação inicial igual a 1.
editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionNoSubsequente = A lista de ocupações deverão ser subsequentes.
editarPricingEspecificoOcupacionController.MSG.pricingEspecificoOcupacionNoSubsequente = Já existe ocupação cadastrada que contempla o intervalo de ocupação.
editarPricingEspecificoOcupacionController.exibirVenda.label=Exibir na Venda?
editarPricingEspecificoController.tabGen.label = Geral
editarPricingEspecificoController.tabAge.label = Agência
# Editar Pricing Classe Tarifaria
editarPricingClasseTarifariaController.window.title = Pricing Classes Tarifarias

View File

@ -175,13 +175,24 @@
value="@{winEditarPricing$composer.pricing.cantdiasanticipacion}" />
</row>
<row spans="1,3">
<row>
<label
value="${c:l('editarPricingController.lhPorcRed.label')}" />
<textbox id="descuentoporcredondo"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal"
precision="5" scale="2" allowNegative="true"
value="@{winEditarPricing$composer.pricing.descuentoporcredondo,converter=com.rjconsultores.ventaboletos.web.utilerias.StringDecimalToDecimalConverter}" />
<label
value="${c:l('editarPricingController.exibirVenda.label')}" />
<radiogroup Id="radioExibirVenda">
<hbox align="center">
<radio Id="rdExibirVendaSi"
label="${c:l('editarPricingController.si.label')}"
checked="true" />
<radio Id="rdExibirVendaNo"
label="${c:l('editarPricingController.no.label')}" />
</hbox>
</radiogroup>
</row>
<row spans="4">

View File

@ -34,7 +34,17 @@
tooltiptext="${c:l('editarPricingController.btnFechar.tooltiptext')}" />
</hbox>
</toolbar>
<tabbox id="tb">
<tabs id="tabs">
<tab id="A"
label="${c:l('editarPricingEspecificoController.tabGen.label')}" />
<tab id="B"
label="${c:l('editarPricingEspecificoController.tabAge.label')}" />
</tabs>
<tabpanels>
<!-- General -->
<tabpanel>
<grid>
<columns>
<column width="40%" />
@ -142,7 +152,19 @@
precision="7" scale="2" constraint="no empty"
value="@{winEditarPricingEspecifico$composer.pricingEspecifico.tarifaredabierto,converter=com.rjconsultores.ventaboletos.web.utilerias.StringDecimalToDecimalConverter}" />
</row>
<row>
<label
value="${c:l('editarPricingController.exibirVenda.label')}" />
<radiogroup Id="radioExibirVenda">
<hbox align="center">
<radio Id="rdExibirVendaSi"
label="${c:l('editarPricingController.si.label')}"
checked="true" />
<radio Id="rdExibirVendaNo"
label="${c:l('editarPricingController.no.label')}" />
</hbox>
</radiogroup>
</row>
</rows>
</grid>
@ -187,6 +209,44 @@
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<rows>
<row valign="top">
<vbox height="100%" width="100%">
<toolbar>
<hbox spacing="5px" style="padding:1px"
align="right">
<label
value="${c:l('editarPricingEspecificoOcupacionController.agencia.label')}:" />
<button id="btnNovoPricingAgencia" disabled="${arg.isReadOnly}"
image="/gui/img/add.png" width="35px"
tooltiptext="${c:l('editarPricingController.btnAgencia.tooltiptext')}" />
<button id="btnApagarPricingEspAgencia" disabled="${arg.isReadOnly}"
height="20" image="/gui/img/remove.png" width="35px"
tooltiptext="${c:l('editarPricingController.btnApagarAgencia.tooltiptext')}" />
</hbox>
</toolbar>
<listbox id="pricingListEspAgencia"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
multiple="false">
<listhead sizable="true">
<listheader
image="/gui/img/create_doc.gif" sort="auto(tarifa)"
label="${c:l('editarPricingEspecificoOcupacionController.agenciaId.label')}" />
<listheader
image="/gui/img/create_doc.gif" sort="auto(ocupacioninicial)"
label="${c:l('editarPricingEspecificoOcupacionController.agencia.label')}" />
</listhead>
</listbox>
</vbox>
</row>
</rows>
</grid>
</tabpanel>
</tabpanels>
</tabbox>
</window>
</zk>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<?page contentType="text/html;charset=UTF-8"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="winEditarPricingEspecificoAgencia"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winEditarPricingEspecificoAgencia" border="normal"
apply="${editarPricingEspecificoAgenciaController}" width="600px"
contentStyle="overflow:auto"
title="${c:l('editarPricingController.window.title')}">
<toolbar>
<hbox spacing="5px" style="padding:1px" align="right">
<button id="btnAdicionarPricingEspAgencia" disabled="${arg.isReadOnly}" height="20"
image="/gui/img/save.png" width="35px"
tooltiptext="${c:l('editarPricingVigenciaController.btnSalvar.tooltiptext')}" />
<button height="20" image="/gui/img/exit.png"
width="35px" onClick="winEditarPricingEspecificoAgencia.detach()"
tooltiptext="${c:l('editarPricingVigenciaController.btnFechar.tooltiptext')}" />
</hbox>
</toolbar>
<grid fixedLayout="true">
<columns>
<column width="40%" />
<column width="60%" />
</columns>
<rows>
<row>
<label value="${c:l('busquedaEstacionController.lhPuntoVenta.label')}" />
<combobox id="cmbPuntoVenta" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta"
mold="rounded" buttonVisible="true" width="90%" />
</row>
</rows>
</grid>
</window>
</zk>

View File

@ -34,7 +34,7 @@
value="${c:l('editarPricingEspecificoOcupacionController.tarifa.label')}" />
<textbox id="tarifa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal"
precision="7" scale="2" constraint="no empty" />
precision="7" scale="2" />
</row>
<row>
<label