valdevir 2017-07-19 21:43:45 +00:00
parent 0e9edd466d
commit f440bdacab
8 changed files with 626 additions and 443 deletions

View File

@ -8,7 +8,7 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import com.rjconsultores.ventaboletos.entidad.Empresa;

View File

@ -11,20 +11,22 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
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;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Listheader;
import org.zkoss.zul.Longbox;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Row;
import org.zkoss.zul.Textbox;
import com.rjconsultores.ventaboletos.entidad.CuponSecretaria;
@ -35,6 +37,7 @@ import com.rjconsultores.ventaboletos.service.CuponSecretariaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
import com.rjconsultores.ventaboletos.service.SecretariaEmpresaService;
import com.rjconsultores.ventaboletos.service.SecretariaService;
import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties;
import com.rjconsultores.ventaboletos.utilerias.TraslaparUtil;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
@ -77,13 +80,20 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
private MyTextboxDecimal txtPorcdescuentoTaxaEmbarque;
private Longbox txtNumfolioinicio;
private Longbox txtNumfoliofinal;
private Textbox txtSerie;
private Textbox txtSubserie;
private Button btnApagar;
private Button btnAdicionarCuponSecretaria;
private Radio rdPrecioTotal;
private Radio rdPrecioDescuento;
private Radio rdDescuento;
private Checkbox chkValidaFolio;
private Checkbox chkValidaSerieSubserie;
private MyComboboxEstandar cmbEmpresa;
private Row rowSerieSubserie;
private Row rowValidaSerieSubserie;
private Listheader columnSerie;
private Listheader columnSubserieSerie;
private static Logger log = Logger.getLogger(EditarSecretariaController.class);
public Button getBtnApagar() {
@ -216,27 +226,36 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
@Override
public void doAfterCompose(Component comp) throws Exception {
secretaria =
(Secretaria) Executions.getCurrent().getArg().get("secretaria");
secretariaList =
(MyListbox) Executions.getCurrent().getArg().get("secretariaList");
if (secretaria.getSecretariaId() != null){
secretaria = (Secretaria) Executions.getCurrent().getArg().get("secretaria");
secretariaList = (MyListbox) Executions.getCurrent().getArg().get("secretariaList");
Boolean isMostraSerieSubserie = ApplicationProperties.getInstance().isSerieSubserieSecretaria();
if (secretaria.getSecretariaId() != null) {
lsSecretariaEmpresa = secretariaEmpresaService.buscarPorSecretaria(secretaria);
} else {
lsSecretariaEmpresa = new ArrayList<SecretariaEmpresa>();
}
lsEmpresas = empresaService.obtenerTodosIncluindoEmpresaTodas();
super.doAfterCompose(comp);
empresasList.setItemRenderer(new RenderSecretariaEmpresa());
empresasList.setData(lsSecretariaEmpresa);
cuponSecretariaList.setItemRenderer(new RenderCuponSecretaria());
cuponSecretariaList.setItemRenderer(new RenderCuponSecretaria(isMostraSerieSubserie));
lsCuponSecretaria = new ArrayList<CuponSecretaria>();
cuponSecretariaList.setData(lsCuponSecretaria);
if (!isMostraSerieSubserie) {
rowSerieSubserie.setVisible(Boolean.FALSE);
rowValidaSerieSubserie.setVisible(Boolean.FALSE);
columnSerie.setVisible(Boolean.FALSE);
columnSubserieSerie.setVisible(Boolean.FALSE);
chkValidaSerieSubserie.setChecked(Boolean.FALSE);
txtSerie.getValue();
txtSubserie.getValue();
}
if (secretaria.getSecretariaId() == null) {
btnApagar.setVisible(Boolean.FALSE);
if (!isMostraSerieSubserie) {
chkValidaSerieSubserie.setChecked(secretaria.getValidaSerieSubSerie());
onClick$chkValidaSerieSubserie(null);
}
} else {
secretaria = secretariaService.obtenerID(secretaria.getSecretariaId());
if (secretaria.getImprimeprecio().equals(Secretaria.DESCUENTO_COBRAR)) {
@ -246,46 +265,44 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
} else if (secretaria.getImprimeprecio().equals(Secretaria.PRECIO_TOTAL)) {
rdPrecioTotal.setChecked(Boolean.TRUE);
}
// Prenche Documento
chkValidaFolio.setChecked(secretaria.getValidafolio());
chkValidaFolio.setDisabled(Boolean.TRUE);
chkValidaFolio.setDisabled(Boolean.FALSE);
onClick$chkValidaFolio(null);
// Prenche Serie e subserie
chkValidaSerieSubserie.setChecked(secretaria.getValidaSerieSubSerie());
chkValidaSerieSubserie.setDisabled(Boolean.FALSE);
onClick$chkValidaSerieSubserie(null);
lsCuponSecretaria = secretaria.getLsCuponSecretaria();
cuponSecretariaList.setData(lsCuponSecretaria);
}
insereConstrants();
txtDescSecretaria.focus();
}
public void onClick$btnRemoverEmpresa(Event ev) throws InterruptedException {
if (empresasList.getSelectedItem() == null){
Messagebox.show(Labels.getLabel("editarTipoEventoExtraController.MSG.selecionarEmpresa"),
if (empresasList.getSelectedItem() == null) {
org.zkoss.zul.Messagebox.show(Labels.getLabel("editarTipoEventoExtraController.MSG.selecionarEmpresa"),
Labels.getLabel("editarTipoEventoExtraController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.INFORMATION);
return;
}
SecretariaEmpresa se = (SecretariaEmpresa) empresasList.getSelected();
secretariaEmpresaService.borrar(se);
secretaria.removeEmpresa(se);
empresasList.setData(secretaria.getEmpresas());
}
public void onClick$btnAdicionarEmpresa(Event ev) throws InterruptedException {
if (cmbEmpresa.getSelectedItem() == null){
Messagebox.show(Labels.getLabel("editarTipoEventoExtraController.MSG.selecionarEmpresa"),
if (cmbEmpresa.getSelectedItem() == null) {
org.zkoss.zul.Messagebox.show(Labels.getLabel("editarTipoEventoExtraController.MSG.selecionarEmpresa"),
Labels.getLabel("editarTipoEventoExtraController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.INFORMATION);
return;
}
Empresa e = (Empresa) cmbEmpresa.getSelectedItem().getValue();
secretaria.addEmpresa(e);
empresasList.setData(secretaria.getEmpresas());
}
@ -293,35 +310,51 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
if (chkValidaFolio.isChecked()) {
txtNumfolioinicio.setDisabled(Boolean.FALSE);
txtNumfoliofinal.setDisabled(Boolean.FALSE);
txtNumfolioinicio.setConstraint("no empty, no negative, no zero");
txtNumfoliofinal.setConstraint("no empty, no negative, no zero");
} else {
txtNumfolioinicio.setConstraint("");
txtNumfoliofinal.setConstraint("");
txtNumfolioinicio.setValue(null);
txtNumfoliofinal.setValue(null);
txtNumfolioinicio.setDisabled(Boolean.TRUE);
txtNumfoliofinal.setDisabled(Boolean.TRUE);
}
}
public void onClick$chkValidaSerieSubserie(Event ev) {
if (chkValidaSerieSubserie.isChecked()) {
txtSerie.setConstraint("no empty");
txtSubserie.setConstraint("no empty");
txtSerie.setDisabled(Boolean.FALSE);
txtSubserie.setDisabled(Boolean.FALSE);
} else {
txtSerie.setConstraint("");
txtSubserie.setConstraint("");
txtSerie.setValue(null);
txtSubserie.setValue(null);
txtSerie.setDisabled(Boolean.TRUE);
txtSubserie.setDisabled(Boolean.TRUE);
}
}
public void onClick$btnSalvar(Event ev) throws InterruptedException {
txtDescSecretaria.getValue();
txtCveSecretaria.getValue();
try {
if (lsCuponSecretaria.isEmpty()) {
Messagebox.show(
org.zkoss.zul.Messagebox.show(
Labels.getLabel("editarSecretariaController.MSG.necessaitaPorcentaje.value"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION);
return;
}
secretaria.setActivo(true);
secretaria.setFecmodif(Calendar.getInstance().getTime());
secretaria.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
secretaria.setLsCuponSecretaria(lsCuponSecretaria);
secretaria.setValidafolio(chkValidaFolio.isChecked());
secretaria.setValidaSerieSubSerie(chkValidaSerieSubserie.isChecked());
if (rdDescuento.isChecked()) {
secretaria.setImprimeprecio(Secretaria.DESCUENTO_COBRAR);
} else if (rdPrecioDescuento.isChecked()) {
@ -329,10 +362,8 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
} else if (rdPrecioTotal.isChecked()) {
secretaria.setImprimeprecio(Secretaria.PRECIO_TOTAL);
}
boolean podeSalvar = false;
List<Secretaria> lsSecretaria = secretariaService.buscar(secretaria.getDescsecretaria());
if (lsSecretaria.isEmpty()) {
podeSalvar = true;
} else {
@ -342,7 +373,6 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
}
}
}
if (podeSalvar) {
if (secretaria.getSecretariaId() == null) {
secretariaService.suscribir(secretaria);
@ -351,107 +381,99 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
secretariaService.actualizacion(secretaria);
secretariaList.updateItem(secretaria);
}
Messagebox.show(
org.zkoss.zul.Messagebox.show(
Labels.getLabel("editarSecretariaController.MSG.suscribirOK"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.INFORMATION);
closeWindow();
} else {
Messagebox.show(
Labels.getLabel("MSG.Registro.Existe"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
mostraMensagemRegistroExistente();
}
} catch (Exception ex) {
log.error("",ex);
Messagebox.show(
EditarSecretariaController.log.error("", ex);
org.zkoss.zul.Messagebox.show(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.ERROR);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.ERROR);
}
}
public void onClick$btnApagar(Event ev) throws InterruptedException {
try {
int resp = Messagebox.show(
int resp = org.zkoss.zul.Messagebox.show(
Labels.getLabel("editarSecretariaController.MSG.borrarPergunta"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) {
org.zkoss.zul.Messagebox.YES | org.zkoss.zul.Messagebox.NO, org.zkoss.zul.Messagebox.QUESTION);
if (resp == org.zkoss.zul.Messagebox.YES) {
secretariaService.borrar(secretaria);
Messagebox.show(
org.zkoss.zul.Messagebox.show(
Labels.getLabel("editarSecretariaController.MSG.borrarOK"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.INFORMATION);
secretariaList.removeItem(secretaria);
closeWindow();
}
} catch (Exception ex) {
log.error("",ex);
Messagebox.show(
EditarSecretariaController.log.error("", ex);
org.zkoss.zul.Messagebox.show(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.ERROR);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.ERROR);
}
}
public void onClick$btnAdicionarCuponSecretaria(Event ev) throws InterruptedException {
txtPorcdescuento.setConstraint("no empty");
txtPorcdescuento.getValue();
if (txtPorcdescuento.getValueDecimal().compareTo(new BigDecimal("100")) > 0) {
Clients.wrongValue(txtPorcdescuento, Labels.getLabel("MSG.Porcentaje"));
return;
}
if (chkValidaFolio.isChecked()) {
txtNumfolioinicio.setConstraint("no empty, no negative, no zero");
txtNumfoliofinal.setConstraint("no empty, no negative, no zero");
txtNumfolioinicio.getValue();
txtNumfoliofinal.getValue();
}
try {
BigDecimal porcdescuento = BigDecimal.valueOf(Double.parseDouble(txtPorcdescuento.getValue()));
BigDecimal porcdescuentoOutros = BigDecimal.valueOf(Double.parseDouble(txtPorcdescuentoOutros.getValue()));
BigDecimal porcdescuentoPedagio = BigDecimal.valueOf(Double.parseDouble(txtPorcdescuentoPedagio.getValue()));
BigDecimal porcdescuentoSeguro = BigDecimal.valueOf(Double.parseDouble(txtPorcdescuentoSeguro.getValue()));
BigDecimal porcdescuentoTaxaEmbarque = BigDecimal.valueOf(Double.parseDouble(txtPorcdescuentoTaxaEmbarque.getValue()));
Long numfolioinicio = txtNumfolioinicio.getValue();
Long numfoliofinal = txtNumfoliofinal.getValue();
String serie = txtSerie.getValue() != null ? txtSerie.getValue().trim() : null;
String subserie = txtSubserie.getValue() != null ? txtSubserie.getValue() : null;
if (chkValidaFolio.isChecked() && (numfolioinicio > numfoliofinal)) {
Messagebox.show(
org.zkoss.zul.Messagebox.show(
Labels.getLabel("MSG.Folios"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION);
return;
}
Boolean achou = Boolean.FALSE;
for (CuponSecretaria cds : secretaria.getLsCuponSecretaria()) {
if (cds.getNumfoliofinal() != null
&& cds.getNumfolioinicio() != null) {
if (cds.getNumfoliofinal().equals(numfoliofinal)
&& cds.getNumfolioinicio().equals(numfolioinicio)
&& cds.getPorcdescuento().equals(porcdescuento)) {
achou = Boolean.TRUE;
if (chkValidaSerieSubserie.isChecked() && (StringUtils.isEmpty(txtSerie.getValue()) ||
StringUtils.isEmpty(txtSubserie.getValue()))) {
org.zkoss.zul.Messagebox.show(
Labels.getLabel("MSG.Folios"),
Labels.getLabel("editarSecretariaController.window.title"),
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION);
return;
}
Boolean achouCupon = Boolean.FALSE;
if (chkValidaFolio.isChecked() || chkValidaSerieSubserie.isChecked()) {
achouCupon = validaCuponExistente(porcdescuento, numfolioinicio, numfoliofinal, serie, subserie);
if (achouCupon == null) {
return;
}
if (chkValidaFolio.isChecked()) {
int resp = registroDuplicadoIntersecao(numfolioinicio, numfoliofinal);
if (resp != 0) {
org.zkoss.zul.Messagebox.show(
(resp == 1) ? Labels.getLabel("MSG.Registro.Existe") : Labels.getLabel("editarSecretariaController.MSG.registroTraslapado"),
Labels.getLabel("editarSecretariaController.window.title"),
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION);
insereConstrants();
return;
}
}
}
if (!achou) {
if (!achouCupon) {
CuponSecretaria cd = new CuponSecretaria();
cd.setActivo(Boolean.TRUE);
cd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
@ -461,91 +483,179 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
cd.setPorcdescuentopedagio(porcdescuentoPedagio);
cd.setPorcdescuentoseguro(porcdescuentoSeguro);
cd.setPorcdescuentotaxaembarque(porcdescuentoTaxaEmbarque);
cd.setNumfolioinicio(numfolioinicio);
cd.setNumfoliofinal(numfoliofinal);
if (chkValidaFolio.isChecked()) {
int resp = registroDuplicado(numfolioinicio, numfoliofinal);
if (resp != 0) {
Messagebox.show(
(resp == 1) ? Labels.getLabel("MSG.Registro.Existe") : Labels.getLabel("editarSecretariaController.MSG.registroTraslapado"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
} else {
if (lsCuponSecretaria.size() >= 1) {
Messagebox.show(
Labels.getLabel("editarSecretariaController.MSG.pocentaje"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
return;
}
}
cd.setSerie(serie);
cd.setSubserie(subserie);
lsCuponSecretaria.add(cd);
cuponSecretariaList.setData(lsCuponSecretaria);
secretaria.setLsCuponSecretaria(lsCuponSecretaria);
chkValidaFolio.setDisabled(Boolean.TRUE);
txtPorcdescuento.setConstraint("");
txtNumfolioinicio.setConstraint("");
txtNumfoliofinal.setConstraint("");
txtPorcdescuento.setText(null);
txtPorcdescuentoOutros.setText(null);
txtPorcdescuentoPedagio.setText(null);
txtPorcdescuentoSeguro.setText(null);
txtPorcdescuentoTaxaEmbarque.setText(null);
txtNumfolioinicio.setValue(null);
txtNumfoliofinal.setValue(null);
removeConstrants();
reiniciaCamposTexto();
insereConstrants();
} else {
Messagebox.show(
Labels.getLabel("MSG.Registro.Existe"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.EXCLAMATION);
mostraMensagemRegistroExistente();
}
} catch (Exception ex) {
log.error("",ex);
Messagebox.show(
EditarSecretariaController.log.error("", ex);
org.zkoss.zul.Messagebox.show(
Labels.getLabel("MSG.Error"),
Labels.getLabel("editarSecretariaController.window.title"),
Messagebox.OK, Messagebox.ERROR);
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.ERROR);
}
}
/**
* Reinicia os valores do campo de texto.
*/
private void reiniciaCamposTexto() {
txtPorcdescuento.setText(null);
txtPorcdescuentoOutros.setText("0");
txtPorcdescuentoPedagio.setText("0");
txtPorcdescuentoSeguro.setText("0");
txtPorcdescuentoTaxaEmbarque.setText("0");
txtNumfolioinicio.setValue(null);
txtNumfoliofinal.setValue(null);
txtSerie.setValue(null);
txtSubserie.setValue(null);
}
/**
* Remove Connstrants dos campos de texto
*/
private void removeConstrants() {
txtSerie.setConstraint("");
txtSubserie.setConstraint("");
txtPorcdescuento.setConstraint("");
txtNumfolioinicio.setConstraint("");
txtNumfoliofinal.setConstraint("");
}
/**
* Insere cosntrants dos campos de texto.
*/
private void insereConstrants() {
txtPorcdescuento.setConstraint("no empty");
if (chkValidaFolio.isChecked()) {
txtNumfolioinicio.setConstraint("no empty, no negative, no zero");
txtNumfoliofinal.setConstraint("no empty, no negative, no zero");
}
if (chkValidaSerieSubserie.isChecked()) {
txtSerie.setConstraint("no empty");
txtSubserie.setConstraint("no empty");
}
}
private void mostraMensagemRegistroExistente() throws InterruptedException {
org.zkoss.zul.Messagebox.show(
Labels.getLabel("MSG.Registro.Existe"),
Labels.getLabel("editarSecretariaController.window.title"),
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION);
}
/**
*
* Valida se existe Fólio cadastrado para Cupon Secretaria informado.
*
* @param porcdescuento
* @param numfolioinicio
* @param numfoliofinal
* @param achouFolio
* @param cds
* @return
* 0 - Esta ok
* 1 - Registro duplicado
* 2 - Registro traslapado
* @throws InterruptedException
*/
private int registroDuplicado(Long folioIni, Long folioFin) throws InterruptedException {
Collections.sort(lsCuponSecretaria, new Comparator<CuponSecretaria>() {
private Boolean validaFolioCuponSecretaria(BigDecimal porcdescuento, Long numfolioinicio, Long numfoliofinal, Boolean achouFolio, CuponSecretaria cds) throws InterruptedException {
if (cds.getNumfoliofinal() != null
&& cds.getNumfolioinicio() != null) {
if (cds.getNumfoliofinal().equals(numfoliofinal)
&& cds.getNumfolioinicio().equals(numfolioinicio)
&& cds.getPorcdescuento().equals(porcdescuento)) {
achouFolio = Boolean.TRUE;
}
} else {
if (cds.getNumfolioinicio() == null && cds.getNumfoliofinal() == null) {
org.zkoss.zul.Messagebox.show(
Labels.getLabel("editarSecretariaController.MSG.necessarioRemoverCupon.value"),
Labels.getLabel("editarSecretariaController.window.title"),
org.zkoss.zul.Messagebox.OK, org.zkoss.zul.Messagebox.EXCLAMATION);
return null;
}
}
return achouFolio;
}
/**
* Valida se existe Cupon Secretaria para os dados informados.
*
* @param porcdescuento
* @param numfolioinicio
* @param numfoliofinal
* @param serie
* @param subserie
* @return
* @throws InterruptedException
*/
private Boolean validaCuponExistente(BigDecimal porcdescuento, Long numfolioinicio, Long numfoliofinal, String serie, String subserie) throws InterruptedException {
Boolean achouFolio = Boolean.FALSE;
for (CuponSecretaria cds : secretaria.getLsCuponSecretaria()) {
if (chkValidaSerieSubserie.isChecked()) {
if (StringUtils.isNotEmpty(cds.getSerie()) && StringUtils.isNotEmpty(cds.getSubserie())) {
if (cds.getSerie().trim().equals(serie)
&& cds.getSubserie().trim().equals(subserie)) {
if (getChkValidaFolio().isChecked()) {
Boolean isValidaCupon = validaFolioCuponSecretaria(porcdescuento, numfolioinicio, numfoliofinal, achouFolio, cds);
if (isValidaCupon == null) {
return null;
} else {
return isValidaCupon;
}
} else {
return Boolean.TRUE;
}
}
}
} else {
achouFolio = validaFolioCuponSecretaria(porcdescuento, numfolioinicio, numfoliofinal, achouFolio, cds);
if (achouFolio == null) {
return null;
} else {
return achouFolio;
}
}
}
return Boolean.FALSE;
}
/**
* Valida se o registro está duplicado ou se os período do fólio informado se sobrepõe a outro já existentes.
*
* @return 0 - Esta ok 1 - Registro duplicado 2 - Registro traslapado
* @throws InterruptedException
*/
private int registroDuplicadoIntersecao(Long folioIni, Long folioFin) throws InterruptedException {
Collections.sort(lsCuponSecretaria, new Comparator<CuponSecretaria>() {
@Override
public int compare(CuponSecretaria o1, CuponSecretaria o2) {
if (o1.getNumfolioinicio() != null) {
return o1.getNumfolioinicio().compareTo(o2.getNumfoliofinal());
} else {
return -1;
}
}
});
for (CuponSecretaria pv : lsCuponSecretaria) {
if (!pv.getActivo()) {
if (!pv.getActivo() || (pv.getNumfolioinicio() == null && pv.getNumfoliofinal() == null)) {
continue;
}
if (TraslaparUtil.intersectNum(pv.getNumfolioinicio().longValue(), pv.getNumfoliofinal().longValue(),
folioIni, folioFin)) {
return 2;
}
}
return 0;
}
@ -555,18 +665,14 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
cd.setActivo(Boolean.FALSE);
cd.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
cd.setFecmodif(Calendar.getInstance().getTime());
if (cd.getCuponsecretariaId() != null) {
cuponSecretariaService.borrar(cd);
}
lsCuponSecretaria.remove(cd);
if (lsCuponSecretaria.isEmpty()) {
btnAdicionarCuponSecretaria.setDisabled(Boolean.FALSE);
chkValidaFolio.setDisabled(Boolean.FALSE);
}
cuponSecretariaList.setData(lsCuponSecretaria);
secretaria.setLsCuponSecretaria(lsCuponSecretaria);
}
@ -588,4 +694,27 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
this.lsEmpresas = lsEmpresas;
}
public Checkbox getChkValidaSerieSubserie() {
return chkValidaSerieSubserie;
}
public void setChkValidaSerieSubserie(Checkbox chkValidaSerieSubserie) {
this.chkValidaSerieSubserie = chkValidaSerieSubserie;
}
public Textbox getTxtSerie() {
return txtSerie;
}
public void setTxtSerie(Textbox txtSerie) {
this.txtSerie = txtSerie;
}
public Textbox getTxtSubserie() {
return txtSubserie;
}
public void setTxtSubserie(Textbox txtSubserie) {
this.txtSubserie = txtSubserie;
}
}

View File

@ -55,6 +55,7 @@ public class MyTextboxDecimal extends Textbox implements AfterCompose {
this.addEventListener("onChanging", new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
if (event instanceof InputEvent) {
@ -68,7 +69,7 @@ public class MyTextboxDecimal extends Textbox implements AfterCompose {
private BigDecimal getBigDecimal(String val) {
if ((val == null) || (val.trim().equals(""))) {
return (BigDecimal) null;
return null;
}
val = val.trim();
@ -144,6 +145,7 @@ public class MyTextboxDecimal extends Textbox implements AfterCompose {
this.defaultZero = defaultZero;
}
@Override
public void afterCompose() {
aplicarMascara();
@ -185,7 +187,7 @@ public class MyTextboxDecimal extends Textbox implements AfterCompose {
constraintTag.validate(comp, oVal);
}
String val = oVal.toString();
String val = oVal != null ? oVal.toString() : null;
if (obligatorio && ((val == null) || (val.trim().equals("")))) {
throw new WrongValueException(
comp,

View File

@ -15,6 +15,16 @@ import org.zkoss.zul.ListitemRenderer;
* @author Administrador
*/
public class RenderCuponSecretaria implements ListitemRenderer {
private Boolean isMostraSerieSubserie;
public RenderCuponSecretaria(){
super();
}
public RenderCuponSecretaria(Boolean isMostraSerieSubserie ){
super();
this.isMostraSerieSubserie = isMostraSerieSubserie;
}
public void render(Listitem lstm, Object o) throws Exception {
CuponSecretaria cuponSecretaria = (CuponSecretaria) o;
@ -44,7 +54,24 @@ public class RenderCuponSecretaria implements ListitemRenderer {
lc = new Listcell("");
}
lc.setParent(lstm);
//Séie
if(isMostraSerieSubserie){
String serie = cuponSecretaria.getSerie();
if (serie != null) {
lc = new Listcell(serie.toString());
} else {
lc = new Listcell("");
}
lc.setParent(lstm);
//Subserie
String subserie = cuponSecretaria.getSubserie();
if (subserie != null) {
lc = new Listcell(subserie.toString());
} else {
lc = new Listcell("");
}
lc.setParent(lstm);
}
BigDecimal porcentagemOutros = cuponSecretaria.getPorcdescuentooutros();
if (porcentagemOutros != null) {
lc = new Listcell(porcentagemOutros.setScale(2).toString());
@ -79,4 +106,6 @@ public class RenderCuponSecretaria implements ListitemRenderer {
lstm.setAttribute("data", cuponSecretaria);
}
}

View File

@ -4296,6 +4296,7 @@ busquedaSecretariaController.SecretariaID.label = ID
busquedaSecretariaController.CveSecretaria.label = Código secretaria
busquedaSecretariaController.btnPesquisa.label = Búsqueda
busquedaSecretariaController.validafolio.label = Validar numero del documento
busquedaSecretariaController.seriesubserie.label = Validar Série e Subsérie
busquedaSecretariaController.imprimeprecio.label = Valor a imprimir
# Editar Secretaria
@ -4306,6 +4307,7 @@ editarSecretariaController.btnFechar.tooltiptext = Cerrar
editarSecretariaController.lbDescSecretaria.value = Orden de compra - Secretaria
editarSecretariaController.lbCveSecretaria.value = Código secretaria
editarSecretariaController.lbValidaFolio.value = Validar numero del documento
editarSecretariaController.lbSerieSubserie.value = Validar Série e Subsérie
editarSecretariaController.lbPorcDescuentoOutros.value=% Outros
editarSecretariaController.lbPorcDescuentoPedagio.value=% Peaje
editarSecretariaController.lbPorcDescuentoSeguro.value=% Seguro
@ -4323,6 +4325,8 @@ editarSecretariaController.lbPorcdescuentoSeguro.value=% Seguro
editarSecretariaController.lbPorcdescuentoTaxaEmbarque.value=% Tasa abordaje
editarSecretariaController.lbNumfolioinicio.value = Numero del documento inicial
editarSecretariaController.lbNumfoliofinal.value = Numero del documento final
editarSecretariaController.lbSerie.value = Série
editarSecretariaController.lbSubserie.value = SubSérie
editarSecretariaController.MSG.suscribirOK = Secretaria se registró exitosamente
editarSecretariaController.MSG.borrarPergunta = Eliminar secretaria?
editarSecretariaController.MSG.borrarOK = Secretaria se eliminó exitosamente
@ -4398,11 +4402,6 @@ busquedaRegionMetropolitanaController.btnPesquisa.label = Búsqueda
busquedaRegionMetropolitanaController.lhId.label = ID
busquedaRegionMetropolitanaController.lhRegion.label = Region Metropolitana
editarRegionMetropolitanaController.lhParada.label = Cuidad
editarRegionMetropolitanaController.window.title = Região Metropolitana
editarRegionMetropolitanaController.MSG.suscribirOK = Região Metropolitana Registrado com Sucesso.
editarRegionMetropolitanaController.MSG.borrarPergunta = Eliminar a Região Metropolitana?
editarRegionMetropolitanaController.MSG.borrarOK = Região Metropolitana Excluido com Sucesso.
editarRegionMetropolitanaController.MSG.vazio = É necessário informar pelo menos uma cidade.
# Búsqueda Artículo
busquedaArticuloController.window.title = Articulo

View File

@ -4366,6 +4366,7 @@ editarSecretariaController.btnFechar.tooltiptext = Fechar
editarSecretariaController.lbDescSecretaria.value = Ordem de Serviço - Secretaria
editarSecretariaController.lbCveSecretaria.value = Código Secretaria
editarSecretariaController.lbValidaFolio.value = Validar Número do Documento
editarSecretariaController.lbSerieSubserie.value = Validar Série e Subsérie
editarSecretariaController.lbPorcDescuentoOutros.value=% Outros
editarSecretariaController.lbPorcDescuentoPedagio.value=% Pedagio
editarSecretariaController.lbPorcDescuentoSeguro.value=% Seguro
@ -4383,6 +4384,8 @@ editarSecretariaController.lbPorcdescuentoSeguro.value=% Seguro
editarSecretariaController.lbPorcdescuentoTaxaEmbarque.value=% Taxa Embarque
editarSecretariaController.lbNumfolioinicio.value = Número do Documento Inicial
editarSecretariaController.lbNumfoliofinal.value = Número do Documento Final
editarSecretariaController.lbSerie.value = Série
editarSecretariaController.lbSubserie.value = SubSérie
editarSecretariaController.MSG.suscribirOK = Secretaria Registrada com Sucesso.
editarSecretariaController.MSG.borrarPergunta = Eliminar Secretaria?
editarSecretariaController.MSG.borrarOK = Secretaria Excluida com Sucesso.
@ -4390,6 +4393,7 @@ editarSecretariaController.MSG.folio = Número do documento final é menor ou ig
editarSecretariaController.MSG.necessaitaPorcentaje.value = Necessita informar uma porcentagem
editarSecretariaController.MSG.registroTraslapado = O número do documento informado se sobrepõe com outro já existente
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.
# Pesquisa Cidade
busquedaCiudadController.window.title = Cidade
@ -4462,7 +4466,6 @@ editarRegionMetropolitanaController.window.title = Região Metropolitana
editarRegionMetropolitanaController.MSG.suscribirOK = Região Metropolitana Registrado com Sucesso.
editarRegionMetropolitanaController.MSG.borrarPergunta = Eliminar a Região Metropolitana?
editarRegionMetropolitanaController.MSG.borrarOK = Região Metropolitana Excluido com Sucesso.
editarRegionMetropolitanaController.MSG.vazio = É necessário informar pelo menos uma cidade.
# Pesquisa Artigo
busquedaArticuloController.window.title = Artigo

View File

@ -63,6 +63,13 @@
value="@{winEditarSecretaria$composer.secretaria.validafolio}"
checked="true" />
</row>
<row id="rowValidaSerieSubserie">
<label
value="${c:l('editarSecretariaController.lbSerieSubserie.value')}" />
<checkbox id="chkValidaSerieSubserie"
value="@{winEditarSecretaria$composer.secretaria.validaseriesubserie}"
checked="true" />
</row>
<row spans="2">
<label
value="${c:l('editarSecretariaController.Impression.value')}" />
@ -97,7 +104,7 @@
<row>
<label
value="${c:l('editarSecretariaController.lbPorcdescuento.value')}" />
<textbox id="txtPorcdescuento"
<decimalbox id="txtPorcdescuento" constraint="no empty"
maxValue="100" maxlength="6"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal" />
</row>
@ -113,6 +120,22 @@
<longbox id="txtNumfoliofinal"
maxlength="10" />
</row>
<row id="rowSerieSubserie" spans="2">
<hbox>
<label
value="${c:l('editarSecretariaController.lbSerie.value')}" />
<textbox id="txtSerie"
constraint="no empty"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"
maxlength="10" />
<label
value="${c:l('editarSecretariaController.lbSubserie.value')}" />
<textbox id="txtSubserie"
constraint="no empty"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox"
maxlength="10" />
</hbox>
</row>
<row>
<label
value="${c:l('editarSecretariaController.lbPorcDescuentoOutros.value')}" />
@ -164,6 +187,10 @@
label="${c:l('editarSecretariaController.lbNumfolioinicio.value')}" />
<listheader image="/gui/img/create_doc.gif"
label="${c:l('editarSecretariaController.lbNumfoliofinal.value')}" />
<listheader id="columnSerie" image="/gui/img/create_doc.gif"
label="${c:l('editarSecretariaController.lbSerie.value')}" />
<listheader id="columnSubserieSerie" image="/gui/img/create_doc.gif"
label="${c:l('editarSecretariaController.lbSubserie.value')}" />
<listheader image="/gui/img/create_doc.gif"
label="${c:l('editarSecretariaController.lbPorcdescuentoOutros.value')}" />
<listheader image="/gui/img/create_doc.gif"

View File

@ -84,12 +84,6 @@
<label value="${c:l('editarUsuarioController.confirmarsenha.label')}"/>
<textbox type="password" id="txtConfirmSenha" width="80%" maxlength="10" />
</row>
<row>
<label
value="${c:l('editarUsuarioController.chkExpiraSenha.label')}" />
<checkbox id="chkExpiraSenha"
checked="@{winEditarUsuario$composer.usuario.indExpiraSenha}" />
</row>
<row>
<!-- descCorreo -->
<label value="${c:l('editarPuntoVentaController.lbDescCorreo.value')}"/>