julio 2017-07-20 17:50:10 +00:00
parent 0e6e2a079e
commit 62386d7235
1 changed files with 165 additions and 55 deletions

View File

@ -578,38 +578,72 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
private String sqlFiscaisECF(boolean isEstadoTodos, boolean isBoletoHist) { private String sqlFiscaisECF(boolean isEstadoTodos, boolean isBoletoHist) {
StringBuilder sql = new StringBuilder(); StringBuilder sql = new StringBuilder();
sql.append("SELECT r4.numserie20 as numImpressora, "); sql.append("SELECT numImpressora, ");
sql.append(" r4.coo as coo, "); sql.append(" coo, ");
sql.append(" r4.imptotalliquido as valorTotal, "); sql.append(" valorTotal, ");
sql.append(" r4.datamov as dataEmissao, "); sql.append(" dataEmissao, ");
sql.append(" r4.cpfcnpjcliente as cnpjCliente, "); sql.append(" cnpjCliente, ");
sql.append(" b.boleto_id as boletoId, "); sql.append(" boletoId, ");
sql.append(" m.empresa_id as empresaId, "); sql.append(" empresaId, ");
sql.append(" co.codibge as origenId, "); sql.append(" origenId, ");
sql.append(" eo.cveestado as origenUf, "); sql.append(" origenUf, ");
sql.append(" cd.codibge as destinoId, "); sql.append(" destinoId, ");
sql.append(" ed.cveestado as destinoUf, "); sql.append(" destinoUf, ");
sql.append(" fi.numcnpj as cnpjImpressora, "); sql.append(" cnpjImpressora, ");
sql.append(" fi.numserie as numpdv, "); sql.append(" numpdv, ");
sql.append(" r5.totparcial as repTributado, "); sql.append(" repTributado, ");
sql.append(" r5.imptotalliquido as valorItem, "); sql.append(" valorItem, ");
sql.append(" r5.tipopassagem as tipoPassagem, "); sql.append(" tipoPassagem, ");
sql.append(" r5.numitem as numItem, "); sql.append(" numItem, ");
sql.append(" r5.codproduto as codProduto, "); sql.append(" tipoPassagem, ");
sql.append(" fi.modelo as modeloImpressora, "); sql.append(" numItem, ");
sql.append(" r4.usuario_id as numCaixa, "); sql.append(" codProduto, ");
sql.append(" b.preciopagado as importetarifa, "); sql.append(" modeloImpressora, ");
sql.append(" b.importetaxaembarque as importetaxaembarque, "); sql.append(" numCaixa, ");
sql.append(" b.importepedagio as importepedagio, "); sql.append(" importetarifa, ");
sql.append(" b.importeseguro as importeseguro, "); sql.append(" importetaxaembarque, ");
sql.append(" cs.descclase as claseServicio, "); sql.append(" importepedagio, ");
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') as cnpjEcf, "); sql.append(" importeseguro, ");
sql.append(" ei.icms as impostoEstado, "); sql.append(" claseServicio, ");
sql.append(" 'N' as status, "); sql.append(" cnpjEcf, ");
sql.append(" r4.indcancelamento as indcancelamento "); sql.append(" impostoEstado, ");
sql.append(" status, ");
sql.append(" indcancelamento ");
sql.append(" ");
sql.append("FROM (SELECT r4.numserie20 AS numImpressora, ");
sql.append(" r4.coo AS coo, ");
sql.append(" r4.imptotalliquido AS valorTotal, ");
sql.append(" r4.datamov AS dataEmissao, ");
sql.append(" r4.cpfcnpjcliente AS cnpjCliente, ");
sql.append(" b.boleto_id AS boletoId, ");
sql.append(" m.empresa_id AS empresaId, ");
sql.append(" co.codibge AS origenId, ");
sql.append(" eo.cveestado AS origenUf, ");
sql.append(" cd.codibge AS destinoId, ");
sql.append(" ed.cveestado AS destinoUf, ");
sql.append(" fi.numcnpj AS cnpjImpressora, ");
sql.append(" fi.numserie AS numpdv, ");
sql.append(" r5.totparcial AS repTributado, ");
sql.append(" r5.imptotalliquido AS valorItem, ");
sql.append(" r5.tipopassagem AS tipoPassagem, ");
sql.append(" r5.numitem AS numItem, ");
sql.append(" r5.codproduto AS codProduto, ");
sql.append(" fi.modelo AS modeloImpressora, ");
sql.append(" r4.usuario_id AS numCaixa, ");
sql.append(" b.preciopagado AS importetarifa, ");
sql.append(" b.importetaxaembarque AS importetaxaembarque, ");
sql.append(" b.importepedagio AS importepedagio, ");
sql.append(" b.importeseguro AS importeseguro, ");
sql.append(" cs.descclase AS claseServicio, ");
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') AS cnpjEcf, ");
sql.append(" ei.icms AS impostoEstado, ");
sql.append(" 'N' AS status, ");
sql.append(" r4.indcancelamento AS indcancelamento ");
sql.append(" FROM fiscal_r4 r4 "); sql.append(" FROM fiscal_r4 r4 ");
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo "); sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 ");
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador "); sql.append(" AND r4.coo = r5.coo ");
sql.append(" AND r4.datamov = r5.datamov ");
sql.append(" AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 "); sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
if (isBoletoHist) if (isBoletoHist)
@ -617,28 +651,100 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
else else
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id "); sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
// sql.append(" INNER JOIN boleto_hist b ON b.boleto_id = r4.boleto_id and fi.numserie = b.serieimpfiscal ");
sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id "); sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id ");
sql.append(" INNER JOIN clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id "); sql.append(" INNER JOIN clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id "); sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" and ase.destino_id = b.destino_id and ase.ruta_id = b.ruta_id and ase.activo = 1 and ase.corrida_id is null "); sql.append(" AND ase.destino_id = b.destino_id ");
sql.append(" AND ase.ruta_id = b.ruta_id ");
sql.append(" AND ase.activo = 1 ");
sql.append(" AND ase.corrida_id IS NULL ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id "); sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id "); sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id "); sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id ");
sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id AND b.marca_id = ei.empresa_id "); sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id ");
sql.append(" AND b.marca_id = ei.empresa_id ");
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id "); sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id "); sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id "); sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE r4.datamov BETWEEN ? AND ? "); sql.append(" WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND m.empresa_id = ? "); sql.append(" AND m.empresa_id = ? ");
sql.append(isEstadoTodos ? "" : " AND eo.estado_id = ? "); sql.append(isEstadoTodos ? "" : " AND eo.estado_id = ? ");
sql.append(" AND (r4.indcancelamento = 'N' OR (r4.indcancelamento = 'S' AND "); sql.append(" AND (r4.indcancelamento = 'N') ");
sql.append(" (SELECT r3.numserie20 FROM fiscal_r3 r3 "); sql.append(" ");
sql.append(" WHERE r3.numserie20 = r4.numserie20 AND r3.datamov = r4.datamov "); sql.append(" union all ");
sql.append(" AND r3.totparcial = 'Can-T') IS NULL) ) "); sql.append(" ");
sql.append(" ORDER BY r4.datamov, "); sql.append(" SELECT r4.numserie20 AS numImpressora, ");
sql.append(" r4.numserie20, "); sql.append(" r4.coo AS coo, ");
sql.append(" r4.coo, "); sql.append(" r4.imptotalliquido AS valorTotal, ");
sql.append(" r5.numitem "); sql.append(" r4.datamov AS dataEmissao, ");
sql.append(" r4.cpfcnpjcliente AS cnpjCliente, ");
sql.append(" b.boleto_id AS boletoId, ");
sql.append(" m.empresa_id AS empresaId, ");
sql.append(" co.codibge AS origenId, ");
sql.append(" eo.cveestado AS origenUf, ");
sql.append(" cd.codibge AS destinoId, ");
sql.append(" ed.cveestado AS destinoUf, ");
sql.append(" fi.numcnpj AS cnpjImpressora, ");
sql.append(" fi.numserie AS numpdv, ");
sql.append(" r5.totparcial AS repTributado, ");
sql.append(" r5.imptotalliquido AS valorItem, ");
sql.append(" r5.tipopassagem AS tipoPassagem, ");
sql.append(" r5.numitem AS numItem, ");
sql.append(" r5.codproduto AS codProduto, ");
sql.append(" fi.modelo AS modeloImpressora, ");
sql.append(" r4.usuario_id AS numCaixa, ");
sql.append(" b.preciopagado AS importetarifa, ");
sql.append(" b.importetaxaembarque AS importetaxaembarque, ");
sql.append(" b.importepedagio AS importepedagio, ");
sql.append(" b.importeseguro AS importeseguro, ");
sql.append(" cs.descclase AS claseServicio, ");
sql.append(" translate(fi.numcnpj, ' / - . ', ' ') AS cnpjEcf, ");
sql.append(" ei.icms AS impostoEstado, ");
sql.append(" 'N' AS status, ");
sql.append(" r4.indcancelamento AS indcancelamento ");
sql.append(" FROM fiscal_r4 r4 ");
sql.append(" LEFT JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 ");
sql.append(" AND r4.coo = r5.coo ");
sql.append(" AND r4.datamov = r5.datamov ");
sql.append(" AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
if (isBoletoHist)
sql.append(" INNER JOIN boleto_hist b ON b.boleto_id = r4.boleto_id ");
else
sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id ");
// sql.append(" INNER JOIN boleto_hist b ON b.boleto_id = r4.boleto_id ");
sql.append(" INNER JOIN marca m ON m.marca_id = b.marca_id ");
sql.append(" INNER JOIN clase_servicio cs ON cs.claseservicio_id = b.claseservicio_id ");
sql.append(" LEFT JOIN alias_servico ase ON ase.origen_id = b.origen_id ");
sql.append(" AND ase.destino_id = b.destino_id ");
sql.append(" AND ase.ruta_id = b.ruta_id ");
sql.append(" AND ase.activo = 1 ");
sql.append(" AND ase.corrida_id IS NULL ");
sql.append(" INNER JOIN parada o ON coalesce(ase.aliasorigen_id, b.origen_id) = o.parada_id ");
sql.append(" INNER JOIN ciudad co ON o.ciudad_id = co.ciudad_id ");
sql.append(" INNER JOIN estado eo ON eo.estado_id = co.estado_id ");
sql.append(" LEFT JOIN empresa_imposto ei ON ei.estado_id = eo.estado_id ");
sql.append(" AND b.marca_id = ei.empresa_id ");
sql.append(" INNER JOIN parada d ON coalesce(ase.aliasdestino_id, b.destino_id) = d.parada_id ");
sql.append(" INNER JOIN ciudad cd ON d.ciudad_id = cd.ciudad_id ");
sql.append(" INNER JOIN estado ed ON ed.estado_id = cd.estado_id ");
sql.append(" WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND m.empresa_id = ? ");
sql.append(isEstadoTodos ? "" : " AND eo.estado_id = ? ");
sql.append(" and (r4.indcancelamento = 'S' ");
sql.append(" AND exists (SELECT r3.numserie20 ");
sql.append(" FROM fiscal_r3 r3 ");
sql.append(" WHERE r3.numserie20 = r4.numserie20 ");
sql.append(" AND r3.datamov = r4.datamov ");
sql.append(" AND r3.totparcial = 'Can-T'))) QY ");
sql.append("ORDER BY QY.dataEmissao, ");
sql.append(" QY.numImpressora, ");
sql.append(" QY.coo, ");
sql.append(" QY.numItem;");
return sql.toString(); return sql.toString();
} }
@ -883,6 +989,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
if (!isEstadoTodos(estadoId)) if (!isEstadoTodos(estadoId))
stmt.setInt(4, estadoId); stmt.setInt(4, estadoId);
stmt.setTimestamp(4, new java.sql.Timestamp(DateUtil.inicioFecha(inicio).getTime()));
stmt.setTimestamp(5, new java.sql.Timestamp(DateUtil.fimFecha(fim).getTime()));
stmt.setInt(6, empresaId);
List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>(); List<ImportacionFiscalVO> list = new ArrayList<ImportacionFiscalVO>();
ImportacionFiscalVO fiscal = null; ImportacionFiscalVO fiscal = null;
String codProduto = null; String codProduto = null;