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 {
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);
this.setCustomDataSource(new DataSource(this) {
@Override
public void initDados() throws Exception {
@ -32,23 +32,25 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
String fecInicio = parametros.get("fecInicio").toString() + " 00:00:00";
String fecFinal = parametros.get("fecFinal").toString() + " 23:59:59";
Integer empresaId = parametros.get("empresa") != null ? Integer.parseInt(parametros.get("empresa").toString()) : null;
String sql = getSql(fecInicio, fecFinal, empresaId);
boolean statusPendente = (Boolean) parametros.get("statusPendente");
boolean statusPago = (Boolean) parametros.get("statusPago");
String sql = getSql(fecInicio, fecFinal, empresaId, statusPendente, statusPago);
NamedParameterStatement stmt = new NamedParameterStatement(conexao, sql);
ResultSet rset = null;
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
stmt.setTimestamp("fecInicio", new java.sql.Timestamp(sdf.parse(fecInicio).getTime()));
stmt.setTimestamp("fecFinal", new java.sql.Timestamp(sdf.parse(fecFinal).getTime()));
if (empresaId != null){
if (empresaId != null) {
stmt.setInt("empresaId", empresaId);
}
rset = stmt.executeQuery();
lsDadosRelatorio = new ArrayList<RelatorioOCDBean>();
while (rset.next()) {
RelatorioOCDBean ocdBean = new RelatorioOCDBean();
ocdBean.setBoletoId(rset.getLong("boleto_Id"));
@ -65,10 +67,10 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
ocdBean.setNumoperacion(rset.getString("numoperacion"));
ocdBean.setPenalizacion(rset.getBigDecimal("penalizacion"));
ocdBean.setValorPagar(rset.getBigDecimal("valor_Pagar"));
lsDadosRelatorio.add(ocdBean);
}
if (lsDadosRelatorio.size() > 0) {
setLsDadosRelatorio(lsDadosRelatorio);
@ -76,7 +78,7 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
}
});
}
public void setLsDadosRelatorio(List<RelatorioOCDBean> lsDadosRelatorio) {
this.setCollectionDataSource(new JRBeanCollectionDataSource(lsDadosRelatorio));
this.lsDadosRelatorio = lsDadosRelatorio;
@ -85,10 +87,11 @@ public class RelatorioOCDNaoResgatadaEmpresa extends Relatorio {
@Override
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();
sql.append("select nombempresa, o.*, ui.nombusuario nombusuarioinc, ");
sql.append("up.nombusuario nombusuariopago, u.nombusuario nombusuario, ");
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("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("where o.fecpago is null and o.fecpagar between :fecInicio and :fecFinal ");
sql.append("and o.activo = 1 and o.indpago = 0 ");
if (empresaId != null){
sql.append("where o.fecpagar between :fecInicio and :fecFinal ");
sql.append(" and o.activo = 1 ");
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 ");
}
return sql.toString();
}
}

View File

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

View File

@ -325,6 +325,10 @@ relatorioOCDController.window.title=Reporte OCD por la empresa
relatorioOCDController.lbEmpresa.value=Empresa
relatorioOCDController.lbDataIni.value=Fecha inicio
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
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.lbDataIni.value=Data Inicial
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
relatorioLinhasHorarioController.lbDataIni.value = Data Inicial

View File

@ -7,7 +7,7 @@
<zk xmlns="http://www.zkoss.org/2005/zul">
<window id="winFiltroRelatorioOCD"
apply="${relatorioOCDController}"
contentStyle="overflow:auto" height="264px" width="550px"
contentStyle="overflow:auto" width="550px"
border="normal">
<grid fixedLayout="true">
@ -38,6 +38,15 @@
use="com.rjconsultores.ventaboletos.web.utilerias.MyComboboxEstandar"
model="@{winFiltroRelatorioOCD$composer.lsEmpresas}" />
</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>
</grid>
<toolbar>