From 0a817d374fdea2b4ab6d2a41e868e473be007821 Mon Sep 17 00:00:00 2001 From: valdir Date: Thu, 19 Sep 2019 18:32:40 +0000 Subject: [PATCH] 0015431: Melhoria VIOP - ESPEC_TotalBus_cobrancaTaxaDiaria - Chamado: REQ-627858; bug#15431 dev:thiago qua:junia git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@97720 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../catalogos/EditarPuntoVentaController.java | 366 +++++++++++++++++- .../render/RenderCobrancaAdcPuntoVenta.java | 91 +++++ .../RenderCobrancaAdcicionalHistorico.java | 36 ++ src/java/spring-config.xml | 6 +- web/WEB-INF/i3-label_es_MX.label | 42 +- web/WEB-INF/i3-label_pt_BR.label | 42 +- web/gui/catalogos/editarPuntoVenta.zul | 227 ++++++++++- 7 files changed, 798 insertions(+), 12 deletions(-) create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcPuntoVenta.java create mode 100644 src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcicionalHistorico.java diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java index 1cce75b9a..25135fe53 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/catalogos/EditarPuntoVentaController.java @@ -82,6 +82,8 @@ import com.rjconsultores.ventaboletos.constantes.ConstantesFuncionSistema; import com.rjconsultores.ventaboletos.entidad.Categoria; import com.rjconsultores.ventaboletos.entidad.CategoriaBloqueioImpPosterior; import com.rjconsultores.ventaboletos.entidad.Ciudad; +import com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta; +import com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico; import com.rjconsultores.ventaboletos.entidad.Colonia; import com.rjconsultores.ventaboletos.entidad.Constante; import com.rjconsultores.ventaboletos.entidad.Empresa; @@ -122,6 +124,7 @@ import com.rjconsultores.ventaboletos.exception.IntegracionException; import com.rjconsultores.ventaboletos.exception.ValidacionCampoException; import com.rjconsultores.ventaboletos.service.CategoriaBloqueioImpPosteriorService; import com.rjconsultores.ventaboletos.service.CategoriaService; +import com.rjconsultores.ventaboletos.service.CobrancaAdcPuntoVentaService; import com.rjconsultores.ventaboletos.service.ColoniaService; import com.rjconsultores.ventaboletos.service.ConstanteService; import com.rjconsultores.ventaboletos.service.EmpresaService; @@ -166,6 +169,8 @@ import com.rjconsultores.ventaboletos.web.utilerias.render.PtovtaEstoqueRender; import com.rjconsultores.ventaboletos.web.utilerias.render.PtovtaHorarioRender; import com.rjconsultores.ventaboletos.web.utilerias.render.PtovtaUsuarioBancarioRender; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCategoriaBloqueioVendaImpPosterior; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCobrancaAdcPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.render.RenderCobrancaAdcicionalHistorico; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderEmpresaBloquear; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderParadaPtoVtaCheckin; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPtoVtaSeguro; @@ -192,7 +197,8 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { private static Logger log = Logger.getLogger(EditarPuntoVentaController.class); public static final String FUNCION_TIPO_BOLETO_BLOQUEADO = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.TIPOBOLETOBLOQUEADO"; - + public static final String FUNCION_COBRANCA_ADICIONAL = "COM.RJCONSULTORES.ADMINISTRACION.PUNTOVENTA.COBRANCAADICIONAL"; + @Autowired private PuntoVentaService puntoVentaService; @Autowired @@ -469,8 +475,37 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { @Autowired private DataSource dataSource; - - + + //CobrancaAdicional + private Textbox descricaoCobranca; + private Doublebox valorCobrancaAdicional; + private List lsEmpresasCobrancaAdicional; + private List lsTodasCobrancas; + private Combobox cmbEmpresaCobranca; + private Combobox cmbCobrancasPuntoVenta; + private Radio radioDiario; + private Radio radioSemanal; + private Radio radioMensal; + private Radio radioSegunda; + private Radio radioTerca; + private Radio radioQuarta; + private Radio radioQuinta; + private Radio radioSexta; + private Radio radioPrimeiroDiaMes; + private Radio radioUltimoDiaMes; + private MyListbox cobrancaAdicionalList; + private MyListbox historicoCobrancaList; + private Radio radioProximoCiclo; + private Radio radioProximoDia; + private CobrancaAdcPuntoVenta cobrancaAux = new CobrancaAdcPuntoVenta(); + private Datebox dataInicioCobranca; + private Datebox dataFimCobranca; + private Datebox dataInicioHistorico; + private Datebox dataFimHistorico; + private Boolean utilizaCobrancaAdicional = false; + @Autowired + private CobrancaAdcPuntoVentaService cobrancaAdcService; + public Button getBtnApagar() { return btnApagar; } @@ -503,6 +538,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { lsCategoriaSel = new HashSet(); lsCategoriaBloquear = categoriaService.obtenerTodasCategoriasVisibles(); lsEmpresasBloquear = empresaService.obtenerTodos(); + lsEmpresasCobrancaAdicional = empresaService.obtenerTodos(); lsEmpresas = obterEmpresasUsuarioLogadoComOpcaoTodas(); lsEmpresasSemTodos = UsuarioLogado.getUsuarioLogado().getEmpresa(); lsMoneda = monedaService.obtenerTodos(); @@ -517,6 +553,8 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { lsLogFiles = getLogFiles(); puntoVenta = (PuntoVenta) Executions.getCurrent().getArg().get("puntoVenta"); + lsTodasCobrancas = cobrancaAdcService.buscarTodasAsCobrancas(puntoVenta); + super.doAfterCompose(comp); if(puntoVenta.getIndBloqueiaTipoPassagem()) { @@ -542,17 +580,29 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { cmbBanco.setSelectedIndex(lsBanco.indexOf(puntoVenta.getAgenciaId().getInstiFinanceiraId())); } }); + + utilizaCobrancaAdicional = utilizaCobrancaAdicional(); aplicarMascara(); - popularCombobox(cmbTipoConta, cmbPessoa, cmbForm, cmbLote, cmbPosicao, cmbReceita, cmbEmpresas, cmbUsuarioEmpresa); + popularCombobox(cmbTipoConta, cmbPessoa, cmbForm, cmbLote, cmbPosicao, cmbReceita, cmbEmpresas, cmbUsuarioEmpresa, cmbEmpresaCobranca, cmbCobrancasPuntoVenta); ptovtaEmpresasBloqueadasList.setItemRenderer(new RenderEmpresaBloquear()); ptovtaPtoVtaCheckinList.setItemRenderer(new RenderParadaPtoVtaCheckin()); ptovtaPtoVtaSeguroList.setItemRenderer(new RenderPtoVtaSeguro()); + cobrancaAdicionalList.setItemRenderer(new RenderCobrancaAdcPuntoVenta()); + historicoCobrancaList.setItemRenderer(new RenderCobrancaAdcicionalHistorico()); ptovtaCatIndList.setItemRenderer(new RenderPtovtaCatInd()); ptovtaHistoricoList.setItemRenderer(new PuntoVendaHistoricoBloqueioListItemRenderer()); categoriasBloqImpPosteriorList.setItemRenderer(new RenderCategoriaBloqueioVendaImpPosterior()); + + cobrancaAdicionalList.addEventListener("onDoubleClick", new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + CobrancaAdcPuntoVenta cobranca = (CobrancaAdcPuntoVenta) cobrancaAdicionalList.getSelected(); + carregarCobrancaAdicional(cobranca); + } + }); ptovtaComissaoList.setItemRenderer(new RenderPtovtaComissao()); ptovtaComissaoList.addEventListener("onDoubleClick", new EventListener() { @@ -580,8 +630,9 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { ptovtaPtoVtaSeguroList.setData(puntoVenta.getPtovtaSeguroList()); ptovtaCatIndList.setData(puntoVenta.getPtovtaCatIndList()); ptovtaHistoricoList.setData(puntoVenta.getHistoricoPuntoVentaList()); - categoriasBloqImpPosteriorList.setData(puntoVenta.getCategoriaBloqImpPosteriorList()); - + categoriasBloqImpPosteriorList.setData(puntoVenta.getCategoriaBloqImpPosteriorList()); + cobrancaAdicionalList.setData(puntoVenta.getCobrancaAdicionalList()); + if (puntoVenta.getColonia() != null) { cmbCiudad.setText(puntoVenta.getColonia().getCiudad().getNombciudad()); cmbColonia.setText(puntoVenta.getColonia().getDesccolonia()); @@ -995,7 +1046,7 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { } } - public void popularCombobox(Combobox cmbConta, Combobox cmbPessoa, Combobox cmbForm, Combobox cmbLote, Combobox cmbPosicao, Combobox cmbReceita, Combobox cmbEmpresas, Combobox cmbUsuarioEmpresa) throws Exception { + public void popularCombobox(Combobox cmbConta, Combobox cmbPessoa, Combobox cmbForm, Combobox cmbLote, Combobox cmbPosicao, Combobox cmbReceita, Combobox cmbEmpresas, Combobox cmbUsuarioEmpresa, Combobox cmbEmpresaCobranca, Combobox cmbCobrancasPuntoVenta) throws Exception { clearCombobox(cmbConta); clearCombobox(cmbPessoa); @@ -1004,6 +1055,20 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { clearCombobox(cmbPosicao); clearCombobox(cmbEmpresas); clearCombobox(cmbUsuarioEmpresa); + clearCombobox(cmbEmpresaCobranca); + clearCombobox(cmbCobrancasPuntoVenta); + + for (CobrancaAdcPuntoVenta cb : lsTodasCobrancas) { + Comboitem comboItem = new Comboitem(cb.getDescricao()); + comboItem.setValue(cb); + comboItem.setParent(cmbCobrancasPuntoVenta); + } + + for (Empresa e : lsEmpresasCobrancaAdicional) { + Comboitem comboItem = new Comboitem(e.getNombempresa()); + comboItem.setValue(e); + comboItem.setParent(cmbEmpresaCobranca); + } for (Empresa e : lsEmpresasBloquear) { Comboitem comboItem = new Comboitem(e.getNombempresa()); @@ -3868,5 +3933,292 @@ public class EditarPuntoVentaController extends MyGenericForwardComposer { radIndBloquear.setSelected(Boolean.TRUE); } } + + public List getLsEmpresasCobrancaAdicional() { + return lsEmpresasCobrancaAdicional; + } + public List getLsTodasCobrancas() { + return lsTodasCobrancas; + } + + public void setLsTodasCobrancas(List lsTodasCobrancas) { + this.lsTodasCobrancas = lsTodasCobrancas; + } + + public void setLsEmpresasCobrancaAdicional(List lsEmpresasCobrancaAdicional) { + this.lsEmpresasCobrancaAdicional = lsEmpresasCobrancaAdicional; + } + + public void onCheck$radioDiario(Event event) { + deselecionaSemana(); + deselecionaMensal(); + } + + public void onCheck$radioSemanal(Event event) { + deselecionaMensal(); + } + + public void onCheck$radioMensal(Event event) { + deselecionaSemana(); + } + + public void onCheck$radioSegunda(Event event) { + selecaoRadioButtonCobrancaAdicional(); + } + + public void onCheck$radioTerca(Event event) { + selecaoRadioButtonCobrancaAdicional(); + } + + public void onCheck$radioQuarta(Event event) { + selecaoRadioButtonCobrancaAdicional(); + } + + public void onCheck$radioQuinta(Event event) { + selecaoRadioButtonCobrancaAdicional(); + } + + public void onCheck$radioSexta(Event event) { + selecaoRadioButtonCobrancaAdicional(); + } + + public void onCheck$radioPrimeiroDiaMes(Event event) { + selecionadoDiasDoMes(); + } + + public void onCheck$radioUltimoDiaMes(Event event) { + selecionadoDiasDoMes(); + } + + private void selecionadoDiasDoMes() { + if(radioPrimeiroDiaMes.isSelected() || radioUltimoDiaMes.isSelected()) { + deselecionaSemana(); + radioMensal.setSelected(true); + radioSemanal.setSelected(false); + } + } + + private void selecaoRadioButtonCobrancaAdicional() { + if(radioSegunda.isSelected() || radioTerca.isSelected() || radioQuarta.isSelected() + || radioQuinta.isSelected() || radioSexta.isSelected()) { + radioSemanal.setSelected(true); + radioDiario.setSelected(false); + radioMensal.setSelected(false); + } + } + + private void deselecionaSemana() { + radioSegunda.setSelected(false); + radioTerca.setSelected(false); + radioQuarta.setSelected(false); + radioQuinta.setSelected(false); + radioSexta.setSelected(false); + } + + private void deselecionaMensal() { + radioPrimeiroDiaMes.setSelected(false); + radioUltimoDiaMes.setSelected(false); + } + + public void onClick$btnSalvarCobrancaAdicional(Event ev) { + + if(!validaInsercaoCobrancaAdicional()) { + return; + } + + boolean novo = true; + + for (CobrancaAdcPuntoVenta p : puntoVenta.getCobrancaAdicionalList()) { + if (p.getCobrancaAddPuntoVenta_id() != null && p.getActivo() && p.equals(cobrancaAux)) { + cobrancaAux = p; + novo = false; + } + } + + if(novo) { + cobrancaAux = new CobrancaAdcPuntoVenta(); + } + + Empresa empresa = (Empresa) cmbEmpresaCobranca.getSelectedItem().getValue(); + + cobrancaAux.setDescricao(descricaoCobranca.getValue()); + cobrancaAux.setEmpresa(empresa); + cobrancaAux.setValor(BigDecimal.valueOf(valorCobrancaAdicional.getValue())); + cobrancaAux.setPuntoVenta(puntoVenta); + cobrancaAux.setDiario(radioDiario.isSelected()); + cobrancaAux.setSemanal(radioSemanal.isSelected()); + cobrancaAux.setMensal(radioMensal.isSelected()); + cobrancaAux.setSegunda(radioSegunda.isSelected()); + cobrancaAux.setTerca(radioTerca.isSelected()); + cobrancaAux.setQuarta(radioQuarta.isSelected()); + cobrancaAux.setQuinta(radioQuinta.isSelected()); + cobrancaAux.setSexta(radioSexta.isSelected()); + cobrancaAux.setPrimeiroDiaUtil(radioPrimeiroDiaMes.isSelected()); + cobrancaAux.setUltimoDiaUtil(radioUltimoDiaMes.isSelected()); + + cobrancaAux.setDataInicial(dataInicioCobranca.getValue()); + cobrancaAux.setDataFinal(dataFimCobranca.getValue()); + + cobrancaAux.setDescontarProximoCiclo(radioProximoCiclo.isSelected()); + cobrancaAux.setDescontarProximoDia(radioProximoDia.isSelected()); + + if(novo) { + puntoVenta.addCobrancaAddPuntoVenta(cobrancaAux); + } + + cobrancaAdicionalList.setData(puntoVenta.getCobrancaAdicionalList()); + } + + private Boolean validaInsercaoCobrancaAdicional() { + try { + if (cmbEmpresaCobranca.getValue() == null) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemEmpresa.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if (descricaoCobranca.getValue() == null || descricaoCobranca.getValue().isEmpty()) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemDescricao.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if (dataInicioCobranca.getValue() == null || dataFimCobranca.getValue() == null) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemDatas.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + return false; + } + + if (valorCobrancaAdicional.getValue() == null || valorCobrancaAdicional.getValue() == 0) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemValor.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return false; + } + + if (!( radioDiario.isSelected() || radioMensal.isSelected() || radioSemanal.isSelected() )) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemFrequencia.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return false; + + } else if(radioSemanal.isSelected()) { //Se escolher semana e não escolher um dia + if(!( radioSegunda.isSelected() || radioTerca.isSelected() || radioQuarta.isSelected() + || radioQuinta.isSelected() || radioSexta.isSelected())) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemFrequencia.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return false; + } + } + + if (!(radioProximoCiclo.isSelected() || radioProximoDia.isSelected())) { + Messagebox.show(Labels.getLabel("editarPuntoVentaController.erroSemPagamentoDinheiro.value"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.OK, Messagebox.EXCLAMATION); + + return false; + } + } catch (Exception e) { + log.error("Erro ao validar a inserção da cobranca adicional no ponto de venda: ", e); + } + + return true; + } + + public void onClick$btnApagarCobrancaAdicional(Event event) { + try{ + int resp = Messagebox.show( + Labels.getLabel("editarPuntoVentaController.MSG.apagarCobrançaAdicional"), + Labels.getLabel("editarPuntoVentaController.window.title"), + Messagebox.YES | Messagebox.NO, Messagebox.QUESTION); + + if (resp == Messagebox.YES) { + CobrancaAdcPuntoVenta cobranca = (CobrancaAdcPuntoVenta)cobrancaAdicionalList.getSelected(); + + puntoVenta.removeCobrancaAddPuntoVenta(cobranca); + + if (cobranca.getCobrancaAddPuntoVenta_id() != null) { + cobrancaAdcService.borrar(cobranca); + } + + carregarCobrancaAdicional(null); + cobrancaAdicionalList.setData(puntoVenta.getCobrancaAdicionalList()); + } + } catch (Exception e){ + log.error("Erro ao apagar cobranca adicional", e); + } + } + + private void carregarCobrancaAdicional(CobrancaAdcPuntoVenta cobranca) { + if(cobranca != null) { + cobrancaAux = cobranca; + + descricaoCobranca.setValue(cobrancaAux.getDescricao()); + valorCobrancaAdicional.setValue(cobrancaAux.getValor().doubleValue()); + + cmbEmpresaCobranca.setSelectedIndex(lsEmpresasCobrancaAdicional.indexOf(cobrancaAux.getEmpresa())); + + dataInicioCobranca.setValue(cobranca.getDataInicial()); + dataFimCobranca.setValue(cobranca.getDataFinal()); + + radioDiario.setSelected(cobrancaAux.getDiario()); + radioSemanal.setSelected(cobrancaAux.getSemanal()); + radioMensal.setSelected(cobrancaAux.getMensal()); + radioSegunda.setSelected(cobrancaAux.getSegunda()); + radioTerca.setSelected(cobrancaAux.getTerca()); + radioQuarta.setSelected(cobrancaAux.getQuarta()); + radioQuinta.setSelected(cobrancaAux.getQuinta()); + radioSexta.setSelected(cobrancaAux.getSexta()); + + radioPrimeiroDiaMes.setSelected(cobrancaAux.getPrimeiroDiaUtil()); + radioUltimoDiaMes.setSelected(cobrancaAux.getUltimoDiaUtil()); + + radioProximoCiclo.setSelected(cobrancaAux.getDescontarProximoCiclo()); + radioProximoDia.setSelected(cobrancaAux.getDescontarProximoDia()); + } + } + + public void onClick$btnPesquisarHistorico(Event event) { + try{ + CobrancaAdcPuntoVenta cobranca = (CobrancaAdcPuntoVenta) cmbCobrancasPuntoVenta.getSelectedItem().getValue(); + + List historicoCobranca = cobrancaAdcService.buscaHistoricoCobranca(cobranca, dataInicioHistorico.getValue(), dataFimHistorico.getValue()); + + historicoCobrancaList.setData(historicoCobranca); + + } catch (Exception e){ + log.error("Erro ao buscar historico da cobranca adicional", e); + } + } + + @Transactional + public boolean utilizaCobrancaAdicional() { + Usuario usuarioLogado = usuarioService.obtenerID(UsuarioLogado.getUsuarioLogado().getUsuarioId()); + List listUsuarioPerfil = usuarioLogado.getUsuarioPerfilList(); + for (UsuarioPerfil up : listUsuarioPerfil) { + List listPerfilFuncion = up.getPerfil().getPerfilFuncionList(); + for (PerfilFuncion pf : listPerfilFuncion) { + if(pf.getFuncionSistema().getDescruta().equals(FUNCION_COBRANCA_ADICIONAL)) + return true; + } + } + + return false; + } + + public Boolean getUtilizaCobrancaAdicional() { + return utilizaCobrancaAdicional; + } + + public void setUtilizaCobrancaAdicional(Boolean utilizaCobrancaAdicional) { + this.utilizaCobrancaAdicional = utilizaCobrancaAdicional; + } } \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcPuntoVenta.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcPuntoVenta.java new file mode 100644 index 000000000..f09aefd1c --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcPuntoVenta.java @@ -0,0 +1,91 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.util.Locale; + +import org.zkoss.util.resource.Labels; +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.CurrencyUtil; + +public class RenderCobrancaAdcPuntoVenta implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + CobrancaAdcPuntoVenta cobranca = (CobrancaAdcPuntoVenta) o; + + Listcell lc = new Listcell(cobranca.getCobrancaAddPuntoVenta_id() == null ? "" : cobranca.getCobrancaAddPuntoVenta_id().toString()); + lc.setParent(lstm); + + lc = new Listcell(cobranca.getDescricao()); + lc.setParent(lstm); + + Locale locale = new Locale("pt", "BR"); + lc = new Listcell(CurrencyUtil.getCurrencyBigDecimalFromStr(cobranca.getValor(), locale)); + lc.setParent(lstm); + + lc = new Listcell(getPeriodo(cobranca)); + lc.setParent(lstm); + + lc = new Listcell(cobranca.getEmpresa().getNombempresa()); + lc.setParent(lstm); + + lc = new Listcell(getCicloFrequencia(cobranca)); + lc.setParent(lstm); + + lc = new Listcell(getPagamentoDinheiro(cobranca)); + lc.setParent(lstm); + + lstm.setAttribute("data", cobranca); + } + + private String getPeriodo(CobrancaAdcPuntoVenta cobranca) { + StringBuilder periodo = new StringBuilder(); + + periodo.append(DateUtil.getStringDate(cobranca.getDataInicial())); + periodo.append(" - "); + periodo.append(DateUtil.getStringDate(cobranca.getDataFinal())); + + return periodo.toString(); + } + + private String getCicloFrequencia(CobrancaAdcPuntoVenta cobranca) { + StringBuilder mensagem = new StringBuilder(); + + if(cobranca.getDiario()) { + mensagem.append(Labels.getLabel("editarEmpresaController.diario.label") ); + } else if(cobranca.getSemanal()) { + mensagem.append(Labels.getLabel("editarEmpresaController.semanal.label")).append("/"); + + if(cobranca.getSegunda()) { + mensagem.append(Labels.getLabel("editarEmpresaController.segunda.label")); + } else if(cobranca.getTerca()) { + mensagem.append(Labels.getLabel("editarEmpresaController.terca.label")); + } else if(cobranca.getQuarta()) { + mensagem.append(Labels.getLabel("editarEmpresaController.quarta.label")); + } else if(cobranca.getQuinta()) { + mensagem.append(Labels.getLabel("editarEmpresaController.quinta.label")); + } else if(cobranca.getSexta()) { + mensagem.append(Labels.getLabel("editarEmpresaController.sexta.label")); + } + } else if(cobranca.getMensal()) { + mensagem.append(Labels.getLabel("editarEmpresaController.mensal.label")).append("/"); + + if(cobranca.getPrimeiroDiaUtil()) { + mensagem.append(Labels.getLabel("editarEmpresaController.primeiroDia.label")); + } else if(cobranca.getUltimoDiaUtil()) { + mensagem.append(Labels.getLabel("editarEmpresaController.ultimoDia.label")); + } + } + + return mensagem.toString(); + } + + private String getPagamentoDinheiro(CobrancaAdcPuntoVenta cobranca) { + return Boolean.TRUE.equals(cobranca.getDescontarProximoCiclo()) + ? Labels.getLabel("editarPuntoVentaController.lbAcumularCiclo") + : Labels.getLabel("editarPuntoVentaController.lbProximoDia"); + } +} diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcicionalHistorico.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcicionalHistorico.java new file mode 100644 index 000000000..10e7228fc --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/render/RenderCobrancaAdcicionalHistorico.java @@ -0,0 +1,36 @@ +package com.rjconsultores.ventaboletos.web.utilerias.render; + +import java.util.Locale; + +import org.zkoss.zul.Listcell; +import org.zkoss.zul.Listitem; +import org.zkoss.zul.ListitemRenderer; + +import com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico; +import com.rjconsultores.ventaboletos.utilerias.DateUtil; +import com.rjconsultores.ventaboletos.web.utilerias.CurrencyUtil; + +public class RenderCobrancaAdcicionalHistorico implements ListitemRenderer { + + public void render(Listitem lstm, Object o) throws Exception { + CobrancaAdicionalHistorico cobranca = (CobrancaAdicionalHistorico) o; + + Listcell lc = new Listcell(DateUtil.getStringDate(cobranca.getDataRegistro())); + lc.setParent(lstm); + + Locale locale = new Locale("pt", "BR"); + lc = new Listcell(CurrencyUtil.getCurrencyBigDecimalFromStr(cobranca.getValorAplicado(), locale)); + lc.setParent(lstm); + + lc = new Listcell(CurrencyUtil.getCurrencyBigDecimalFromStr(cobranca.getValorAcumulado(), locale)); + lc.setParent(lstm); + + lc = new Listcell(cobranca.getCobrancaEfetuada() ? "SIM" : "NÃO"); + lc.setParent(lstm); + + lc = new Listcell(cobranca.getMotivo()); + lc.setParent(lstm); + + lstm.setAttribute("data", cobranca); + } +} diff --git a/src/java/spring-config.xml b/src/java/spring-config.xml index 72381b481..1246bc10f 100644 --- a/src/java/spring-config.xml +++ b/src/java/spring-config.xml @@ -486,8 +486,10 @@ com.rjconsultores.ventaboletos.entidad.LogHistoricoContingencia com.rjconsultores.ventaboletos.entidad.EmpresaTrocoSimples com.rjconsultores.ventaboletos.entidad.Imagem - com.rjconsultores.ventaboletos.entidad.RutaIcmsExcepcion - com.rjconsultores.ventaboletos.entidad.ConfTotem + com.rjconsultores.ventaboletos.entidad.RutaIcmsExcepcion + com.rjconsultores.ventaboletos.entidad.CobrancaAdcPuntoVenta + com.rjconsultores.ventaboletos.entidad.CobrancaAdicionalHistorico + com.rjconsultores.ventaboletos.entidad.ConfTotem diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index 1f2322de0..c4227b0ca 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -8317,4 +8317,44 @@ relatorioEncerramentoCheckinController.lbEncerramento.value = Encerramento relatorioEncerramentoCheckinController.lbDataInicio.value = Data Início relatorioEncerramentoCheckinController.lbDataFim.value = Data Final relatorioEncerramentoCheckinController.lbEmpresa.value = Empresa -relatorioEncerramentoCheckinController.lbLocalidade.value = Localidade \ No newline at end of file +relatorioEncerramentoCheckinController.lbLocalidade.value = Localidade + +#Editar Punto Venda - Cobranca Adicional +editarPuntoVentaController.tab.label.cobrancaAdicional = Cobrança Adicional +editarPuntoVentaController.id.value=ID +editarPuntoVentaController.lbDescricao.value=Descricao +editarPuntoVentaController.lbValor.value=Valor +editarPuntoVentaController.lbEmprea.value=Empresa +editarPuntoVentaController.lbCicloFrequencia.value=Ciclo/Frequêcia +editarPuntoVentaController.lbPagamentoDinheiro.value=Se não houver pagamento em dinheiro no dia da cobranca: +editarPuntoVentaController.lbAcumularCiclo = Descontar no próximo ciclo +editarPuntoVentaController.lbProximoDia = Descontar no dia seguinte +editarEmpresaController.diario.label = Diário +editarEmpresaController.semanal.label = Semanal +editarEmpresaController.mensal.label = Mensal +editarEmpresaController.primeiroDia.label = Primeiro Dia útil do mês +editarEmpresaController.ultimoDia.label = Último Dia útil do mês +editarEmpresaController.segunda.label = Segunda-Feira +editarEmpresaController.terca.label = Terça-Feira +editarEmpresaController.quarta.label = Quarta-Feira +editarEmpresaController.quinta.label = Quinta-Feira +editarEmpresaController.sexta.label = Sexta-Feira +editarPuntoVentaController.erroSemEmpresa.value=Selecione uma empresa +editarPuntoVentaController.erroSemDescricao.value=Insira uma descrição para a cobrança adicional +editarPuntoVentaController.erroSemValor.value=Insira uma valor válido para a cobrança adicional +editarPuntoVentaController.erroSemFrequencia.value=Escolha um Ciclo/Frequência para a cobrança adicional +editarPuntoVentaController.erroSemPagamentoDinheiro.value=Escolha o que fazer quando não há dinheiro no dia especificado para cobrança +editarPuntoVentaController.MSG.apagarCobrançaAdicional=Deseja apagar cobrança adicional? +editarPuntoVentaController.dataInicial.label = Data Inicial +editarPuntoVentaController.dataFinal.label = Data Final +editarPuntoVentaController.erroSemDatas.value = Escolha a data inicial e final da cobrança. +editarPuntoVentaController.lbPeriodo.value= Período +editarPuntoVentaController.abaCobranca.value = Cadastro +editarPuntoVentaController.abaHistorico.value = Histórico +editarPuntoVentaController.btnPesquisar.value= Pesquisar +editarPuntoVentaController.dataRegistro.value= Data +editarPuntoVentaController.valorCobrado.value= V. Cobrado +editarPuntoVentaController.valorAcumulado.value = V. Acumulado +editarPuntoVentaController.Descricao.value = Descrição +editarPuntoVentaController.registroLancado.value = Lançado? +editarPuntoVentaController.dicaMensal.value=Essa funcionalidade não faz cobrança retroativa, so o primeiro dia do mês cadastrado já estiver passado a cobrança só será efetuada no próximo mês, sem valor acumulado. diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 4b44dc008..278b71f51 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -8828,4 +8828,44 @@ relatorioEncerramentoCheckinController.lbEncerramento.value = Encerramento relatorioEncerramentoCheckinController.lbDataInicio.value = Data Início relatorioEncerramentoCheckinController.lbDataFim.value = Data Final relatorioEncerramentoCheckinController.lbEmpresa.value = Empresa -relatorioEncerramentoCheckinController.lbLocalidade.value = Localidade \ No newline at end of file +relatorioEncerramentoCheckinController.lbLocalidade.value = Localidade + +#Editar Punto Venda - Cobranca Adicional +editarPuntoVentaController.tab.label.cobrancaAdicional = Cobrança Adicional +editarPuntoVentaController.id.value=ID +editarPuntoVentaController.lbDescricao.value=Descricao +editarPuntoVentaController.lbValor.value=Valor +editarPuntoVentaController.lbEmprea.value=Empresa +editarPuntoVentaController.lbCicloFrequencia.value=Ciclo/Frequêcia +editarPuntoVentaController.lbPagamentoDinheiro.value=Se não houver pagamento em dinheiro no dia da cobranca: +editarPuntoVentaController.lbAcumularCiclo = Descontar no próximo ciclo +editarPuntoVentaController.lbProximoDia = Descontar no dia seguinte +editarEmpresaController.diario.label = Diário +editarEmpresaController.semanal.label = Semanal +editarEmpresaController.mensal.label = Mensal +editarEmpresaController.primeiroDia.label = Primeiro Dia útil do mês +editarEmpresaController.ultimoDia.label = Último Dia útil do mês +editarEmpresaController.segunda.label = Segunda-Feira +editarEmpresaController.terca.label = Terça-Feira +editarEmpresaController.quarta.label = Quarta-Feira +editarEmpresaController.quinta.label = Quinta-Feira +editarEmpresaController.sexta.label = Sexta-Feira +editarPuntoVentaController.erroSemEmpresa.value=Selecione uma empresa +editarPuntoVentaController.erroSemDescricao.value=Insira uma descrição para a cobrança adicional +editarPuntoVentaController.erroSemValor.value=Insira uma valor válido para a cobrança adicional +editarPuntoVentaController.erroSemFrequencia.value=Escolha um Ciclo/Frequência para a cobrança adicional +editarPuntoVentaController.erroSemPagamentoDinheiro.value=Escolha o que fazer quando não há dinheiro no dia especificado para cobrança +editarPuntoVentaController.MSG.apagarCobrançaAdicional=Deseja apagar cobrança adicional? +editarPuntoVentaController.dataInicial.label = Data Inicial +editarPuntoVentaController.dataFinal.label = Data Final +editarPuntoVentaController.erroSemDatas.value = Escolha a data inicial e final da cobrança. +editarPuntoVentaController.lbPeriodo.value= Período +editarPuntoVentaController.abaCobranca.value = Cadastro +editarPuntoVentaController.abaHistorico.value = Histórico +editarPuntoVentaController.btnPesquisar.value= Pesquisar +editarPuntoVentaController.dataRegistro.value= Data +editarPuntoVentaController.valorCobrado.value= V. Cobrado +editarPuntoVentaController.valorAcumulado.value = V. Acumulado +editarPuntoVentaController.Descricao.value = Descrição +editarPuntoVentaController.registroLancado.value = Lançado? +editarPuntoVentaController.dicaMensal.value=Essa funcionalidade não faz cobrança retroativa, so o primeiro dia do mês cadastrado já estiver passado a cobrança só será efetuada no próximo mês, sem valor acumulado. diff --git a/web/gui/catalogos/editarPuntoVenta.zul b/web/gui/catalogos/editarPuntoVenta.zul index e9f0e86cc..d649a6e58 100644 --- a/web/gui/catalogos/editarPuntoVenta.zul +++ b/web/gui/catalogos/editarPuntoVenta.zul @@ -32,6 +32,9 @@ + + @@ -412,7 +415,7 @@ - f + @@ -486,6 +489,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +             +                           + + + + +              + + + + + + +