diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasRequisicao.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasRequisicao.java index 082934126..320a8ed18 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasRequisicao.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioVendasRequisicao.java @@ -28,6 +28,7 @@ public class RelatorioVendasRequisicao extends Relatorio { private Timestamp fecFinal; private Integer empresaId; private Integer puntoventaId; + private Integer secretariaId; public RelatorioVendasRequisicao(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -45,6 +46,9 @@ public class RelatorioVendasRequisicao extends Relatorio { if(parametros.get("PUNTOVENTA_ID")!=null){ puntoventaId = Integer.valueOf(parametros.get("PUNTOVENTA_ID").toString()); } + if(parametros.get("SECRETARIA_ID")!=null){ + secretariaId = Integer.valueOf(parametros.get("SECRETARIA_ID").toString()); + } Connection conexao = this.relatorio.getConexao(); processarVendasRequisicao(conexao); @@ -132,6 +136,9 @@ public class RelatorioVendasRequisicao extends Relatorio { if(puntoventaId != null && puntoventaId > -1) { stmt.setInt("PUNTOVENTA_ID", puntoventaId); } + if(secretariaId != null && secretariaId > -1) { + stmt.setInt("SECRETARIA_ID", secretariaId); + } return stmt; } @@ -164,6 +171,9 @@ public class RelatorioVendasRequisicao extends Relatorio { if(puntoventaId != null && puntoventaId > -1) { sQuery.append("AND C.PUNTOVENTA_ID = :PUNTOVENTA_ID "); } + if(secretariaId != null && secretariaId > -1) { + sQuery.append("AND SEC.SECRETARIA_ID = :SECRETARIA_ID "); + } sQuery.append("GROUP BY CDP.NUMDOCUMENTO, SEC.CVESECRETARIA, SEC.DESCSECRETARIA,PV.NOMBPUNTOVENTA, PV.NOMBPUNTOVENTA, E.NOMBEMPRESA, E.EMPRESA_ID, FP.DESCPAGO, CFP.FORMAPAGO_ID, ORI.DESCPARADA, DES.DESCPARADA, CFP.IMPORTE, ORI.CVEPARADA, DES.CVEPARADA, PV.PUNTOVENTA_ID ") .append("ORDER BY SEC.DESCSECRETARIA, PV.NOMBPUNTOVENTA, FP.DESCPAGO"); diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasRequisicaoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasRequisicaoController.java index 1782f9e9f..0bd8bd6c4 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasRequisicaoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioVendasRequisicaoController.java @@ -21,13 +21,14 @@ import org.zkoss.zul.Datebox; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; -import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasConexao; +import com.rjconsultores.ventaboletos.entidad.Secretaria; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioVendasRequisicao; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.utilerias.DateUtil; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar; import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxPuntoVenta; +import com.rjconsultores.ventaboletos.web.utilerias.MyComboboxSecretaria; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @Controller("relatorioVendasRequisicaoController") @@ -46,6 +47,7 @@ public class RelatorioVendasRequisicaoController extends MyGenericForwardCompose private Datebox dataFinal; private MyComboboxPuntoVenta cmbPuntoVenta; + private MyComboboxSecretaria cmbSecretaria; @Override public void doAfterCompose(Component comp) throws Exception { @@ -95,6 +97,19 @@ public class RelatorioVendasRequisicaoController extends MyGenericForwardCompose parametros.put("puntoventa", "Todas;"); } + + Comboitem itemSecretaria = cmbSecretaria.getSelectedItem(); + if(itemSecretaria != null) { + Secretaria secretaria = (Secretaria) itemSecretaria.getValue(); + if(secretaria.getSecretariaId() > -1) { + parametros.put("SECRETARIA_ID", secretaria.getSecretariaId()); + parametros.put("secretaria", secretaria.getDescsecretaria()); + } else { + parametros.put("secretaria", "Todas;"); + } + } else { + parametros.put("secretaria", "Todas;"); + } Map args = new HashMap(); Relatorio relatorio = new RelatorioVendasRequisicao(parametros, dataSourceRead.getConnection()); diff --git a/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxSecretaria.java b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxSecretaria.java new file mode 100644 index 000000000..045957c40 --- /dev/null +++ b/src/java/com/rjconsultores/ventaboletos/web/utilerias/MyComboboxSecretaria.java @@ -0,0 +1,131 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package com.rjconsultores.ventaboletos.web.utilerias; + +import java.util.ArrayList; +import java.util.List; + +import org.zkoss.util.resource.Labels; +import org.zkoss.zk.ui.WrongValueException; +import org.zkoss.zk.ui.event.Event; +import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.InputEvent; +import org.zkoss.zkplus.databind.BindingListModel; +import org.zkoss.zkplus.databind.BindingListModelList; +import org.zkoss.zkplus.spring.SpringUtil; +import org.zkoss.zul.Combobox; + +import com.rjconsultores.ventaboletos.entidad.Secretaria; +import com.rjconsultores.ventaboletos.service.SecretariaService; + +/** + * + * @author Lucas + */ +public class MyComboboxSecretaria extends Combobox { + + private SecretariaService secretariaService; + private List lsSecretaria; + private Secretaria initialValue; + private Integer indiceSelected = null; + private boolean sinTodos = false; + + public MyComboboxSecretaria() { + super(); + + secretariaService = (SecretariaService) SpringUtil.getBean("secretariaService"); + lsSecretaria = new ArrayList(); + + this.setAutodrop(false); + this.setAutocomplete(false); + + + this.addEventListener("onOK", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + String strSecretaria = MyComboboxSecretaria.this.getText().toUpperCase(); + if (strSecretaria.length() < MyComboboxParada.minLength) { + return; + } + if (!strSecretaria.isEmpty()) { + lsSecretaria = secretariaService.buscaLike(strSecretaria); + + BindingListModel listModelSecretaria = new BindingListModelList(lsSecretaria, true); + MyComboboxSecretaria.this.setModel(listModelSecretaria); + indiceSelected = null; + if (!lsSecretaria.isEmpty()) { + indiceSelected = 0; + } + MyComboboxSecretaria.this.open(); + } else { + lsSecretaria.clear(); + + BindingListModel listModelPuntoVenta = new BindingListModelList(lsSecretaria, true); + MyComboboxSecretaria.this.setModel(listModelPuntoVenta); + } + } + }); + + this.addEventListener("onChanging", new EventListener() { + + @Override + public void onEvent(Event event) throws Exception { + InputEvent ev = (InputEvent) event; + String strSecretaria = ev.getValue(); + if (strSecretaria.length() < 2) { + lsSecretaria.clear(); + + BindingListModel listModelSecretaria = new BindingListModelList(lsSecretaria, true); + MyComboboxSecretaria.this.setModel(listModelSecretaria); + + MyComboboxSecretaria.this.close(); + } + } + }); + } + + public Secretaria getInitialValue() { + return initialValue; + } + + public void setInitialValue(Secretaria initialValue) { + if (initialValue == null) { + return; + } + List ls = new ArrayList(); + ls.add(initialValue); + + this.setModel(new BindingListModelList(ls, false)); + } + + public void getValue(boolean checaBusqueda) throws WrongValueException { + if (checaBusqueda) { + Secretaria p = (Secretaria) (this.getSelectedItem() == null ? null : this.getSelectedItem().getValue()); + + if (p == null) { + throw new WrongValueException(this, Labels.getLabel("MSG.Error.combobox.hacerBusqueda")); + } + } else { + super.getValue(); + } + } + + public boolean isSinTodos() { + return sinTodos; + } + + public void setSinTodos(boolean sinTodos) { + this.sinTodos = sinTodos; + } + + public T getSelecteObject(Class cType) { + if (this.getSelectedItem() != null) { + return cType.cast(this.getSelectedItem().getValue()); + } + return null; + } + +} diff --git a/web/gui/relatorios/filtroRelatorioVendasRequisicao.zul b/web/gui/relatorios/filtroRelatorioVendasRequisicao.zul index d2cf77988..9edf4f9b6 100644 --- a/web/gui/relatorios/filtroRelatorioVendasRequisicao.zul +++ b/web/gui/relatorios/filtroRelatorioVendasRequisicao.zul @@ -46,7 +46,16 @@ - + + + +