julio 2016-01-07 13:42:14 +00:00
parent 94cc045a5d
commit aca5cfc8e7
2 changed files with 45 additions and 25 deletions

View File

@ -275,12 +275,16 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> impl
sql.append(" r5.numitem as numItem, "); sql.append(" r5.numitem as numItem, ");
sql.append(" r5.codproduto as codProduto, "); sql.append(" r5.codproduto as codProduto, ");
sql.append(" fi.modelo as modeloImpressora, "); sql.append(" fi.modelo as modeloImpressora, ");
sql.append(" r4.usuario_id as numCaixa "); sql.append(" r4.usuario_id as numCaixa, ");
sql.append(" ml2.valortarifa as valorTarifa, ");
sql.append(" ml2.pedagio as valorPedagio, ");
sql.append(" ml2.taxaembarque as valorEmbarque ");
sql.append(" FROM fiscal_r4 r4 "); 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(" 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(" AND r4.datamov = r5.datamov AND r4.contador = r5.contador ");
sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 "); sql.append(" INNER JOIN fiscal_impressora fi ON fi.numserie20 = r4.numserie20 ");
sql.append(" AND fi.fiscalimpressora_id = r5.fiscalimpressora_id "); sql.append(" AND fi.fiscalimpressora_id = r5.fiscalimpressora_id ");
sql.append(" INNER JOIN fiscal_ml2 ml2 ON ml2.boleto_id = r4.boleto_id ");
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 b ON b.boleto_id = r4.boleto_id AND r4.empresa_id = b.marca_id "); // sql.append(" INNER JOIN boleto b ON b.boleto_id = r4.boleto_id AND r4.empresa_id = b.marca_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 ");
@ -313,7 +317,10 @@ public class FiscalHibernateDAO extends GenericHibernateDAO<String, String> impl
sql.append(" fi.modelo, "); sql.append(" fi.modelo, ");
sql.append(" r4.usuario_id, "); sql.append(" r4.usuario_id, ");
sql.append(" eo.cveestado, "); sql.append(" eo.cveestado, ");
sql.append(" ed.cveestado "); sql.append(" ed.cveestado, ");
sql.append(" ml2.valortarifa, ");
sql.append(" ml2.pedagio, ");
sql.append(" ml2.taxaembarque ");
sql.append(" ORDER BY r4.numserie20, "); sql.append(" ORDER BY r4.numserie20, ");
sql.append(" r4.coo, "); sql.append(" r4.coo, ");
sql.append(" r4.datainicialemissao "); sql.append(" r4.datainicialemissao ");

View File

@ -44,6 +44,7 @@ public class FiscalServiceImpl implements FiscalService {
private static Logger log = Logger.getLogger(FiscalServiceImpl.class); private static Logger log = Logger.getLogger(FiscalServiceImpl.class);
public static final String DATE_FORMAT_FISCAL = "yyyyMMdd"; public static final String DATE_FORMAT_FISCAL = "yyyyMMdd";
public static final BigDecimal CEM = BigDecimal.valueOf(100); public static final BigDecimal CEM = BigDecimal.valueOf(100);
public static final String QUEBRA_LINHA = "\r\n";
@Autowired @Autowired
private FiscalDAO fiscalDAO; private FiscalDAO fiscalDAO;
@ -71,8 +72,7 @@ public class FiscalServiceImpl implements FiscalService {
String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6);
String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial); String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial);
// gravarArq.println(abertura); gravarArq.print(abertura + QUEBRA_LINHA);
gravarArq.print(abertura + "\r\n");
Integer qtdDoc = 0; Integer qtdDoc = 0;
Integer qtdItens = 0; Integer qtdItens = 0;
@ -140,14 +140,12 @@ public class FiscalServiceImpl implements FiscalService {
valorPIS, valorCofins, valorCSLL, totalICMSIsento, totalICMSNaotributado, origenUf, origen, valorPIS, valorCofins, valorCSLL, totalICMSIsento, totalICMSNaotributado, origenUf, origen,
destinoUf, destino, subSerie, destinoUf, destino, subSerie,
aidf, brancos171, sequencial); aidf, brancos171, sequencial);
// gravarArq.println(header); gravarArq.print(header + QUEBRA_LINHA);
gravarArq.print(header + "\r\n");
for (String itemDoc : montarItensFiscaisManual(imf, imf.getSubItens(), seq)) { for (String itemDoc : montarItensFiscaisManual(imf, imf.getSubItens(), seq)) {
qtdItens++; qtdItens++;
// gravarArq.println(itemDoc); gravarArq.print(itemDoc + QUEBRA_LINHA);
gravarArq.print(itemDoc + "\r\n");
seq++; seq++;
} }
} }
@ -160,8 +158,7 @@ public class FiscalServiceImpl implements FiscalService {
sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6);
String fechamento = fechamentoDeArquivo("3", qtdeDocGerados, qtdeItensDocGerados, brancos381, sequencial); String fechamento = fechamentoDeArquivo("3", qtdeDocGerados, qtdeItensDocGerados, brancos381, sequencial);
// gravarArq.println(fechamento); gravarArq.print(fechamento + QUEBRA_LINHA);
gravarArq.print(fechamento + "\r\n");
gravarArq.close(); gravarArq.close();
return arquivo; return arquivo;
@ -299,8 +296,7 @@ public class FiscalServiceImpl implements FiscalService {
String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6);
String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial); String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial);
// gravarArq.println(abertura); gravarArq.print(abertura + QUEBRA_LINHA);
gravarArq.print(abertura + "\r\n");
List<ImportacionFiscalReducaoZVO> list = agruparReducaoZ(fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId())); List<ImportacionFiscalReducaoZVO> list = agruparReducaoZ(fiscalDAO.buscaDatosFiscaisReducaoZ(inicio, fim, empresa.getEmpresaId()));
@ -368,9 +364,7 @@ public class FiscalServiceImpl implements FiscalService {
gtInicial, gtFinal, docFiscalInic, docFiscalFinal, valorCancel, valorContabil, subtributaria, gtInicial, gtFinal, docFiscalInic, docFiscalFinal, valorCancel, valorContabil, subtributaria,
descontos, isento, naoTributado, aliquota, aliquota2, aliquota3, aliquota4, coo, outrosRecebimentos, descontos, isento, naoTributado, aliquota, aliquota2, aliquota3, aliquota4, coo, outrosRecebimentos,
impostoDebitado, dataReducaoZ, horaReducaoZ, valorDocFiscal, brancos82, sequencial); impostoDebitado, dataReducaoZ, horaReducaoZ, valorDocFiscal, brancos82, sequencial);
gravarArq.print(redZ + QUEBRA_LINHA);
// gravarArq.println(redZ);
gravarArq.print(redZ + "\r\n");
} }
Integer qtdeDoc = seq - 1; Integer qtdeDoc = seq - 1;
@ -381,8 +375,7 @@ public class FiscalServiceImpl implements FiscalService {
sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6);
String fechamento = fechamentoDeArquivo("3", qtdeDocGerados, null, brancos387, sequencial); String fechamento = fechamentoDeArquivo("3", qtdeDocGerados, null, brancos387, sequencial);
// gravarArq.println(fechamento); gravarArq.print(fechamento + QUEBRA_LINHA);
gravarArq.print(fechamento + "\r\n");
gravarArq.close(); gravarArq.close();
return arquivo; return arquivo;
@ -428,8 +421,7 @@ public class FiscalServiceImpl implements FiscalService {
String seqAbertura = StringHelper.preencherZeroEsquerda(seq.toString(), 6); String seqAbertura = StringHelper.preencherZeroEsquerda(seq.toString(), 6);
String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, seqAbertura); String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, seqAbertura);
// gravarArq.println(abertura); gravarArq.print(abertura + QUEBRA_LINHA);
gravarArq.print(abertura + "\r\n");
String sql = fiscalDAO.sqlFiscaisECF(inicio, fim, empresa.getEmpresaId()); String sql = fiscalDAO.sqlFiscaisECF(inicio, fim, empresa.getEmpresaId());
@ -476,6 +468,13 @@ public class FiscalServiceImpl implements FiscalService {
item.setModeloImpressora(rset.getString("modeloImpressora")); item.setModeloImpressora(rset.getString("modeloImpressora"));
item.setNumCaixa(rset.getString("numCaixa")); item.setNumCaixa(rset.getString("numCaixa"));
// TODO: Estes atributos foram criados para corrigir o valorItem que esta sendo gravado errado na tabela FISCAL_R5
// estes dados sao extraidos da tabela FISCAL_ML2, que esta registrando corretamento o valor da tarifa paga
// e nao o valor do preco base da tarifa, como esta sendo feita na FISCAL_R5
item.setValorTarifa(rset.getBigDecimal("valorTarifa"));
item.setValorPedagio(rset.getBigDecimal("valorPedagio"));
item.setValorEmbarque(rset.getBigDecimal("valorEmbarque"));
ImportacionFiscalVO novoFiscal = item; ImportacionFiscalVO novoFiscal = item;
if (!novoFiscal.equals(fiscal) && fiscal != null) { if (!novoFiscal.equals(fiscal) && fiscal != null) {
@ -580,8 +579,7 @@ public class FiscalServiceImpl implements FiscalService {
String seqFechamento = StringHelper.preencherZeroEsquerda(seq.toString(), 6); String seqFechamento = StringHelper.preencherZeroEsquerda(seq.toString(), 6);
String fechamento = fechamentoDeArquivo("3", qtdeDocGerados, qtdeItensDocGerados, brancos381, seqFechamento); String fechamento = fechamentoDeArquivo("3", qtdeDocGerados, qtdeItensDocGerados, brancos381, seqFechamento);
// gravarArq.println(fechamento); gravarArq.print(fechamento + QUEBRA_LINHA);
gravarArq.print(fechamento + "\r\n");
gravarArq.close(); gravarArq.close();
return arquivo; return arquivo;
@ -595,12 +593,10 @@ public class FiscalServiceImpl implements FiscalService {
} }
private void grabarHeaderItens(PrintWriter gravarArq, String header, List<String> itensDocs) { private void grabarHeaderItens(PrintWriter gravarArq, String header, List<String> itensDocs) {
// gravarArq.println(header); gravarArq.print(header + QUEBRA_LINHA);
gravarArq.print(header + "\r\n");
for (String doc : itensDocs) { for (String doc : itensDocs) {
// gravarArq.println(doc); gravarArq.print(doc + QUEBRA_LINHA);
gravarArq.print(doc + "\r\n");
} }
} }
@ -631,7 +627,24 @@ public class FiscalServiceImpl implements FiscalService {
String unidade = "UN"; String unidade = "UN";
String quantidade = "001"; String quantidade = "001";
// TODO: A forma de enviar o valor do item é baseada no codProduto, pelo fato da FISCAL_R5
// estar gravando os registros de tarifa errado
BigDecimal valorItem = item.getValorItem() == null ? BigDecimal.ZERO : item.getValorItem(); BigDecimal valorItem = item.getValorItem() == null ? BigDecimal.ZERO : item.getValorItem();
// VALIDA TARIFA
if (codProduto.indexOf("TA") >= 0) {
valorItem = item.getValorTarifa() == null ? valorItem : item.getValorTarifa();
// TAXA DE EMBARQUE
} else if (codProduto.indexOf("TX") >= 0) {
valorItem = item.getValorEmbarque() == null ? valorItem : item.getValorEmbarque();
// PEDAGIO
} else if (codProduto.indexOf("PE") >= 0) {
valorItem = item.getValorPedagio() == null ? valorItem : item.getValorPedagio();
}
String valorUnitario = StringHelper.preencherZeroEsquerda(valorItem.toString(), 15); String valorUnitario = StringHelper.preencherZeroEsquerda(valorItem.toString(), 15);
String valorTotal = StringHelper.preencherZeroEsquerda(valorItem.toString(), 15); String valorTotal = StringHelper.preencherZeroEsquerda(valorItem.toString(), 15);