Adm - Relatório Gerencial de SOLICITAÇÃO DE OCD (fixes bug #6246)

Tempo: 04 horas

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Web/trunk/ventaboletos@43641 d1611594-4594-4d17-8e1d-87c2c4800839
master
julio 2015-05-04 18:49:39 +00:00
parent 5860bb20d1
commit 3cb4d765fb
5 changed files with 63 additions and 33 deletions

View File

@ -17,10 +17,10 @@ import com.rjconsultores.ventaboletos.web.utilerias.NamedParameterStatement;
public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio { public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
private List<RelatorioOCDBean> lsDadosRelatorio; private List<RelatorioOCDBean> lsDadosRelatorio;
public RelatorioOCDNaoResgatadaEmpresa(Map<String, Object> parametros, Connection conexao) throws Exception { public RelatorioOCDNaoResgatadaEmpresa(Map<String, Object> parametros, Connection conexao) throws Exception {
super(parametros, conexao); super(parametros, conexao);
this.setCustomDataSource(new DataSource(this) { this.setCustomDataSource(new DataSource(this) {
@Override @Override
public void initDados() throws Exception { public void initDados() throws Exception {
@ -32,23 +32,25 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00"; String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00";
String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59"; String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59";
Integer empresaId = parametros.get("empresa") != null ? Integer.parseInt(parametros.get("empresa").toString()) : null; Integer empresaId = parametros.get("empresa") != null ? Integer.parseInt(parametros.get("empresa").toString()) : null;
boolean statusPendente = (Boolean) parametros.get("statusPendente");
String sql = getSql(fecInicio, fecFinal, empresaId); boolean statusPago = (Boolean) parametros.get("statusPago");
String sql = getSql(fecInicio, fecFinal, empresaId, statusPendente, statusPago);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql); NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null; ResultSet rset = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
stmt.setTimestamp("fecInicio", new java.sql.Timestamp(sdf.parse(fecInicio).getTime())); stmt.setTimestamp("fecInicio", new java.sql.Timestamp(sdf.parse(fecInicio).getTime()));
stmt.setTimestamp("fecFinal", new java.sql.Timestamp(sdf.parse(fecFinal).getTime())); stmt.setTimestamp("fecFinal", new java.sql.Timestamp(sdf.parse(fecFinal).getTime()));
if (empresaId != null){ if (empresaId != null) {
stmt.setInt("empresaId", empresaId); stmt.setInt("empresaId", empresaId);
} }
rset = stmt.executeQuery(); rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioOCDBean>(); lsDadosRelatorio = new ArrayList<RelatorioOCDBean>();
while (rset.next()) { while (rset.next()) {
RelatorioOCDBean ocdBean = new RelatorioOCDBean(); RelatorioOCDBean ocdBean = new RelatorioOCDBean();
ocdBean.setBoletoId(rset.getLong("boleto_Id")); ocdBean.setBoletoId(rset.getLong("boleto_Id"));
@ -65,10 +67,10 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
ocdBean.setNumoperacion(rset.getString("numoperacion")); ocdBean.setNumoperacion(rset.getString("numoperacion"));
ocdBean.setPenalizacion(rset.getBigDecimal("penalizacion")); ocdBean.setPenalizacion(rset.getBigDecimal("penalizacion"));
ocdBean.setValorPagar(rset.getBigDecimal("valor_Pagar")); ocdBean.setValorPagar(rset.getBigDecimal("valor_Pagar"));
lsDadosRelatorio.add(ocdBean); lsDadosRelatorio.add(ocdBean);
} }
if (lsDadosRelatorio.size() > 0) { if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio); setLsDadosRelatorio(lsDadosRelatorio);
@ -76,7 +78,7 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
} }
}); });
} }
public void setLsDadosRelatorio(List<RelatorioOCDBean> lsDadosRelatorio) { public void setLsDadosRelatorio(List<RelatorioOCDBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio)); this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio; this.lsDadosRelatorio = lsDadosRelatorio;
@ -85,10 +87,11 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
@Override @Override
protected void processaParametros() throws Exception { protected void processaParametros() throws Exception {
} }
private String getSql(String fecInicio, String fecFinal, Integer empresaId) { private String getSql(String fecInicio, String fecFinal, Integer empresaId,
boolean statusPendente, boolean statusPago) {
StringBuffer sql = new StringBuffer(); StringBuffer sql = new StringBuffer();
sql.append("select nombempresa, o.*, ui.nombusuario nombusuarioinc, "); sql.append("select nombempresa, o.*, ui.nombusuario nombusuarioinc, ");
sql.append("up.nombusuario nombusuariopago, u.nombusuario nombusuario, "); sql.append("up.nombusuario nombusuariopago, u.nombusuario nombusuario, ");
sql.append("p.nombpuntoventa nombpuntoventa, pp.nombpuntoventa nombpuntoventapago "); sql.append("p.nombpuntoventa nombpuntoventa, pp.nombpuntoventa nombpuntoventapago ");
@ -101,12 +104,17 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
sql.append("left join usuario up on up.usuario_id = o.usuariopago_id "); sql.append("left join usuario up on up.usuario_id = o.usuariopago_id ");
sql.append("join punto_venta p on p.puntoventa_id = o.puntoventa_id "); sql.append("join punto_venta p on p.puntoventa_id = o.puntoventa_id ");
sql.append("left join punto_venta pp on pp.puntoventa_id = o.puntoventapago_id "); sql.append("left join punto_venta pp on pp.puntoventa_id = o.puntoventapago_id ");
sql.append("where o.fecpago is null and o.fecpagar between :fecInicio and :fecFinal "); sql.append("where o.fecpagar between :fecInicio and :fecFinal ");
sql.append("and o.activo = 1 and o.indpago = 0 "); sql.append(" and o.activo = 1 ");
if (empresaId != null){ sql.append(statusPendente ? " and o.fecpago is null " : "");
sql.append(statusPendente ? " and o.indpago = 0 " : "");
sql.append(statusPago ? " and o.fecpago is not null " : "");
sql.append(statusPago ? " and o.indpago = 1 " : "");
if (empresaId != null) {
sql.append("and e.empresa_id = :empresaId "); sql.append("and e.empresa_id = :empresaId ");
} }
return sql.toString(); return sql.toString();
} }
} }

View File

@ -7,7 +7,6 @@ import java.util.Map;
import javax.sql.DataSource; import javax.sql.DataSource;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
@ -16,6 +15,7 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.Event;
import org.zkoss.zul.Combobox; import org.zkoss.zul.Combobox;
import org.zkoss.zul.Datebox; import org.zkoss.zul.Datebox;
import org.zkoss.zul.Radio;
import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Empresa;
import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioOCDNaoResgatadaEmpresa; import com.rjconsultores.ventaboletos.relatorios.impl.RelatorioOCDNaoResgatadaEmpresa;
@ -27,32 +27,37 @@ import com.rjconsultores.ventaboletos.web.utilerias.MyGenericForwardComposer;
@Scope("prototype") @Scope("prototype")
public class RelatorioOCDController extends MyGenericForwardComposer { public class RelatorioOCDController extends MyGenericForwardComposer {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private static Logger log = Logger.getLogger(RelatorioOCDController.class);
@Autowired @Autowired
private DataSource dataSourceRead; private DataSource dataSourceRead;
@Autowired @Autowired
private EmpresaService empresaService; private EmpresaService empresaService;
private Datebox datInicial; private Datebox datInicial;
private Datebox datFinal; private Datebox datFinal;
private Radio radPendente;
private Radio radPagos;
private Radio radTodos;
private Combobox cmbEmpresa; private Combobox cmbEmpresa;
private List<Empresa> lsEmpresas; private List<Empresa> lsEmpresas;
private void executarRelatorio() throws Exception { private void executarRelatorio() throws Exception {
Map<String, Object> parametros = new HashMap<String, Object>(); Map<String, Object> parametros = new HashMap<String, Object>();
parametros.put("TITULO", Labels.getLabel("relatorioOCDController.window.title"));
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
parametros.put("fecInicio", sdf.format(this.datInicial.getValue())); parametros.put("fecInicio", sdf.format(this.datInicial.getValue()));
parametros.put("fecFinal", sdf.format(this.datFinal.getValue())); parametros.put("fecFinal", sdf.format(this.datFinal.getValue()));
if (cmbEmpresa.getSelectedIndex() != -1){ parametros.put("statusPendente", radPendente.isChecked());
parametros.put("empresa", ((Empresa)cmbEmpresa.getSelectedItem().getValue()).getEmpresaId()); parametros.put("statusPago", radPagos.isChecked());
parametros.put("statusTodos", radTodos.isChecked());
if (cmbEmpresa.getSelectedIndex() != -1) {
parametros.put("empresa", ((Empresa) cmbEmpresa.getSelectedItem().getValue()).getEmpresaId());
} }
parametros.put("TITULO", Labels.getLabel("relatorioOCDController.window.title"));
Relatorio relatorio = new RelatorioOCDNaoResgatadaEmpresa(parametros, dataSourceRead.getConnection()); Relatorio relatorio = new RelatorioOCDNaoResgatadaEmpresa(parametros, dataSourceRead.getConnection());
Map<String, Object> args = new HashMap<String, Object>(); Map<String, Object> args = new HashMap<String, Object>();
@ -70,7 +75,7 @@ public class RelatorioOCDController extends MyGenericForwardComposer {
@Override @Override
public void doAfterCompose(Component comp) throws Exception { public void doAfterCompose(Component comp) throws Exception {
lsEmpresas = empresaService.obtenerTodos(); lsEmpresas = empresaService.obtenerTodos();
super.doAfterCompose(comp); super.doAfterCompose(comp);
} }

View File

@ -325,6 +325,10 @@ relatorioOCDController.window.title=Reporte OCD por la empresa
relatorioOCDController.lbEmpresa.value=Empresa relatorioOCDController.lbEmpresa.value=Empresa
relatorioOCDController.lbDataIni.value=Fecha inicio relatorioOCDController.lbDataIni.value=Fecha inicio
relatorioOCDController.lbDataFin.value=Fecha final relatorioOCDController.lbDataFin.value=Fecha final
relatorioOCDController.indStatusOCD.value=Status OCD
relatorioOCDController.radPendente.value=Pendentes
relatorioOCDController.radPagos.value=Pagos
relatorioOCDController.radTodos.value=Todos
#Relatorio rutas Horario #Relatorio rutas Horario
relatorioLinhasHorarioController.window.title = Reporte de rutas por horário relatorioLinhasHorarioController.window.title = Reporte de rutas por horário

View File

@ -332,6 +332,10 @@ relatorioOCDController.window.title=Relatório OCD por Empresa
relatorioOCDController.lbEmpresa.value=Empresa relatorioOCDController.lbEmpresa.value=Empresa
relatorioOCDController.lbDataIni.value=Data Inicial relatorioOCDController.lbDataIni.value=Data Inicial
relatorioOCDController.lbDataFin.value=Data Final relatorioOCDController.lbDataFin.value=Data Final
relatorioOCDController.indStatusOCD.value=Status OCD
relatorioOCDController.radPendente.value=Pendentes
relatorioOCDController.radPagos.value=Pagos
relatorioOCDController.radTodos.value=Todos
#Relatorio Linhas Horario #Relatorio Linhas Horario
relatorioLinhasHorarioController.lbDataIni.value = Data Inicial relatorioLinhasHorarioController.lbDataIni.value = Data Inicial

View File

@ -7,7 +7,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul"> <zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioOCD" <window id="winFiltroRelatorioOCD"
apply="${relatorioOCDController}" apply="${relatorioOCDController}"
contentStyle="overflow:auto" height="264px" width="550px" contentStyle="overflow:auto" width="550px"
border="normal"> border="normal">
<grid fixedLayout="true"> <grid fixedLayout="true">
@ -38,6 +38,15 @@
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar" use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioOCD$composer.lsEmpresas}" /> model="@{winFiltroRelatorioOCD$composer.lsEmpresas}" />
</row> </row>
<row>
<label value="${c:l('relatorioOCDController.indStatusOCD.value')}" />
<radiogroup Id="indStatusOCD">
<radio id="radPendente" label="${c:l('relatorioOCDController.radPendente.value')}"
checked="true" />
<radio id="radPagos" label="${c:l('relatorioOCDController.radPagos.value')}" />
<radio id="radTodos" label="${c:l('relatorioOCDController.radTodos.value')}" />
</radiogroup>
</row>
</rows> </rows>
</grid> </grid>
<toolbar> <toolbar>