fixes bug#al-2723

master
Aristides 2023-07-14 22:18:12 -03:00
parent 52d3aef706
commit 6c309f80c6
8 changed files with 107 additions and 3 deletions

View File

@ -4,12 +4,12 @@
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.rjconsultores</groupId>
<artifactId>ventaboletosadm</artifactId>
<version>1.9.2</version>
<version>1.10.0</version>
<packaging>war</packaging>
<properties>
<modelWeb.version>1.6.12</modelWeb.version>
<flyway.version>1.5.2</flyway.version>
<modelWeb.version>1.7.0</modelWeb.version>
<flyway.version>1.6.0</flyway.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

View File

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

View File

@ -13,6 +13,8 @@ import java.util.List;
import org.apache.commons.lang.StringUtils;
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.context.annotation.Scope;
import org.springframework.stereotype.Controller;
@ -26,15 +28,19 @@ import org.zkoss.zul.Button;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Longbox;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Radio;
import org.zkoss.zul.Row;
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.Empresa;
import com.rjconsultores.ventaboletos.entidad.FormaPago;
import com.rjconsultores.ventaboletos.entidad.Secretaria;
import com.rjconsultores.ventaboletos.entidad.SecretariaEmpresa;
import com.rjconsultores.ventaboletos.service.ConstanteService;
import com.rjconsultores.ventaboletos.service.CuponSecretariaService;
import com.rjconsultores.ventaboletos.service.EmpresaService;
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.MyGenericForwardComposer;
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.render.RenderCuponSecretaria;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderSecretariaEmpresa;
@ -88,6 +95,7 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
private Longbox txtRUT;
private Textbox txtDirSecretaria;
private Textbox txtCiudad;
private MyTextbox txtCNPJ;
private Button btnApagar;
private Button btnAdicionarCuponSecretaria;
private Radio rdPrecioTotal;
@ -97,6 +105,9 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
private Checkbox chkValidaSerieSubserie;
private Checkbox chkVoucherRod;
private MyComboboxEstandar cmbEmpresa;
@Autowired
private ConstanteService constanteService;
private static Logger log = Logger.getLogger(EditarSecretariaController.class);
private Row rowComboFormaPago;
@ -306,6 +317,7 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
txtRUT.setValue(secretaria.getRut());
txtDirSecretaria.setText(secretaria.getDireccion());
txtCiudad.setText(secretaria.getCiudad());
txtCNPJ.setText(secretaria.getCnpj());
}
rowComboFormaPago.setVisible(chkVoucherRod.isChecked());
@ -396,7 +408,21 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
txtDescSecretaria.getValue();
txtCveSecretaria.getValue();
cmbFormaPago.getValue();
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;
@ -450,6 +476,7 @@ 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()) {
@ -788,6 +815,55 @@ public class EditarSecretariaController extends MyGenericForwardComposer {
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) {
rowComboFormaPago.setVisible(chkVoucherRod.isChecked());

View File

@ -5761,6 +5761,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.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.cnjp.CNPJincorreto=CNPJ inválido, verifique o campo.
editarSecretariaController.cnpj.label=CNPJ
# Pesquisa Cidade
busquedaCiudadController.window.title = Cidade

View File

@ -5446,6 +5446,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.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.cnjp.CNPJincorreto=CNPJ inválido, verifique o campo.
editarSecretariaController.cnpj.label=CNPJ
# Búsqueda Ciudad
busquedaCiudadController.window.title = Ciudad

View File

@ -5735,6 +5735,7 @@ busquedaSecretariaController.btnNovo.tooltiptext = Incluir
busquedaSecretariaController.btnCerrar.tooltiptext = Fechar
busquedaSecretariaController.DescSecretaria.label = Descrição
busquedaSecretariaController.SecretariaID.label = ID
busquedaSecretariaController.cnpj.label = CNPJ
busquedaSecretariaController.CveSecretaria.label = Código Secretaria
busquedaSecretariaController.btnPesquisa.label = Pesquisa
busquedaSecretariaController.validafolio.label = Validar Número do Documento
@ -5783,6 +5784,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.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.cnjp.CNPJincorreto=CNPJ inválido, verifique o campo.
editarSecretariaController.cnpj.label=CNPJ
# Pesquisa Cidade
busquedaCiudadController.window.title = Cidade

View File

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

View File

@ -56,6 +56,14 @@
value="@{winEditarSecretaria$composer.secretaria.cvesecretaria}"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextbox" />
</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>
<label
value="${c:l('editarSecretariaController.lbRut.value')}" />