julio 2016-06-02 20:37:35 +00:00
parent 974260f132
commit d1e2980e32
5 changed files with 123 additions and 18 deletions

View File

@ -15,7 +15,7 @@ public interface FiscalDAO {
public int gerarRegistroP2_F2(List<EsquemaCorrida> lsEsquemaCorrida, Date dataDe, Date dataAte);
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados, Connection connection) throws SQLException;
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException;
public List<ImportacionFiscalReducaoZVO> buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException;

View File

@ -468,18 +468,55 @@ public class FiscalHibernateDAO implements FiscalDAO {
return sql.toString();
}
public String sqlFiscaisECFPendencias(Date inicio, Date fim, Integer empresaId, Connection connection) throws SQLException {
StringBuilder sql = new StringBuilder();
sql.append(" SELECT r4.numserie20 as numImpressora, ");
sql.append(" r4.coo as coo, ");
sql.append(" r4.imptotalliquido as valorTotal, ");
sql.append(" r4.datainicialemissao as dataEmissao, ");
sql.append(" r4.cpfcnpjcliente as cnpjCliente, ");
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(" r5.impdesconto ");
sql.append(" FROM fiscal_r4 r4 ");
sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 AND r4.coo = r5.coo ");
sql.append(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
sql.append(" LEFT JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
sql.append(" WHERE r4.datamov BETWEEN ? AND ? ");
sql.append(" AND b.marca_id = ? ");
sql.append(" AND r5.impdesconto <> 0 ");
sql.append(" GROUP BY r4.numserie20, r4.coo, r4.datainicialemissao, r4.cpfcnpjcliente, ");
sql.append(" r4.imptotalliquido, fi.numcnpj, fi.numserie, r5.impdesconto, ");
sql.append(" r5.totparcial, r5.imptotalliquido, r5.tipopassagem, ");
sql.append(" r5.numitem, r5.codproduto, fi.modelo, r4.usuario_id ");
sql.append(" ORDER BY r4.datainicialemissao, r4.numserie20, r4.coo, r5.numitem ");
return sql.toString();
}
@Override
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados, Connection connection) throws SQLException {
PreparedStatement stmt = null;
ResultSet rset = null;
public List<ImportacionFiscalVO> buscaDatosFiscaisECF(Date inicio, Date fim, Integer empresaId, boolean isCancelados, boolean isPendencias, Connection connection) throws SQLException {
String sql = isCancelados ? sqlFiscaisECFCancelados() : sqlFiscaisECF();
stmt = connection.prepareStatement(sql);
String sql = sqlFiscaisECF();
if (isCancelados) {
sql = sqlFiscaisECFCancelados();
} else if (isPendencias) {
sql = sqlFiscaisECFPendencias(inicio, fim, empresaId, connection);
}
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setFetchSize(100);
stmt.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
if (empresaId != null) {
if (!isPendencias) {
stmt.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL));
stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL));
stmt.setInt(3, empresaId);
}
@ -487,7 +524,7 @@ public class FiscalHibernateDAO implements FiscalDAO {
ImportacionFiscalVO fiscal = null;
String codProduto = null;
rset = stmt.executeQuery();
ResultSet rset = stmt.executeQuery();
while (rset.next()) {
ItemFiscalVO item = new ItemFiscalVO();
@ -525,8 +562,6 @@ public class FiscalHibernateDAO implements FiscalDAO {
item.setValorEmbarque(rset.getBigDecimal("importetaxaembarque"));
item.setValorSeguro(rset.getBigDecimal("importeseguro"));
ImportacionFiscalVO novoFiscal = item;
codProduto = item.getCodProduto();

View File

@ -20,7 +20,7 @@ public interface FiscalService {
public File importacionNaoFiscal(Date inicio, Date fim, Empresa empresa);
public File importacionFiscalECFCancelados(Date inicio, Date fim, Empresa empresa);
public File importacionFiscalECFXls(Empresa empresa, File arquivoTxt);
public File importacionFiscalReducaoZXls(Empresa empresa, File arquivoTxt);
@ -31,4 +31,5 @@ public interface FiscalService {
public File importacionFiscalECFCanceladosXls(Empresa empresa, File arquivoTxt);
public File importacionFiscalECFPendencias(Date inicio, Date fim, Empresa empresa);
}

View File

@ -493,21 +493,32 @@ public class FiscalServiceImpl implements FiscalService {
return aux;
}
@Override
public File importacionFiscalECFPendencias(Date inicio, Date fim, Empresa empresa) {
return importacionFiscalECFGenerico(inicio, fim, empresa, false, true);
}
@Override
public File importacionFiscalECFCancelados(Date inicio, Date fim, Empresa empresa) {
return importacionFiscalECFGenerico(inicio, fim, empresa, true);
return importacionFiscalECFGenerico(inicio, fim, empresa, true, false);
}
@Override
public File importacionFiscalECF(Date inicio, Date fim, Empresa empresa) {
return importacionFiscalECFGenerico(inicio, fim, empresa, false);
return importacionFiscalECFGenerico(inicio, fim, empresa, false, false);
}
private File importacionFiscalECFGenerico(Date inicio, Date fim, Empresa empresa, boolean isCancelados) {
private File importacionFiscalECFGenerico(Date inicio, Date fim, Empresa empresa, boolean isCancelados, boolean isPendencias) {
Connection connection = null;
try {
String nomeArquivo = "fiscal_ecf_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss");
if (isCancelados) {
nomeArquivo = "fiscal_ecf_cancel_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss");
} else if (isPendencias) {
nomeArquivo = "fiscal_ecf_pendencias_" + DateUtil.getStringDate(Calendar.getInstance().getTime(), "yyyyMMddhhmmss");
}
File arquivo = File.createTempFile(nomeArquivo, ".txt");
PrintWriter gravarArq = new PrintWriter(new OutputStreamWriter(new FileOutputStream(arquivo), Constantes.UTF_8));
@ -530,7 +541,7 @@ public class FiscalServiceImpl implements FiscalService {
connection = DataSourceUtils.getConnection(dataSourceRead);
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), isCancelados, connection);
List<ImportacionFiscalVO> list = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId(), isCancelados, isPendencias, connection);
for (ImportacionFiscalVO item : list) {

View File

@ -0,0 +1,58 @@
package com.rjconsultores.ventaboletos.vo.impressaofiscal;
public class StatusPendencia {
private Long fiscalr4Id;
private String status;
public StatusPendencia() {
}
public StatusPendencia(Long fiscalr4Id, String status) {
super();
this.fiscalr4Id = fiscalr4Id;
this.status = status;
}
public Long getFiscalr4Id() {
return fiscalr4Id;
}
public void setFiscalr4Id(Long fiscalr4Id) {
this.fiscalr4Id = fiscalr4Id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((fiscalr4Id == null) ? 0 : fiscalr4Id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
StatusPendencia other = (StatusPendencia) obj;
if (fiscalr4Id == null) {
if (other.fiscalr4Id != null)
return false;
} else if (!fiscalr4Id.equals(other.fiscalr4Id))
return false;
return true;
}
}