leonardo 2015-11-05 16:04:49 +00:00
parent 8e0d85de64
commit f792163105
3 changed files with 161 additions and 15 deletions

View File

@ -13,7 +13,7 @@ import java.util.Properties;
import org.apache.log4j.Logger;
import com.rjconsultores.integracaoreceitadespesa.Application;
import com.rjconsultores.integracaoreceitadespesa.entidades.DepositoBean;
import com.rjconsultores.integracaoreceitadespesa.entidades.DespesaReceita;
import com.rjconsultores.integracaoreceitadespesa.entidades.Empresa;
import com.rjconsultores.integracaoreceitadespesa.entidades.PuntoVenta;
@ -21,6 +21,7 @@ import com.rjconsultores.integracaoreceitadespesa.entidades.PuntoVenta;
public class Totalbus {
private static final Logger log = Logger.getLogger(Totalbus.class);
private static final int DAYS_AGO = -1;
private static Totalbus instance = null;
@ -102,8 +103,146 @@ public class Totalbus {
return this.conn;
}
public List<DepositoBean> getDepositos(Integer puntoventaId, Integer empresaId){
List<DepositoBean> depositos = new ArrayList<DepositoBean>();
public List<DespesaReceita> getReceitas(final Integer puntoVentaId, final Integer empresaId) {
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuffer sb = new StringBuffer();
sb.append(" select ");
sb.append(" tmp.fechorvta, ");
sb.append(" tmp.empresa, ");
sb.append(" tmp.puntoventaId, ");
sb.append(" sum(tmp.valor), ");
sb.append(" tmp.contacontabil ");
sb.append(" from ( ");
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(" tee.contacontabil AS contacontabil ");
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){
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 (1,10) ");
sb.append(" group by ");
sb.append(" cd.feccorte, ");
sb.append(" e.empresa_id, ");
sb.append(" pv.puntoventa_id, ");
sb.append(" tee.contacontabil ");
sb.append(" ) tmp ");
sb.append(" ");
sb.append(" group by ");
sb.append(" tmp.fechorventa, ");
sb.append(" tmp.empresa, ");
sb.append(" tmp.puntoventaId, ");
sb.append(" tmp.contacontabil ");
PreparedStatement stmt = null;
ResultSet rs = null;
Date 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(3));
despesa.setValorLançamento(rs.getBigDecimal(4).toString());
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<DespesaReceita> getDespesas(Integer puntoventaId, Integer empresaId){
List<DespesaReceita> despesas = new ArrayList<DespesaReceita>();
StringBuilder sb = new StringBuilder();
sb.append(" select ");
sb.append(" cd.feccorte as feccorte, ");
sb.append(" e.empresa_id as empresa_id, ");
sb.append(" pv.puntoventa_id as puntoventa_id, ");
sb.append(" cdp.importe as valor, ");
sb.append(" tee.contacontabil as contacontabil ");
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 = ? ");
sb.append(" and tee.indtipo = 0 ");
if (puntoventaId != null){
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 not exists (select ee.EVENTOEXTRA_ID from evento_extra ee where ev.EVENTOEXTRA_ID = ee.EVENTOEXTRACANC_ID) ");
sb.append(" and ev.EVENTOEXTRACANC_ID is null ");
Date fecha = getData();
PreparedStatement pstmt = null;
ResultSet rs = null;
try{
pstmt = getConnection().prepareStatement(sb.toString());
pstmt.setDate(1, new java.sql.Date(fecha.getTime()));
pstmt.setDate(2, new java.sql.Date(fecha.getTime()));
rs = pstmt.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(3));
despesa.setValorLançamento(rs.getBigDecimal(4).toString());
despesas.add(despesa);
}
} catch (Exception e){
log.error("", e);
} finally {
try { rs.close(); } catch (Exception ignore) { log.error("", ignore); }
try { pstmt.close(); } catch (Exception ignore) { log.error("", ignore); }
}
return despesas;
}
public List<DespesaReceita> getDepositos(Integer puntoventaId, Integer empresaId){
List<DespesaReceita> depositos = new ArrayList<DespesaReceita>();
StringBuilder sb = new StringBuilder();
sb.append("Select fc.fecfechamento, fc.empresa_id, fc.puntoventa_id, fd.valor_pago, ");
sb.append("(select valorconstante from constante where nombconstante = 'CODIGO_RECEITA_DESPESA_GLOBUS') as codigoReceitaDespesa ");
@ -117,10 +256,8 @@ public class Totalbus {
sb.append("and fc.empresa_id = :empresaId ");
}
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DAY_OF_MONTH, -6);
Date fecha = cal.getTime();
Date fecha = getData();
PreparedStatement pstmt = null;
ResultSet rs = null;
@ -137,7 +274,7 @@ public class Totalbus {
rs = pstmt.executeQuery();
while (rs.next()){
DepositoBean deposito = new DepositoBean();
DespesaReceita deposito = new DespesaReceita();
deposito.setCodigoEmpresa(rs.getInt(2));
deposito.setCodigoReceitaDespesa(rs.getInt(5));
deposito.setDataLancamento(rs.getDate(1));
@ -177,6 +314,13 @@ public class Totalbus {
}
private Date getData(){
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DAY_OF_MONTH, DAYS_AGO);
return cal.getTime();
}
public List<PuntoVenta> getPontosVenda() {
return pontosVenda;
}

View File

@ -6,7 +6,7 @@ import java.util.List;
import com.rjconsultores.integracaoreceitadespesa.dao.Totalbus;
public class DepositoBean {
public class DespesaReceita {
private String dataLancamento; // DD/MM/YYYY
private String codigoEmpresa; // 011 003 Numérico
private final String codigoFilial = "001"; // 014 003 Numérico
@ -30,7 +30,7 @@ public class DepositoBean {
private SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
public DepositoBean(){
public DespesaReceita(){
setCodigoReceitaDespesa(Totalbus.getInstance().getCodigoReceitaDespesaGlobus());
}
@ -43,7 +43,7 @@ public class DepositoBean {
numeroContratoTurismo + numeroReciboTurismo +
formaPagamentoTurismo + tipoPagamentoTurismo +
descricaoDetalhada + documentoVenda + tipoDocumentoVenda +
numerodocumentoCPG + finalLinha);
numerodocumentoCPG + finalLinha + System.getProperty("line.separator"));
}
public void setDataLancamento(Date dataLancamento) {

View File

@ -18,7 +18,7 @@ import javax.swing.event.MenuListener;
import com.rjconsultores.integracaoreceitadespesa.Arquivo;
import com.rjconsultores.integracaoreceitadespesa.dao.Totalbus;
import com.rjconsultores.integracaoreceitadespesa.entidades.DepositoBean;
import com.rjconsultores.integracaoreceitadespesa.entidades.DespesaReceita;
/**
@ -102,11 +102,13 @@ public class FrmMain extends javax.swing.JFrame implements MenuListener {
int answer = JOptionPane.showConfirmDialog(null, pnl, "Executar Exportação", JOptionPane.OK_CANCEL_OPTION);
if (answer == JOptionPane.OK_OPTION) {
List<DepositoBean> depositos = Totalbus.getInstance().getDepositos(pnl.getPuntoventa(), pnl.getEmpresa());
List<DespesaReceita> despesasReceitas = Totalbus.getInstance().getDepositos(pnl.getPuntoventa(), pnl.getEmpresa());
despesasReceitas.addAll(Totalbus.getInstance().getDespesas(pnl.getPuntoventa(), pnl.getEmpresa()));
despesasReceitas.addAll(Totalbus.getInstance().getReceitas(pnl.getPuntoventa(), pnl.getEmpresa()));
List<String> rows = new ArrayList<String>();
for (DepositoBean deposito : depositos){
deposito.preencheLinha(rows);
for (DespesaReceita item : despesasReceitas){
item.preencheLinha(rows);
}
this.setCursor(new Cursor(Cursor.WAIT_CURSOR));