diff --git a/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java b/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java index 0c15baa4b..0ce84f2e8 100644 --- a/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java +++ b/src/com/rjconsultores/integracaoreceitadespesa/dao/Totalbus.java @@ -41,8 +41,11 @@ public class Totalbus { List despesasReceitas = getDepositos(puntoventaId, empresaId, fechaParam); log.debug("gerando despesas..."); despesasReceitas.addAll(getDespesas(puntoventaId, empresaId, fechaParam)); + log.debug("gerando despesas cartão..."); + despesasReceitas.addAll(getDespesaCartaoDebCred(puntoventaId, empresaId, fechaParam)); log.debug("gerando receitas..."); despesasReceitas.addAll(getReceitas(puntoventaId, empresaId, fechaParam)); + List rows = new ArrayList(); for (DespesaReceita item : despesasReceitas){ @@ -97,6 +100,76 @@ public class Totalbus { return this.conn; } + public List getDespesaCartaoDebCred(final Integer puntoVentaId, final Integer empresaId, Date fechaParam) { + List despesas = new ArrayList(); + StringBuffer sb = new StringBuffer(); + sb.append(" select "); + sb.append(" cd.feccorte AS fechorvta, "); + sb.append(" e.empresa_id AS empresa, "); + sb.append(" pv.puntoventa_id AS puntoventaId, "); + sb.append(" sum(cdp.importe) AS valor, "); + sb.append(" case when cdp.formapago_id = 2 then 802 else 803 end as contacontabil, "); + sb.append(" pv.numpuntoventa AS numpuntoventa "); + sb.append(" from "); + sb.append(" caja_diversos cd "); + sb.append(" left join evento_extra ev on ev.eventoextra_id = cd.eventoextra_id "); + sb.append(" left join empresa e on e.empresa_id = ev.empresa_id "); + sb.append(" left join punto_venta pv on pv.puntoventa_id = cd.puntoventa_id "); + sb.append(" left join caja_diversos_pago cdp on cdp.cajadiversos_id = cd.cajadiversos_id "); + sb.append(" left join tipo_evento_extra tee on tee.tipoeventoextra_id = ev.tipoeventoextra_id "); + sb.append(" left join ptovta_integra pi on e.empresa_id = pi.empresa_id and pi.puntoventa_id = pv.puntoventa_id "); + sb.append(" where "); + sb.append(" cd.feccorte = ? "); + if (puntoVentaId != null && !puntoVentaId.equals(-1)){ + sb.append(" and cd.puntoventa_id = " + puntoVentaId); + } + if (empresaId != null){ + sb.append(" and e.empresa_id = " + empresaId); + } + sb.append(" and cd.activo = 1 "); + sb.append(" and tee.indtipo = 1 "); + sb.append(" and cdp.formapago_id in (2,3) "); + sb.append(" group by "); + sb.append(" cd.feccorte, "); + sb.append(" e.empresa_id, "); + sb.append(" pv.puntoventa_id, "); + sb.append(" case when cdp.formapago_id = 2 then 802 else 803 end, "); + sb.append(" pv.numpuntoventa "); + + + PreparedStatement stmt = null; + ResultSet rs = null; + + Date fecha = fechaParam; + if(fechaParam== null){ + fecha = getData(); + } + + try{ + stmt = getConnection().prepareStatement(sb.toString()); + stmt.setDate(1, new java.sql.Date(fecha.getTime())); + rs = stmt.executeQuery(); + + while (rs.next()){ + DespesaReceita despesa = new DespesaReceita(); + despesa.setCodigoEmpresa(rs.getInt(2)); + despesa.setCodigoReceitaDespesa(rs.getInt(5)); + despesa.setDataLancamento(rs.getDate(1)); + despesa.setDataMovimento(rs.getDate(1)); + despesa.setLocalArrecadação(rs.getInt(6)); + despesa.setValorLancamento(df.format(rs.getBigDecimal(4))); + despesa.setIdentificadorReceitaDespesa("D"); + despesas.add(despesa); + } + } catch (Exception e){ + log.error(e.toString(),e); + } finally { + try { rs.close(); } catch (Exception ignore) { log.error("", ignore); } + try { stmt.close(); } catch (Exception ignore) { log.error("", ignore); } + } + return despesas; + } + public List getReceitas(final Integer puntoVentaId, final Integer empresaId, Date fechaParam) { List despesas = new ArrayList(); StringBuffer sb = new StringBuffer();