fabio 2020-12-18 21:17:33 +00:00
parent 03cf90fda9
commit 0350a86787
1 changed files with 93 additions and 3 deletions

View File

@ -60,13 +60,15 @@ public class Totalbus {
if (isReceitasDespesasComporte){ if (isReceitasDespesasComporte){
despesasReceitas.addAll(getDespesaCartaoDebCredComporte(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM)); despesasReceitas.addAll(getDespesaCartaoDebCredComporte(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
log.debug("gerando receitas...");
despesasReceitas.addAll(getReceitasComporte(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
} else { } else {
despesasReceitas.addAll(getDespesaCartaoDebCred(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM)); despesasReceitas.addAll(getDespesaCartaoDebCred(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
log.debug("gerando receitas...");
despesasReceitas.addAll(getReceitas(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
} }
log.debug("gerando receitas...");
despesasReceitas.addAll(getReceitas(puntoventaId, empresaId, fechaParam, incluiTipoPagamentoTurismoBGM));
List<String> rows = new ArrayList<String>(); List<String> rows = new ArrayList<String>();
for (DespesaReceita item : despesasReceitas) { for (DespesaReceita item : despesasReceitas) {
@ -425,6 +427,94 @@ public class Totalbus {
return despesas; return despesas;
} }
public List<DespesaReceita> getReceitasComporte(final Integer puntoVentaId, final Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) throws IntegracaoReceitaDespesaException {
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuilder sb = new StringBuilder();
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(" COALESCE(cdp.importe,0) AS valor, ");
sb.append(" tee.contacontabil AS contacontabil, ");
sb.append(" pv.numpuntoventa AS numpuntoventa, ");
sb.append(" ev.descinfo as descinfo, ");
sb.append(" ev.tipoeventoextra_id, ");
sb.append(" COALESCE(cdp.formapago_id,0) as formapagoId, ");
sb.append(" ct.numautorizacion AS numautorizacion ");
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(" LEFT JOIN caja_tarjeta ct ON ct.cajatarjeta_id = cdp.cajatarjeta_id ");
sb.append(" where ");
sb.append(" cd.feccorte = ? ");
adicionaFiltroQuery(puntoVentaId, sb, " and cd.puntoventa_id = ", puntoVentaId != null && !puntoVentaId.equals(-1));
adicionaFiltroQuery(empresaId, sb, " and e.empresa_id = ", empresaId != null);
sb.append(" and cd.activo = 1 ");
sb.append(" and tee.indtipo = 1 ");
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 receita = new DespesaReceita();
receita.setCodigoEmpresa(rs.getInt(2));
receita.setCodigoReceitaDespesa(rs.getString(5));
receita.setDataLancamento(rs.getDate(1));
receita.setDataMovimento(rs.getDate(1));
receita.setLocalArrecadacao(rs.getString(6));
if (rs.getBigDecimal(4).signum() == -1) {
receita.setIdentificadorReceitaDespesa("D");
receita.setValorLancamento(df.format(rs.getBigDecimal(4).multiply(new BigDecimal(-1))));
} else {
receita.setIdentificadorReceitaDespesa("R");
receita.setValorLancamento(df.format(rs.getBigDecimal(4)));
}
String desc =rs.getString(7);
if(StringUtils.isNotBlank(desc) && desc.contains("\t")){
desc = desc.replaceAll("\t", "");
}
receita.setDescricaoDetalhada(desc);
if (incluiTipoPagamentoTurismoBGM) {
receita.setTipoPagamentoTurismo(rs.getString("tipoeventoextra_id"));
}
receita.setFormaPagamentoId(rs.getString("formapagoId"));
despesas.add(receita);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new IntegracaoReceitaDespesaException("Erro ao processar Receitas");
} finally {
try {
rs.close();
} catch (Exception ignore) {
log.error(ignore.getMessage(), ignore);
}
try {
stmt.close();
} catch (Exception ignore) {
log.error(ignore.getMessage(), ignore);
}
}
return despesas;
}
public List<DespesaReceita> getDespesas(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) throws IntegracaoReceitaDespesaException { public List<DespesaReceita> getDespesas(Integer puntoventaId, Integer empresaId, Date fechaParam, boolean incluiTipoPagamentoTurismoBGM) throws IntegracaoReceitaDespesaException {
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>(); List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();