wilian 2018-01-25 17:38:47 +00:00
parent 79bf750e4e
commit 6765412815
3 changed files with 66 additions and 14 deletions

View File

@ -37,6 +37,7 @@ public class RelatorioMovimentosAtraso extends Relatorio {
private String competencia;
private SituacaoDiaMovimento status;
private Map<Integer, Set<Integer>> diasComMovimentos;
private List<MovimentosAtrasoVO> lsDadosRelatorio;
public RelatorioMovimentosAtraso(Map<String, Object> 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<MovimentosAtrasoVO> 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<Integer, Set<Integer>>();
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<MovimentosAtrasoVO> getLsDadosRelatorio() {
return lsDadosRelatorio;
}
}

View File

@ -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;
@ -36,9 +43,13 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose
@Autowired
private DataSource dataSourceRead;
@Autowired
private ConferenciaComissaoService conferenciaComissaoService;
private Textbox txtCompetencia;
private PuntoVenta puntoVenta;
private Empresa empresa;
private List<Empresa> lsEmpresas;
private Radio rdbTipoConferencia;
@ -46,6 +57,13 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
aplicarMascara();
lsEmpresas = UsuarioLogado.getUsuarioLogado().getEmpresa();
initCompetencia();
}
private void initCompetencia() {
DateFormat format =new SimpleDateFormat("MM/yyyy");
txtCompetencia.setText(format.format(new Date()));
txtCompetencia.focus();
}
@ -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<String, Object> args = new HashMap<String, Object>();
args.put("relatorio", relatorio);
@ -78,6 +97,29 @@ public class RelatorioMovimentosAtrasoController extends MyGenericForwardCompose
}
}
/**
* Remove os dias sem movimento
* Mantis #10515
* @param relatorio
*/
private void removerDiasSemMovimento(RelatorioMovimentosAtraso relatorio) {
try {
for (MovimentosAtrasoVO movimentosAtraso : relatorio.getLsDadosRelatorio()) {
List<ConferenciaComissaoVO> 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<Empresa> getLsEmpresas() {
return lsEmpresas;
}
}

View File

@ -46,11 +46,12 @@
<row>
<label value="${c:l('relatorioMovimentosAtrasoController.lbEmpresa.value')}" />
<combobox id="cmbEmpresa"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEmpresa"
constraint="no empty"
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
width="90%"
mold="rounded"
buttonVisible="true"
width="90%"
model="@{winRelatorioMovimentosAtraso$composer.lsEmpresas}"
selectedItem="@{winRelatorioMovimentosAtraso$composer.empresa}" />
</row>
<row>