diff --git a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java index 788a11c80..2aa936493 100644 --- a/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java +++ b/src/java/com/rjconsultores/ventaboletos/relatorios/impl/RelatorioMovimentosAtraso.java @@ -37,6 +37,7 @@ public class RelatorioMovimentosAtraso extends Relatorio { private String competencia; private SituacaoDiaMovimento status; private Map> diasComMovimentos; + private List lsDadosRelatorio; public RelatorioMovimentosAtraso(Map parametros, Connection conexao) throws Exception { super(parametros, conexao); @@ -49,7 +50,7 @@ public class RelatorioMovimentosAtraso extends Relatorio { Boolean tipoRelatorio = (Boolean) relatorio.getParametros().get("eTipoConferencia"); - List lsDadosRelatorio = processarRelatorio(conexao, tipoRelatorio); + lsDadosRelatorio = processarRelatorio(conexao, tipoRelatorio); setLsDadosRelatorio(lsDadosRelatorio); } }); @@ -210,11 +211,11 @@ public class RelatorioMovimentosAtraso extends Relatorio { NamedParameterStatement stmt = null; try { StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT C.PUNTOVENTA_ID, TO_DATE(C.FECHORVENTA,'DD/MM/YYYY') AS FECHORVENTA ") + sQuery.append("SELECT C.PUNTOVENTA_ID, C.FECCORTE ") .append("FROM CAJA C ") .append("INNER JOIN MARCA M ON C.MARCA_ID = M.MARCA_ID ") .append("WHERE C.ACTIVO = 1 ") - .append("AND C.FECHORVENTA BETWEEN :dataInicial AND :dataFinal "); + .append("AND C.FECCORTE BETWEEN :dataInicial AND :dataFinal "); if(empresaId != null) { sQuery.append("AND M.EMPRESA_ID = :empresaId "); @@ -224,7 +225,7 @@ public class RelatorioMovimentosAtraso extends Relatorio { sQuery.append("AND C.PUNTOVENTA_ID = :puntoventaId "); } - sQuery.append("GROUP BY C.PUNTOVENTA_ID, TO_DATE(C.FECHORVENTA, 'DD/MM/YYYY') "); + sQuery.append("GROUP BY C.PUNTOVENTA_ID, C.FECCORTE"); log.info(sQuery.toString()); @@ -244,10 +245,10 @@ public class RelatorioMovimentosAtraso extends Relatorio { diasComMovimentos = new HashMap>(); while (rset.next()) { Integer puntoventaId = rset.getInt("PUNTOVENTA_ID"); - Date fechorventa = DateUtil.normalizar(rset.getDate("FECHORVENTA")); + Date feccorte = DateUtil.normalizar(rset.getDate("FECCORTE")); validarPuntoventaDiasComMovimentos(puntoventaId); - diasComMovimentos.get(puntoventaId).add(DateUtil.getIntegerDate(fechorventa, "dd")); + diasComMovimentos.get(puntoventaId).add(DateUtil.getIntegerDate(feccorte, "dd")); } } catch (Exception e) { log.error(e.getMessage(), e); @@ -402,4 +403,8 @@ public class RelatorioMovimentosAtraso extends Relatorio { } + public List getLsDadosRelatorio() { + return lsDadosRelatorio; + } + } 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 a8afae1a3..17a2515f3 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 @@ -1,6 +1,10 @@ package com.rjconsultores.ventaboletos.web.gui.controladores.relatorios; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.sql.DataSource; @@ -19,8 +23,11 @@ import org.zkoss.zul.Textbox; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.PuntoVenta; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioMovimentosAtraso; -import com.rjconsultores.ventaboletos.relatorios.utilitarios.Relatorio; +import com.rjconsultores.ventaboletos.service.ConferenciaComissaoService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; +import com.rjconsultores.ventaboletos.vo.comissao.ConferenciaComissaoVO; +import com.rjconsultores.ventaboletos.vo.comissao.DiaConferenciaComissaoVO; +import com.rjconsultores.ventaboletos.vo.comissao.MovimentosAtrasoVO; import com.rjconsultores.ventaboletos.vo.comissao.MovimentosAtrasoVO.SituacaoDiaMovimento; import com.rjconsultores.ventaboletos.web.utilerias.MaskUtil; import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer; @@ -35,10 +42,14 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose @Autowired private DataSource dataSourceRead; + + @Autowired + private ConferenciaComissaoService conferenciaComissaoService; private Textbox txtCompetencia; private PuntoVenta puntoVenta; private Empresa empresa; + private List lsEmpresas; private Radio rdbTipoConferencia; @@ -46,8 +57,15 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); aplicarMascara(); - txtCompetencia.focus(); - } + lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa(); + initCompetencia(); + } + + private void initCompetencia() { + DateFormat format =new SimpleDateFormat("MM/yyyy"); + txtCompetencia.setText(format.format(new Date())); + txtCompetencia.focus(); + } public void onClick$btnRelatorio(Event ev) { try { @@ -66,7 +84,8 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose parametros.put("puntoventa", "Todos"); } - Relatorio relatorio = new RelatorioMovimentosAtraso(parametros, dataSourceRead.getConnection()); + RelatorioMovimentosAtraso relatorio = new RelatorioMovimentosAtraso(parametros, dataSourceRead.getConnection()); + removerDiasSemMovimento(relatorio); Map args = new HashMap(); args.put("relatorio", relatorio); @@ -77,6 +96,29 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose log.error(e.getMessage(), e); } } + + /** + * Remove os dias sem movimento + * Mantis #10515 + * @param relatorio + */ + private void removerDiasSemMovimento(RelatorioMovimentosAtraso relatorio) { + try { + for (MovimentosAtrasoVO movimentosAtraso : relatorio.getLsDadosRelatorio()) { + List lsConferenciaComissao = conferenciaComissaoService.carregarConferenciaComissao(txtCompetencia.getValue(), empresa, new PuntoVenta(movimentosAtraso.getPuntoventaId()), null); + for (ConferenciaComissaoVO conferenciaComissao : lsConferenciaComissao) { + for (DiaConferenciaComissaoVO diaConferenciaComissao : conferenciaComissao.getDiasOrdenado()) { + if(diaConferenciaComissao.getIndsemmovimento()) { + movimentosAtraso.getDiasEmAtraso().remove(diaConferenciaComissao.getDia()); + } + } + } + + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } public PuntoVenta getPuntoVenta() { return puntoVenta; @@ -98,4 +140,8 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose MaskUtil.aplicarMascara(txtCompetencia.getUuid(), "99/9999"); } + public List getLsEmpresas() { + return lsEmpresas; + } + } diff --git a/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul b/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul index 010d0f4da..0ca91f675 100644 --- a/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul +++ b/web/gui/relatorios/filtroRelatorioMovimentosAtraso.zul @@ -46,11 +46,12 @@