rafael.henrique 2017-07-21 00:17:51 +00:00
parent 8bf686ff30
commit 673fc5b3a7
6 changed files with 247 additions and 1 deletions

View File

@ -4,7 +4,9 @@
*/ */
package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos; package com.rjconsultores.ventaboletos.web.gui.controladores.catalogos;
import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
@ -23,12 +25,18 @@ import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Paging; import org.zkoss.zul.Paging;
import com.rjconsultores.ventaboletos.constantes.Constantes; import com.rjconsultores.ventaboletos.constantes.Constantes;
import com.rjconsultores.ventaboletos.entidad.ContaCorrentePtoVta;
import com.rjconsultores.ventaboletos.entidad.ContaMD;
import com.rjconsultores.ventaboletos.entidad.DescontoComissao; import com.rjconsultores.ventaboletos.entidad.DescontoComissao;
import com.rjconsultores.ventaboletos.entidad.FechamentoParamptovta;
import com.rjconsultores.ventaboletos.entidad.ItemDesconto; import com.rjconsultores.ventaboletos.entidad.ItemDesconto;
import com.rjconsultores.ventaboletos.entidad.PtovtaComissao; import com.rjconsultores.ventaboletos.entidad.PtovtaComissao;
import com.rjconsultores.ventaboletos.entidad.PtovtaContaMD;
import com.rjconsultores.ventaboletos.service.ContaMDService;
import com.rjconsultores.ventaboletos.service.DescontoComissaoService; import com.rjconsultores.ventaboletos.service.DescontoComissaoService;
import com.rjconsultores.ventaboletos.service.ItemDescontoService; import com.rjconsultores.ventaboletos.service.ItemDescontoService;
import com.rjconsultores.ventaboletos.service.PtovtaComissaoService; import com.rjconsultores.ventaboletos.service.PtovtaComissaoService;
import com.rjconsultores.ventaboletos.service.PtovtaContaMDService;
import com.rjconsultores.ventaboletos.service.PuntoVentaService; import com.rjconsultores.ventaboletos.service.PuntoVentaService;
import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado;
import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar;
@ -39,6 +47,7 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject; import com.rjconsultores.ventaboletos.web.utilerias.paginacion.HibernateSearchObject;
import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper; import com.rjconsultores.ventaboletos.web.utilerias.paginacion.PagedListWrapper;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderDescontoComissao; import com.rjconsultores.ventaboletos.web.utilerias.render.RenderDescontoComissao;
import com.rjconsultores.ventaboletos.web.utilerias.render.RenderPtovtaContaMB;
/** /**
* *
@ -61,6 +70,9 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer
@Autowired @Autowired
private PuntoVentaService puntoVentaService; private PuntoVentaService puntoVentaService;
@Autowired
private PtovtaContaMDService ptovtaContaMDService;
@Autowired @Autowired
private ItemDescontoService itemDescontoService; private ItemDescontoService itemDescontoService;
@ -83,6 +95,19 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer
private MyTextboxDecimal txtItemDescontoPreco; private MyTextboxDecimal txtItemDescontoPreco;
private DescontoComissao descontoComissao; private DescontoComissao descontoComissao;
private BigDecimal porcentagemConta;
private List<ContaMD> lsConta;
private MyComboboxEstandar cmbConta;
private MyTextboxDecimal txtPorcentagem;
@Autowired
private transient PagedListWrapper<PtovtaContaMD> plwPorcentagemConta;
private MyListbox porcentagemContaList;
private Paging pagingPorcentagemConta;
@Autowired
private ContaMDService contaMDService;
@Autowired @Autowired
private transient PagedListWrapper<DescontoComissao> plwDescontoComissao; private transient PagedListWrapper<DescontoComissao> plwDescontoComissao;
private MyListbox descontoComissaoList; private MyListbox descontoComissaoList;
@ -90,13 +115,19 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
PtovtaComissao ptovtaComissao = (PtovtaComissao) Executions.getCurrent().getArg().get("ptovtaComissao"); PtovtaComissao ptovtaComissao = (PtovtaComissao) Executions.getCurrent().getArg().get("ptovtaComissao");
this.ptovtaComissaoList = (MyListbox) Executions.getCurrent().getArg().get("ptovtaComissaoList"); this.ptovtaComissaoList = (MyListbox) Executions.getCurrent().getArg().get("ptovtaComissaoList");
this.ptovtaComissao = ptovtaComissaoService.obtenerID(ptovtaComissao.getPtovtaComissaoId()); this.ptovtaComissao = ptovtaComissaoService.obtenerID(ptovtaComissao.getPtovtaComissaoId());
this.lsItemDesconto = itemDescontoService.obtenerTodos(); this.lsItemDesconto = itemDescontoService.obtenerTodos();
this.descontoComissao = new DescontoComissao(); this.descontoComissao = new DescontoComissao();
super.doAfterCompose(comp); this.lsConta = this.contaMDService.obtenerTodos();
this.porcentagemConta = new BigDecimal(0);
for (PtovtaComissao.Receita p : PtovtaComissao.Receita.values()) { for (PtovtaComissao.Receita p : PtovtaComissao.Receita.values()) {
Comboitem comboItem = new Comboitem(p.descricao()); Comboitem comboItem = new Comboitem(p.descricao());
@ -130,7 +161,10 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer
}); });
porcentagemContaList.setItemRenderer(new RenderPtovtaContaMB());
refreshLista(); refreshLista();
refreshListaConta();
} }
public void onClick$btnSalvarPtovtaComissao(Event ev) throws InterruptedException { public void onClick$btnSalvarPtovtaComissao(Event ev) throws InterruptedException {
@ -277,6 +311,79 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer
} }
} }
public void onClick$btnAdicionarContaPorcentagem() {
try {
if(this.cmbConta.getSelectedItem() != null && this.porcentagemConta != null && !this.porcentagemConta.equals(BigDecimal.ZERO)){
PtovtaContaMD ptovtaContaMD = new PtovtaContaMD();
ptovtaContaMD.setContaId(this.cmbConta.getSelecteObject(ContaMD.class));
ptovtaContaMD.setPercentual(this.porcentagemConta);
ptovtaContaMD.setPuntoventaId(this.ptovtaComissao.getPuntoventaId());
ptovtaContaMD.setEmpresaId(this.ptovtaComissao.getEmpresaId());
ptovtaContaMD.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId());
ptovtaContaMD.setFecmodif(new Date());
ptovtaContaMD.setActivo(Boolean.TRUE);
ptovtaContaMDService.suscribir(ptovtaContaMD);
Messagebox.show(
Labels.getLabel("editarPuntoVentaComissaoController.MSG.suscribirOKContaMD"),
Labels.getLabel("editarPuntoVentaComissaoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
refreshListaConta();
}
} catch (Exception ex) {
log.error(ex.toString());
}
}
public void onClick$btnRemoverContaPorcentagem() {
try {
if (porcentagemContaList.getSelected() != null) {
int resp = Messagebox.show(
Labels.getLabel("editarPuntoVentaComissaoController.MSG.borrarPerguntaPtovtaContaMD"),
Labels.getLabel("editarPuntoVentaComissaoController.window.title"),
Messagebox.YES | Messagebox.NO, Messagebox.QUESTION);
if (resp == Messagebox.YES) {
PtovtaContaMD ptovtaContaMD = (PtovtaContaMD) porcentagemContaList.getSelected();
ptovtaContaMDService.borrar(ptovtaContaMD);
porcentagemContaList.removeItem(ptovtaContaMD);
log.warn("Usuário " + UsuarioLogado.getUsuarioLogado().getNombusuario() + " excluiu o PtovtaContaMD " + ptovtaContaMD.getPtovtaContaId());
Messagebox.show(
Labels.getLabel("editarPuntoVentaComissaoController.MSG.borrarOKContaMD"),
Labels.getLabel("editarPuntoVentaComissaoController.window.title"),
Messagebox.OK, Messagebox.INFORMATION);
refreshListaConta();
}
}
} catch (Exception ex) {
log.error(ex.toString());
}
}
private void refreshListaConta() {
try {
HibernateSearchObject<PtovtaContaMD> ptovtaContaMDBusqueda = new HibernateSearchObject<PtovtaContaMD>(PtovtaContaMD.class, pagingPorcentagemConta.getPageSize());
ptovtaContaMDBusqueda.addFilterEqual("activo", Boolean.TRUE);
ptovtaContaMDBusqueda.addFilterEqual("puntoventaId", ptovtaComissao.getPuntoventaId());
ptovtaContaMDBusqueda.addFilterEqual("empresaId", ptovtaComissao.getEmpresaId());
plwPorcentagemConta.init(ptovtaContaMDBusqueda, porcentagemContaList, pagingPorcentagemConta);
} catch (Exception e) {
log.error(e.getMessage(), e.getCause());
}
}
public PuntoVentaService getPuntoVentaService() { public PuntoVentaService getPuntoVentaService() {
return puntoVentaService; return puntoVentaService;
} }
@ -324,4 +431,28 @@ public class EditarPuntoVentaComissaoController extends MyGenericForwardComposer
this.descontoComissao = descontoComissao; this.descontoComissao = descontoComissao;
} }
public MyComboboxEstandar getCmbConta() {
return cmbConta;
}
public void setCmbConta(MyComboboxEstandar cmbConta) {
this.cmbConta = cmbConta;
}
public List<ContaMD> getLsConta() {
return lsConta;
}
public void setLsConta(List<ContaMD> lsConta) {
this.lsConta = lsConta;
}
public BigDecimal getPorcentagemConta() {
return porcentagemConta;
}
public void setPorcentagemConta(BigDecimal porcentagemConta) {
this.porcentagemConta = porcentagemConta;
}
} }

View File

@ -0,0 +1,31 @@
package com.rjconsultores.ventaboletos.web.utilerias.render;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
import com.rjconsultores.ventaboletos.entidad.PtovtaContaMD;
import com.rjconsultores.ventaboletos.utilerias.BigDecimalUtil;
import com.rjconsultores.ventaboletos.utilerias.LocaleUtil;
public class RenderPtovtaContaMB implements ListitemRenderer {
@Override
public void render(Listitem lstm, Object o) throws Exception {
PtovtaContaMD ptovtaContaMD = (PtovtaContaMD) o;
Listcell lc = new Listcell(ptovtaContaMD.getContaId().getNome());
lc.setParent(lstm);
lc = new Listcell(ptovtaContaMD.getContaId().getTipoDesc());
lc.setParent(lstm);
lc = new Listcell(ptovtaContaMD.getPercentual() != null ? BigDecimalUtil.getBigDecimalToStringDouble2CasasDecimaisFormatado(ptovtaContaMD.getPercentual(), LocaleUtil.getLocale()) : "0,00");
lc.setParent(lstm);
lstm.setAttribute("data", ptovtaContaMD);
}
}

View File

@ -458,6 +458,7 @@
<value>com.rjconsultores.ventaboletos.entidad.RutaEmbarqueDesembarque</value> <value>com.rjconsultores.ventaboletos.entidad.RutaEmbarqueDesembarque</value>
<value>com.rjconsultores.ventaboletos.entidad.EsquemaCorridaEmbarqueDesembarque</value> <value>com.rjconsultores.ventaboletos.entidad.EsquemaCorridaEmbarqueDesembarque</value>
<value>com.rjconsultores.ventaboletos.entidad.ContaMD</value> <value>com.rjconsultores.ventaboletos.entidad.ContaMD</value>
<value>com.rjconsultores.ventaboletos.entidad.PtovtaContaMD</value>
</list> </list>
</property> </property>

View File

@ -1351,6 +1351,14 @@ editarPuntoVentaComissaoController.MSG.borrarPergunta = Desea eliminar esta comi
editarPuntoVentaComissaoController.MSG.borrarOK = Comisión de la empresa/Punto de venta se eliminó exitosamente editarPuntoVentaComissaoController.MSG.borrarOK = Comisión de la empresa/Punto de venta se eliminó exitosamente
editarPuntoVentaComissaoController.tab.parametrosComissao = Parametros Comisión editarPuntoVentaComissaoController.tab.parametrosComissao = Parametros Comisión
editarPuntoVentaComissaoController.tab.itensDescontoComissao = Elemento de Descuento Comisión editarPuntoVentaComissaoController.tab.itensDescontoComissao = Elemento de Descuento Comisión
editarPuntoVentaComissaoController.tab.porcentagemComissao = Cuentas Crédito/Débito
editarPuntoVentaComissaoController.btnAddConta.tooltiptext = Adicionar Porcentaje
editarPuntoVentaComissaoController.btnRemoverConta.tooltiptext = Borrar Porcentaje
editarPuntoVentaComissaoController.label.conta = Cuenta
editarPuntoVentaComissaoController.label.porcentagem = Porcentaje
editarPuntoVentaComissaoController.MSG.suscribirOKContaMD = Porcentaje da Empresa/Punto de Venda se registró exitosamente
editarPuntoVentaController.MSG.borrarPerguntaPtovtaContaMD = Deseja eliminar esta Porcentaje da Empresa/Punto de Venda?
editarPuntoVentaComissaoController.MSG.borrarOKContaMD = Porcentagem de la Empresa/Punto de Venda eliminó exitosamente
# Muestra o TipoVenta Búsqueda # Muestra o TipoVenta Búsqueda
busquedaTipoVentaController.window.title = Modalidad de venta busquedaTipoVentaController.window.title = Modalidad de venta

View File

@ -1381,6 +1381,15 @@ editarPuntoVentaComissaoController.MSG.borrarPergunta = Deseja eliminar esta Com
editarPuntoVentaComissaoController.MSG.borrarOK = Comissão da Empresa/Ponto de Venda excluida com sucesso. editarPuntoVentaComissaoController.MSG.borrarOK = Comissão da Empresa/Ponto de Venda excluida com sucesso.
editarPuntoVentaComissaoController.tab.parametrosComissao = Parâmetros Comissão editarPuntoVentaComissaoController.tab.parametrosComissao = Parâmetros Comissão
editarPuntoVentaComissaoController.tab.itensDescontoComissao = Itens Descontos Comissão editarPuntoVentaComissaoController.tab.itensDescontoComissao = Itens Descontos Comissão
editarPuntoVentaComissaoController.tab.porcentagemComissao = Contas Crédito/Débito
editarPuntoVentaComissaoController.btnAddConta.tooltiptext = Adicionar porcentagem
editarPuntoVentaComissaoController.btnRemoverConta.tooltiptext = Remover porcentagem
editarPuntoVentaComissaoController.label.conta = Conta
editarPuntoVentaComissaoController.label.contaTipo = Tipo de Conta
editarPuntoVentaComissaoController.label.porcentagem = Porcentagem
editarPuntoVentaComissaoController.MSG.suscribirOKContaMD = Porcentagem da Empresa/Ponto de Venda registrada com sucesso
editarPuntoVentaComissaoController.MSG.borrarPerguntaPtovtaContaMD = Deseja eliminar esta Porcentagem da Empresa/Ponto de Venda?
editarPuntoVentaComissaoController.MSG.borrarOKContaMD = Porcentagem da Empresa/Ponto de Venda excluida com sucesso
# Muestra o TipoVenta Pesquisa # Muestra o TipoVenta Pesquisa
busquedaTipoVentaController.window.title = Modalidade de Venda busquedaTipoVentaController.window.title = Modalidade de Venda

View File

@ -32,6 +32,7 @@
<tabs> <tabs>
<tab label="${c:l('editarPuntoVentaComissaoController.tab.parametrosComissao')}" /> <tab label="${c:l('editarPuntoVentaComissaoController.tab.parametrosComissao')}" />
<tab label="${c:l('editarPuntoVentaComissaoController.tab.itensDescontoComissao')}" /> <tab label="${c:l('editarPuntoVentaComissaoController.tab.itensDescontoComissao')}" />
<tab label="${c:l('editarPuntoVentaComissaoController.tab.porcentagemComissao')}" />
</tabs> </tabs>
<tabpanels> <tabpanels>
@ -419,6 +420,71 @@
</listhead> </listhead>
</listbox> </listbox>
</tabpanel> </tabpanel>
<tabpanel>
<grid fixedLayout="true">
<columns>
<column width="20%" />
<column width="40%" />
<column width="20%" />
<column width="40%" />
</columns>
<rows>
<row>
<label
value="${c:l('editarPuntoVentaComissaoController.label.conta')}" />
<combobox id="cmbConta"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
mold="rounded" buttonVisible="true"
model="@{winEditarPuntoVentaComissao$composer.lsConta}" />
<label
value="${c:l('editarPuntoVentaComissaoController.label.porcentagem')}" />
<textbox id="txtPorcentagem"
width="130px"
maxlength="10"
use="com.rjconsultores.ventaboletos.web.utilerias.MyTextboxDecimal"
value="@{winEditarPuntoVentaComissao$composer.porcentagemConta,converter=com.rjconsultores.ventaboletos.web.utilerias.StringPercentToDecimalConverter}" />
</row>
</rows>
</grid>
<toolbar>
<hbox spacing="5px"
style="padding:1px"
align="right">
<button
id="btnAdicionarContaPorcentagem" height="20"
image="/gui/img/add.png" width="35px" disabled="false"
tooltiptext="${c:l('editarPuntoVentaComissaoController.btnAddConta.tooltiptext')}"
visible="@{winEditarPuntoVentaComissao$composer.permissaoEditarComissao}" />
<button
id="btnRemoverContaPorcentagem" height="20"
image="/gui/img/remove.png" width="35px" disabled="false"
tooltiptext="${c:l('editarPuntoVentaComissaoController.btnRemoverConta.tooltiptext')}"
visible="@{winEditarPuntoVentaComissao$composer.permissaoEditarComissao}" />
</hbox>
</toolbar>
<paging id="pagingPorcentagemConta"
pageSize="20"/>
<listbox id="porcentagemContaList"
use="com.rjconsultores.ventaboletos.web.utilerias.MyListbox"
vflex="true" multiple="false">
<listhead sizable="true">
<listheader id="lhPorcentagemContaConta"
label="${c:l('editarPuntoVentaComissaoController.label.conta')}" />
<listheader id="lhPorcentagemContaTipo"
label="${c:l('editarPuntoVentaComissaoController.label.contaTipo')}" />
<listheader id="lhPorcentagemContaPorcentagem"
label="${c:l('editarPuntoVentaComissaoController.label.porcentagem')}" />
</listhead>
</listbox>
</tabpanel>
</tabpanels> </tabpanels>
</tabbox> </tabbox>