diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java index 043e6ad4c..03ebcc949 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java @@ -11,6 +11,7 @@ import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.TreeSet; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -32,6 +33,7 @@ public class RelatorioMovimentosAtraso extends Relatorio { private Date dataInicial; private Date dataFinal; private String competencia; + private SituacaoDiaMovimento status; public RelatorioMovimentosAtraso(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -93,6 +95,8 @@ public class RelatorioMovimentosAtraso extends Relatorio { } } + aplicarFiltroSituacaoMovimentos(lsDadosRelatorio); + Collections.sort(lsDadosRelatorio); return lsDadosRelatorio; } catch (Exception e) { @@ -112,6 +116,29 @@ public class RelatorioMovimentosAtraso extends Relatorio { return null; } + private void aplicarFiltroSituacaoMovimentos(List lsDadosRelatorio) { + if(status != null) { + Set sPuntoventaManter = new TreeSet(); + for (MovimentosAtrasoVO movimentosAtraso : lsDadosRelatorio) { + if(movimentosAtraso.getSituacao().equals(status)) { + sPuntoventaManter.add(movimentosAtraso.getPuntoventaId()); + } + } + + List lsMovimentosAtrasosManter = new ArrayList(); + for (MovimentosAtrasoVO movimentosAtraso: lsDadosRelatorio) { + if(sPuntoventaManter.contains(movimentosAtraso.getPuntoventaId())) { + lsMovimentosAtrasosManter.add(movimentosAtraso); + } + } + + if(lsMovimentosAtrasosManter.size() != lsDadosRelatorio.size()) { + lsDadosRelatorio.clear(); + lsDadosRelatorio.addAll(lsMovimentosAtrasosManter); + } + } + } + private List iniciarDados(Connection conexao) { ResultSet rset = null; NamedParameterStatement stmt = null; @@ -209,6 +236,7 @@ public class RelatorioMovimentosAtraso extends Relatorio { Integer puntoventaId = (Integer) parametros.get("puntoventaId"); Integer empresaId = (Integer) parametros.get("empresaId"); String competencia = (String) parametros.get("competencia"); + status = (SituacaoDiaMovimento) parametros.get("status"); if(StringUtils.isNotBlank(competencia)) { this.competencia = competencia; @@ -231,6 +259,10 @@ public class RelatorioMovimentosAtraso extends Relatorio { this.dataFinal = DateUtil.getDateFromString(cal.getActualMaximum(Calendar.DAY_OF_MONTH) + "/" + competencia, "dd/MM/yyyy"); } + if(status != null) { + parametros.put("statusFiltro", status.toString()); + } + } } diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_es.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_es.properties index 8c48ccc75..afabd0044 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_es.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_es.properties @@ -16,4 +16,5 @@ cabecalho.usuario=Usu label.empresa=Empresa: label.legenda=Legenda label.puntoventa=Punto Venta: -label.competencia=Competencia: \ No newline at end of file +label.competencia=Competencia: +label.situacao=Situação: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_pt_BR.properties b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_pt_BR.properties index bbc8831e0..6db620428 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_pt_BR.properties +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/internacionalizacao/RelatorioMovimentosAtraso_pt_BR.properties @@ -16,4 +16,5 @@ cabecalho.usuario=Usu label.empresa=Empresa: label.legenda=Legenda label.puntoventa=Ponto de Venda: -label.competencia=Competência: \ No newline at end of file +label.competencia=Competência: +label.situacao=Situação: \ No newline at end of file diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jasper b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jasper index f01b8d340..11e5e93ce 100644 Binary files a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jasper and b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jasper differ diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jrxml b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jrxml index 1f748717b..b64504897 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jrxml +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/templates/RelatorioMovimentosAtraso.jrxml @@ -16,6 +16,7 @@ + @@ -26,7 +27,7 @@ - <band height="102" splitType="Stretch"> + <band height="120" splitType="Stretch"> <textField> <reportElement x="0" y="0" width="637" height="20" uuid="43b2c28d-4760-4890-b00d-25e931e79c74"/> <textElement markup="none"> @@ -69,6 +70,13 @@ </textElement> <textFieldExpression><![CDATA[$R{label.competencia} + " " + $P{competencia}]]></textFieldExpression> </textField> + <textField isBlankWhenNull="true"> + <reportElement x="0" y="100" width="637" height="20" uuid="df62eb14-a843-4ef2-b219-89de2d25a2d2"/> + <textElement> + <font isBold="true"/> + </textElement> + <textFieldExpression><![CDATA[$R{label.situacao} + " " + $P{statusFiltro}]]></textFieldExpression> + </textField> </band> diff --git a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentosAtrasoController.java b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentosAtrasoController.java index 4280c3add..4a2370647 100644 --- a/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentosAtrasoController.java +++ b/src/java/com/rjconsultores/ventaboletos/web/gui/controladores/relatorios/RelatorioMovimentosAtrasoController.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Controller; import org.zkoss.util.resource.Labels; import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.event.Event; +import org.zkoss.zul.Radio; import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; @@ -21,6 +22,7 @@ import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioMovimentosAtraso; import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; import com.rjconsultores.ventaboletos.vo.comissao.MovimentosAtrasoVO.SituacaoDiaMovimento; +import com.rjconsultores.ventaboletos.web.utilerias.MaskUtil; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @Scope("prototype") @@ -36,11 +38,17 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose private Textbox txtCompetencia; private PuntoVenta puntoVenta; - private Empresa empresa; + private Empresa empresa; + + private Radio rTodos; + private Radio rEntregue; + private Radio rAtrasado; + private Radio rAguardando; @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); + aplicarMascara(); txtCompetencia.focus(); } @@ -57,6 +65,14 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose parametros.put("shortSituacaoAtrasado", SituacaoDiaMovimento.ATRASADO.getShortDescricao()); parametros.put("situacaoAguardando", SituacaoDiaMovimento.AGUARDANDO.toString()); parametros.put("shortSituacaoAguardando", SituacaoDiaMovimento.AGUARDANDO.getShortDescricao()); + + if(rEntregue.isChecked()) { + parametros.put("status", SituacaoDiaMovimento.ENTREGUE); + } else if(rAtrasado.isChecked()) { + parametros.put("status", SituacaoDiaMovimento.ATRASADO); + } else if(rAguardando.isChecked()) { + parametros.put("status", SituacaoDiaMovimento.AGUARDANDO); + } if(puntoVenta != null) { parametros.put("puntoventaId", puntoVenta.getPuntoventaId()); @@ -92,5 +108,9 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose public void setEmpresa(Empresa empresa) { this.empresa = empresa; } + + public void aplicarMascara() { + MaskUtil.aplicarMascara(txtCompetencia.getUuid(), "99/9999"); + } } diff --git a/web/WEB-INF/i3-label_es_MX.label b/web/WEB-INF/i3-label_es_MX.label index e45ebfd02..8f1712d52 100644 --- a/web/WEB-INF/i3-label_es_MX.label +++ b/web/WEB-INF/i3-label_es_MX.label @@ -6112,6 +6112,11 @@ relatorioMovimentosAtrasoController.lbCompetencia.label = Competencia relatorioMovimentosAtrasoController.lbCompetenciaLayout.label = (MM/YYYY) relatorioMovimentosAtrasoController.lbEmpresa.value = Empresa relatorioMovimentosAtrasoController.lbPuntoVenta.value = Punto venta +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimento.value = Situação Movimento +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoTodos.value = Todos +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoEntregue.value = Entregue +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoAtrasado.value = Atrasado +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoAguardando.value = Aguardando # Relatorio Observacao Boletos relatorioObservacaoBilhetesController.window.title = Reporte Observaciones Boletos diff --git a/web/WEB-INF/i3-label_pt_BR.label b/web/WEB-INF/i3-label_pt_BR.label index 2f9ea5238..adf5f971b 100644 --- a/web/WEB-INF/i3-label_pt_BR.label +++ b/web/WEB-INF/i3-label_pt_BR.label @@ -6255,6 +6255,11 @@ relatorioMovimentosAtrasoController.lbCompetencia.label = Competencia relatorioMovimentosAtrasoController.lbCompetenciaLayout.label = (MM/YYYY) relatorioMovimentosAtrasoController.lbEmpresa.value = Empresa relatorioMovimentosAtrasoController.lbPuntoVenta.value = Ponto de venda +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimento.value = Situação Movimento +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoTodos.value = Todos +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoEntregue.value = Entregue +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoAtrasado.value = Atrasado +relatorioMovimentosAtrasoController.lbSituacaoDiaMovimentoAguardando.value = Aguardando # Relatorio Observacao Bilhetes relatorioObservacaoBilhetesController.window.title = Relatório Observações Bilhetes diff --git a/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul b/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul index 9352a38fa..aa628186d 100644 --- a/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul +++ b/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul @@ -9,8 +9,8 @@ title="${c:l('relatorioMovimentosAtrasoController.window.title')}" apply="${relatorioMovimentosAtrasoController}" contentStyle="overflow:auto" - height="190px" - width="380px" + height="215px" + width="450px" border="normal" >