diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java index 480fc767f..386e89a78 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioReceitaDiariaAgencia.java @@ -196,26 +196,45 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { BigDecimal baseCalculoSeguro = BigDecimal.ZERO; BigDecimal percComissaoSeguro = BigDecimal.ZERO; BigDecimal valorComissaoSeguro = BigDecimal.ZERO; - + + boolean isSeguroObrigatorioReceitaBPR = (Boolean) configComissao.get("SEGURORECEITA") || (Boolean) configComissao.get("SEGURO_DEV"); // Defini a base de calculo da comissão if (motivoCancelacionId == null) { if ((Boolean) configComissao.get("TARIFARECEITA") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null) baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO") ); - if ((Boolean) configComissao.get("SEGURORECEITA") && this.resultSet.getBigDecimal("IMPORTESEGURO") != null) - baseCalculoSeguro = baseCalculoSeguro.add(this.resultSet.getBigDecimal("IMPORTESEGURO")); if ((Boolean) configComissao.get("TAXARECEITA") && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null) baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE")); if ((Boolean) configComissao.get("PEDAGIORECEITA") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null) baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO")); + + if(this.resultSet.getBigDecimal("IMPORTESEGURO") != null) { + if (isSeguroObrigatorioReceitaBPR) { + if((Boolean) configComissao.get("SEGURORECEITA")) { + baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTESEGURO")); + } + } else { + baseCalculoSeguro = baseCalculoSeguro.add(this.resultSet.getBigDecimal("IMPORTESEGURO")); + } + } + } else { if ((Boolean) configComissao.get("TARIFADEV") && this.resultSet.getBigDecimal("PRECIOPAGADO") != null) baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("PRECIOPAGADO")); - if ((Boolean) configComissao.get("SEGURO_DEV") && this.resultSet.getBigDecimal("IMPORTESEGURO") != null) - baseCalculoSeguro = baseCalculoSeguro.add(this.resultSet.getBigDecimal("IMPORTESEGURO")); if ((Boolean) configComissao.get("TAXADEV") && this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE") != null) baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTETAXAEMBARQUE")); if ((Boolean) configComissao.get("PEDAGIODEV") && this.resultSet.getBigDecimal("IMPORTEPEDAGIO") != null) baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTEPEDAGIO")); + + if(this.resultSet.getBigDecimal("IMPORTESEGURO") != null) { + if (isSeguroObrigatorioReceitaBPR) { + if((Boolean) configComissao.get("SEGURO_DEV")) { + baseCalculo = baseCalculo.add(this.resultSet.getBigDecimal("IMPORTESEGURO")); + } + } else { + baseCalculoSeguro = baseCalculoSeguro.add(this.resultSet.getBigDecimal("IMPORTESEGURO")); + } + } + } // Caso esteje setado na configuração de comissão que o calculo deve ser sobre o liquido, deduz o imposto. @@ -247,9 +266,6 @@ public class RelatorioReceitaDiariaAgencia extends Relatorio { percComissao = isAltaTemporada ? (BigDecimal) configComissao.get("PASSAGEMALTA") : (BigDecimal) configComissao.get("PASSAGEMBAIXA"); percComissaoSeguro = isAltaTemporada ? (BigDecimal) configComissao.get("SEGUROOBRIGATORIOALTA") : (BigDecimal) configComissao.get("SEGUROOBRIGATORIOBAIXA"); - if (percComissao == null && percComissaoSeguro == null) - return; - if(percComissao == null) { percComissao = BigDecimal.ZERO; } diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java index bf87b1c76..472a86ac8 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaComissaoController.java @@ -199,6 +199,7 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer if (cmbReceita.getSelectedItem() != null) { this.ptovtaComissao.setReceita((String) cmbReceita.getSelectedItem().getValue()); } + definirValoresComissaoSeguroObrigatorio(); definirValoresCamposComissaoImpPosterior(); ptovtaComissaoService.actualizacion(this.ptovtaComissao); @@ -211,11 +212,18 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer } + private void definirValoresComissaoSeguroObrigatorio() { + if(isCheckboxSeguroMarcado()) { + ptovtaComissao.setSeguroobrigatorioBaixa(null); + ptovtaComissao.setSeguroobrigatorioAlta(null); + } + } + public void onClick$btnApagarPtovtaComissao(Event ev) { try { int resp = Messagebox.show( Labels.getLabel("editarPuntoVentaComissaoController.MSG.borrarPergunta"), - Labels.getLabel("editarPuntoVentaComissaoController.window.title"), + Labels.getLabel("editarPuntoVentaComissaoController.window.title", new String[] {this.ptovtaComissao.getEmpresaId().getNombempresa()}), Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); if (resp == Messagebox.YES) { @@ -224,7 +232,7 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer Messagebox.show( Labels.getLabel("editarPuntoVentaComissaoController.MSG.borrarOK"), - Labels.getLabel("editarPuntoVentaComissaoController.window.title"), + Labels.getLabel("editarPuntoVentaComissaoController.window.title", new String[] {this.ptovtaComissao.getEmpresaId().getNombempresa()}), Messagebox.OK, Messagebox.INFORMATION); ptovtaComissaoList.removeItem(this.ptovtaComissao); @@ -541,33 +549,25 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer } private boolean verificarCampos() throws InterruptedException { - if((ptovtaComissao.getSeguroReceita() || ptovtaComissao.getSeguroDev()) && - isNullOrZero(ptovtaComissao.getSeguroobrigatorioBaixa()) && isNullOrZero(ptovtaComissao.getSeguroobrigatorioAlta())) { - + if(isCheckboxSeguroMarcado() && isCampoPercentualSeguroPreenchido()) { Messagebox.show( - Labels.getLabel("editarPuntoVentaComissaoController.INFO.seguroMarcadoSemValor"), - Labels.getLabel("editarPuntoVentaComissaoController.window.title"), + Labels.getLabel("editarPuntoVentaComissaoController.MSG.valorCamposSeguro"), + Labels.getLabel("editarPuntoVentaComissaoController.window.title", new String[] {this.ptovtaComissao.getEmpresaId().getNombempresa()}), Messagebox.OK, Messagebox.EXCLAMATION); return false; } - - /* pelo mantis 21994 não é mais obrigatorio essa validacao - if(!ptovtaComissao.getSeguroReceita() && !ptovtaComissao.getSeguroDev() && - (!isNullOrZero(ptovtaComissao.getSeguroobrigatorioBaixa()) || !isNullOrZero(ptovtaComissao.getSeguroobrigatorioAlta()))) { - - Messagebox.show( - Labels.getLabel("editarPuntoVentaComissaoController.INFO.seguroDesmarcadoComValor"), - Labels.getLabel("editarPuntoVentaComissaoController.window.title"), - Messagebox.OK, Messagebox.EXCLAMATION); - - return false; - } - */ - return true; } + private boolean isCheckboxSeguroMarcado() { + return ptovtaComissao.getSeguroReceita() || ptovtaComissao.getSeguroDev(); + } + + private boolean isCampoPercentualSeguroPreenchido() { + return !isNullOrZero(ptovtaComissao.getSeguroobrigatorioBaixa()) || !isNullOrZero(ptovtaComissao.getSeguroobrigatorioAlta()); + } + private boolean isNullOrZero(BigDecimal valor) { return valor == null || MoneyHelper.isIgual(valor, BigDecimal.ZERO); } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 240631b25..117d19fe1 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -1814,8 +1814,11 @@ editarPuntoVentaComissaoController.MSG.suscribirOKContaMD = Porcentaje de empres editarPuntoVentaComissaoController.MSG.jaPossuiItem = El porcentaje de empresa / punto de venta ya existe para esta cuenta editarPuntoVentaComissaoController.MSG.borrarPerguntaPtovtaContaMD = ¿Quiere eliminar este porcentaje de empresa / punto de venta? editarPuntoVentaComissaoController.MSG.borrarOKContaMD = Porcentaje de la empresa / punto de venta eliminado correctamente -editarPuntoVentaComissaoController.INFO.seguroMarcadoSemValor = Seguro marcado en BPR Revenue Composition con valor incorrecto definido en Obligatorio Seguro -editarPuntoVentaComissaoController.INFO.seguroDesmarcadoComValor = Seguro compensado en Composición de Ingresos BPR con valor definido en Seguro Obligatorio +editarPuntoVentaComissaoController.MSG.valorCamposSeguro = No es posible marcar los campos definidos para Seguro en el campo 'Composición de ingresos BPR' o 'Composición de devolución' e informar los porcentajes de comisión en el campo 'Seguro obligatorio' simultáneamente, el usuario debe elegir qué método de comisión de seguro se utilizará usó. +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro.value = La comisión por seguro obligatorio se puede configurar de dos formas: +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro1.value = 1- Informar los porcentajes en el campo Seguro obligatorio. +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro2.value = 2- Marcando Seguro en los campos Composición de ingresos de BPR o Composición de retorno. +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro3.value = *Solo se debe elegir una de las opciones. # Muestra o TipoVenta Búsqueda busquedaTipoVentaController.window.title = Modalidad de venta diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 257da8fcd..2c1b03fa2 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -1998,8 +1998,11 @@ editarPuntoVentaComissaoController.MSG.suscribirOKContaMD = Porcentagem da Empre editarPuntoVentaComissaoController.MSG.jaPossuiItem = Porcentagem da Empresa/Ponto de Venda já existe para esta conta editarPuntoVentaComissaoController.MSG.borrarPerguntaPtovtaContaMD = Deseja eliminar esta Porcentagem da Empresa/Ponto de Venda? editarPuntoVentaComissaoController.MSG.borrarOKContaMD = Porcentagem da Empresa/Ponto de Venda excluida com sucesso -editarPuntoVentaComissaoController.INFO.seguroMarcadoSemValor = Seguro marcado em Composição da Receita de BPR com valor incorreto definido em Seguro Obrigatório -editarPuntoVentaComissaoController.INFO.seguroDesmarcadoComValor = Seguro desmarcado em Composição da Receita de BPR com valor definido em Seguro Obrigatório +editarPuntoVentaComissaoController.MSG.valorCamposSeguro = Não é possível marcar os campos definidos para Seguro no campo 'Composição da Receita de BPR' ou 'Composição da Devolução' e informar os percentuais de comissão no campo 'Seguro Obrigatório' simultaneamente, o usuário deverá escolher qual método de comissão para seguro a ser utilizado. +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro.value = A comissão destinada ao Seguro Obrigatório pode ser configurada de duas formas: +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro1.value = 1- Informando os percentuais no campo Seguro Obrigatório. +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro2.value = 2- Marcando Seguro nos campos Composição da Receita de BPR ou Composição da Devolução. +editarPuntoVentaComissaoController.MSG.lblInfoComissaoSeguro3.value = *Somente 1 das opções deverá ser escolhida. # Muestra o TipoVenta Pesquisa busquedaTipoVentaController.window.title = Modalidade de Venda diff --git a/web/gui/catalogos/editarPuntoVentaComissao.zul b/web/gui/catalogos/editarPuntoVentaComissao.zul index e499f3297..f8c3364fd 100644 --- a/web/gui/catalogos/editarPuntoVentaComissao.zul +++ b/web/gui/catalogos/editarPuntoVentaComissao.zul @@ -467,6 +467,20 @@ checked="@{winEditarPuntoVentaComissao$composer.ptovtaComissao.indbilhetesdevcanorigem}" /> + + + + + + diff --git a/web/gui/img/warning.png b/web/gui/img/warning.png new file mode 100644 index 000000000..d3273636e Binary files /dev/null and b/web/gui/img/warning.png differ