diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java index 7ded28b9e..ef91034d6 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaController.java @@ -50,6 +50,7 @@ import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.FormaPago; import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; import com.rjconsultores.ventaboletos.entidad.InstiFinanceira; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.TipoEventoExtra; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.CategoriaService; @@ -67,6 +68,7 @@ import com.rjconsultores.ventaboletos.utilerias.CustomEnum; import com.rjconsultores.ventaboletos.utilerias.RegistroConDependenciaException; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; @@ -149,7 +151,6 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private List lsCidades; private MyTextbox numtelefono; private MyTextbox numTelSACDef; - private MyTextbox txtChaveAntifraude; private Checkbox chkIndcarboletosdevolvidosconf; private Checkbox chkIndBoletoAgrupado; @@ -205,6 +206,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer { private Textbox txtEquivalenciaAG; private Checkbox chkBPe; private Checkbox chkIndgennumfoliovtaintimpost; + private Checkbox chkHabilitaIEDescentralizada; + private MyComboboxParada cmbOrigemIEDescentralizada; private List lsCategorias; private List lsFormaPagos; @@ -919,14 +922,32 @@ public class EditarEmpresaController extends MyGenericForwardComposer { String inscEstCNPJ = txtInscEstCNPJ.getValue(); String equivalenciaAG = txtEquivalenciaAG.getValue(); Boolean isBPe = chkBPe.isChecked(); + Boolean isHabilitaIEDescentralizada = chkHabilitaIEDescentralizada.isChecked(); + Parada origemIEDescentralizada = cmbOrigemIEDescentralizada.getSelectedObject(); + + if(!validarCamposIEDescentralizada()) { + return; + } for (int i = 0; i < inscEstadualList.getModel().getSize(); i++) { - if (((InscricaoEstadual) inscEstadualList.getModel().getElementAt(i)).getEstado().equals(estado)) { - Messagebox.show( - Labels.getLabel("editarEmpresaController.MSG.insEstadualCadastrada"), - Labels.getLabel("editarPricingController.windowMarca.title"), - Messagebox.OK, Messagebox.EXCLAMATION); - return; + + InscricaoEstadual inscricaoEstadual = (InscricaoEstadual) inscEstadualList.getModel().getElementAt(i); + if(isHabilitaIEDescentralizada) { + if (inscricaoEstadual.getEstado().equals(estado) && origemIEDescentralizada.equals(inscricaoEstadual.getOrigemIEDescentralizada())) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.origemIEDescentralizadaJaInformada", new String[] {origemIEDescentralizada.getDescparada(), inscricaoEstadual.getEstado().getNombestado()}), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + } else { + if (inscricaoEstadual.getEstado().equals(estado)) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.insEstadualCadastrada"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } } } @@ -934,6 +955,14 @@ public class EditarEmpresaController extends MyGenericForwardComposer { inscEstLogradouro, inscEstNumero, inscEstComplemento, inscEstCEP, inscEstBairro, ciudad, inscEstCNPJ); nuevaInscEstadual.setEquivalenciaAG(equivalenciaAG); nuevaInscEstadual.setIsBPe(isBPe); + + nuevaInscEstadual.setIndHabilitaIEDescentralizada(isHabilitaIEDescentralizada); + if(isHabilitaIEDescentralizada) { + nuevaInscEstadual.setOrigemIEDescentralizada(origemIEDescentralizada); + } else { + nuevaInscEstadual.setOrigemIEDescentralizada(null); + } + empresaService.actualizaInscEstadual(nuevaInscEstadual); empresa.getInscricoesEstaduais().add(nuevaInscEstadual); @@ -950,6 +979,34 @@ public class EditarEmpresaController extends MyGenericForwardComposer { txtInscEstCNPJ.setText(null); } + private boolean validarCamposIEDescentralizada() throws InterruptedException { + Boolean isHabilitaIEDescentralizada = chkHabilitaIEDescentralizada.isChecked(); + if(!isHabilitaIEDescentralizada) { + return true; + } + + Parada origemIEDescentralizada = cmbOrigemIEDescentralizada.getSelectedObject(); + if(origemIEDescentralizada == null) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.origemIEDescentralizadaNaoInformada"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + Estado estado = (Estado) cmbEstadoInscEstadual.getSelectedItem().getValue(); + if(origemIEDescentralizada.getCiudad() == null || + !origemIEDescentralizada.getCiudad().getEstado().equals(estado)) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.origemIEDescentralizadaUFIncompativel"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + return true; + } + public void onClick$btnRemoverInscEstadual(Event ev) throws InterruptedException { InscricaoEstadual inscEstadual = (InscricaoEstadual) inscEstadualList.getSelected(); @@ -1600,4 +1657,8 @@ public class EditarEmpresaController extends MyGenericForwardComposer { this.chkHabilitarVendaEstudanteTotem = chkHabilitarVendaEstudanteTotem; } + public Boolean getHabilitaIEDescentralizada() { + return ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_HABILITA_IE_DESCENTRALIZADA.getDescricao()); + } + } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaInscricaoEstadualController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaInscricaoEstadualController.java index 699c23f28..88476b77b 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaInscricaoEstadualController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarEmpresaInscricaoEstadualController.java @@ -22,10 +22,14 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Ciudad; import com.rjconsultores.ventaboletos.entidad.Estado; import com.rjconsultores.ventaboletos.entidad.InscricaoEstadual; +import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.exception.BusinessException; import com.rjconsultores.ventaboletos.service.CiudadService; import com.rjconsultores.ventaboletos.service.EmpresaService; import com.rjconsultores.ventaboletos.service.EstadoService; +import com.rjconsultores.ventaboletos.utilerias.ApplicationProperties; +import com.rjconsultores.ventaboletos.utilerias.CustomEnum; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxParada; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; import com.rjconsultores.ventaboletos.web.utilerias.MyListbox; import com.rjconsultores.ventaboletos.web.utilerias.MyTextbox; @@ -65,6 +69,8 @@ public class EditarEmpresaInscricaoEstadualController extends MyGenericForwardCo private Textbox txtInscEstBairro; private Textbox txtEquivalenciaAG; private Checkbox chkBPe; + private Checkbox chkHabilitaIEDescentralizada; + private MyComboboxParada cmbOrigemIEDescentralizada; private List lsCidades; private List lsEstados; @@ -86,6 +92,7 @@ public class EditarEmpresaInscricaoEstadualController extends MyGenericForwardCo if (inscricaoEstadual != null) { alterarCidade(inscricaoEstadual.getEstado()); chkBPe.setChecked(inscricaoEstadual.getIsBPe() != null ? inscricaoEstadual.getIsBPe() : false); + chkHabilitaIEDescentralizada.setChecked(inscricaoEstadual.getIndHabilitaIEDescentralizada() != null ? inscricaoEstadual.getIndHabilitaIEDescentralizada() : false); } } @@ -110,12 +117,28 @@ public class EditarEmpresaInscricaoEstadualController extends MyGenericForwardCo public void onClick$btnSalvar(Event ev) throws InterruptedException, BusinessException { Estado estado = (Estado) cmbEstadoInscEstadual.getSelectedItem().getValue(); + + Boolean isHabilitaIEDescentralizada = chkHabilitaIEDescentralizada.isChecked(); + Parada origemIEDescentralizada = cmbOrigemIEDescentralizada.getSelectedObject(); + + if(!validarCamposIEDescentralizada()) { + return; + } for (int i = 0; i < inscEstadualList.getModel().getSize(); i++) { - - if (((InscricaoEstadual) inscEstadualList.getModel().getElementAt(i)).getEstado().equals(estado)) { - //Verifica se é o objeto é diferente do que está sendo editado - if (!((InscricaoEstadual) inscEstadualList.getModel().getElementAt(i)).equals(inscricaoEstadual)) { + InscricaoEstadual inscricaoEstadual = (InscricaoEstadual) inscEstadualList.getModel().getElementAt(i); + if(isHabilitaIEDescentralizada) { + if (!inscricaoEstadual.equals(this.inscricaoEstadual) && + inscricaoEstadual.getEstado().equals(estado) && + origemIEDescentralizada.equals(inscricaoEstadual.getOrigemIEDescentralizada())) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.origemIEDescentralizadaJaInformada", new String[] {origemIEDescentralizada.getDescparada(), inscricaoEstadual.getEstado().getNombestado()}), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return; + } + } else { + if (inscricaoEstadual.getEstado().equals(estado) && !inscricaoEstadual.equals(this.inscricaoEstadual)) { Messagebox.show( Labels.getLabel("editarEmpresaController.MSG.insEstadualCadastrada"), Labels.getLabel("editarPricingController.windowMarca.title"), @@ -125,6 +148,13 @@ public class EditarEmpresaInscricaoEstadualController extends MyGenericForwardCo } } + inscricaoEstadual.setIndHabilitaIEDescentralizada(isHabilitaIEDescentralizada); + if(isHabilitaIEDescentralizada) { + inscricaoEstadual.setOrigemIEDescentralizada(origemIEDescentralizada); + } else { + inscricaoEstadual.setOrigemIEDescentralizada(null); + } + inscricaoEstadual.setIsBPe(chkBPe.isChecked()); empresaService.actualizaInscEstadual(inscricaoEstadual); @@ -133,6 +163,34 @@ public class EditarEmpresaInscricaoEstadualController extends MyGenericForwardCo closeWindow(); } + private boolean validarCamposIEDescentralizada() throws InterruptedException { + Boolean isHabilitaIEDescentralizada = chkHabilitaIEDescentralizada.isChecked(); + if(!isHabilitaIEDescentralizada) { + return true; + } + + Parada origemIEDescentralizada = cmbOrigemIEDescentralizada.getSelectedObject(); + if(origemIEDescentralizada == null) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.origemIEDescentralizadaNaoInformada"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + Estado estado = (Estado) cmbEstadoInscEstadual.getSelectedItem().getValue(); + if(origemIEDescentralizada.getCiudad() == null || + !origemIEDescentralizada.getCiudad().getEstado().equals(estado)) { + Messagebox.show( + Labels.getLabel("editarEmpresaController.MSG.origemIEDescentralizadaUFIncompativel"), + Labels.getLabel("editarPricingController.windowMarca.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + return true; + } + public List getLsCidades() { return lsCidades; } @@ -260,4 +318,9 @@ public class EditarEmpresaInscricaoEstadualController extends MyGenericForwardCo public void setChkBPe(Checkbox chkBPe) { this.chkBPe = chkBPe; } + + public Boolean getHabilitaIEDescentralizada() { + return ApplicationProperties.getInstance().isCustomHabilitado(CustomEnum.IS_HABILITA_IE_DESCENTRALIZADA.getDescricao()); + } + } diff --git a/web/gui/catalogos/editarEmpresa.zul b/web/gui/catalogos/editarEmpresa.zul index 5ac588c8b..972c87e27 100644 --- a/web/gui/catalogos/editarEmpresa.zul +++ b/web/gui/catalogos/editarEmpresa.zul @@ -801,7 +801,7 @@ - +