diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index dacc4a49e..43c317ff3 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -250,7 +250,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl 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(" r5.codproduto as codProduto, "); + sql.append(" fi.fiscalimpressora_id as numpdv "); sql.append("FROM fiscal_r4 r4 "); sql.append(" INNER JOIN fiscal_r5 r5 ON r4.numserie20 = r5.numserie20 "); sql.append(" AND r4.coo = r5.coo "); @@ -274,7 +275,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" r5.imptotalliquido, "); sql.append(" r5.tipopassagem, "); sql.append(" r5.numitem, "); - sql.append(" r5.codproduto "); + sql.append(" r5.codproduto, "); + sql.append(" fi.fiscalimpressora_id "); sql.append("ORDER BY r4.numserie20, "); sql.append(" r4.coo, "); sql.append(" r4.datainicialemissao "); @@ -294,7 +296,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl .addScalar("valorItem", BigDecimalType.INSTANCE) .addScalar("tipoPassagem", StringType.INSTANCE) .addScalar("numItem", StringType.INSTANCE) - .addScalar("codProduto", StringType.INSTANCE); + .addScalar("codProduto", StringType.INSTANCE) + .addScalar("numpdv", StringType.INSTANCE); query.setResultTransformer(new AliasToBeanResultTransformer(ItemFiscalVO.class)); query.setInteger("empresaId", empresaId); diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index d12c52c0b..2c3023c24 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -92,7 +92,7 @@ public class FiscalServiceImpl implements FiscalService { BigDecimal valorICMS = imf.getIcms() == null ? BigDecimal.ZERO : UtileriasFiscal.arredondar(imf.getIcms()); String baseCalICMS = UtileriasFiscal.formataZeroDecimal(valorICMS, 14); - BigDecimal aliquotaCalc =imf.getIcms() == null ? BigDecimal.ZERO : UtileriasFiscal.arredondar(imf.getIcms().divide(CEM)); + BigDecimal aliquotaCalc = imf.getIcms() == null ? BigDecimal.ZERO : UtileriasFiscal.arredondar(imf.getIcms().divide(CEM)); BigDecimal baseCalculo = UtileriasFiscal.arredondar(imf.getValorTotal()); BigDecimal valorImposto = UtileriasFiscal.arredondar(baseCalculo.multiply(aliquotaCalc.divide(CEM))); String valorTotalICMS = UtileriasFiscal.formataZeroDecimal(valorImposto, 14); @@ -190,15 +190,18 @@ public class FiscalServiceImpl implements FiscalService { String aliquotaISS = StringHelper.preencherZeroEsquerda(null, 7); String valorISS = StringHelper.preencherZeroEsquerda(null, 15); + String numeroPDV = StringHelper.preencherStringEspacoDireita(null, 10); + String numeroSeriePDV = StringHelper.preencherStringEspacoDireita(null, 20); + seq++; String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); - String brancos192 = StringHelper.preencherStringEspacoDireita(null, 192); + String brancos162 = StringHelper.preencherStringEspacoDireita(null, 162); String itemDoc = itensDocumentoFiscal("2", numItem, cfop, codigoTES, codProduto, unidade, quantidade, valorUnitario, valorTotal, aliquotaItem, impostoItem, aliquotaPIS, valorPIS, aliquotaCofins, valorCofins, aliquotaCSLL, valorCSLL, aliquotaISS, valorISS, totalICMSIsentoItem, totalICMSNaotributadoItem, - brancos192, sequencial); + numeroPDV, numeroSeriePDV, brancos162, sequencial); itensDocs.add(itemDoc); } @@ -383,8 +386,7 @@ public class FiscalServiceImpl implements FiscalService { String abertura = aberturaDeArquivo("0", dataAgora, cnpjFilial, brancos371, sequencial); gravarArq.println(abertura); - List itens = fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId()); - List list = agruparItensFiscais(itens); + List list = agruparItensFiscais(fiscalDAO.buscaDatosFiscaisECF(inicio, fim, empresa.getEmpresaId())); Integer qtdDoc = 0; Integer qtdItens = 0; @@ -538,15 +540,18 @@ public class FiscalServiceImpl implements FiscalService { String aliquotaISS = StringHelper.preencherZeroEsquerda(null, 7); String valorISS = StringHelper.preencherZeroEsquerda(null, 15); + String numeroPDV = StringHelper.preencherStringEspacoDireita(item.getNumpdv(), 10); + String numeroSeriePDV = StringHelper.preencherStringEspacoDireita(item.getNumImpressora(), 20); + seq++; String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); - String brancos192 = StringHelper.preencherStringEspacoEsquerda(null, 192); + String brancos162 = StringHelper.preencherStringEspacoEsquerda(null, 162); String itemDoc = itensDocumentoFiscal("2", numItem, cfop, codigoTES, codProduto, unidade, quantidade, valorUnitario, valorTotal, aliquotaItem, impostoItem, aliquotaPIS, valorPIS, aliquotaCofins, valorCofins, aliquotaCSLL, valorCSLL, aliquotaISS, valorISS, totalICMSIsentoItem, totalICMSNaotributadoItem, - brancos192, sequencial); + numeroPDV, numeroSeriePDV, brancos162, sequencial); itensDocs.add(itemDoc); } @@ -706,7 +711,8 @@ public class FiscalServiceImpl implements FiscalService { return reducaoZ.toString(); } - private String aberturaDeArquivo(String identificador, String data, String cnpjFilial, String brancos372, String sequencial) { + private String aberturaDeArquivo(String identificador, String data, String cnpjFilial, String brancos372, + String sequencial) { StringBuilder abertura = new StringBuilder(); abertura.append(identificador); @@ -718,10 +724,11 @@ public class FiscalServiceImpl implements FiscalService { return abertura.toString(); } - private String headerDocumentoFiscal(String identificador, String data, String cnpjImpressora, String coo, String serie, - String especie, String codigoCliente, String filialCliente, String condicaoPagamento, String valorTotalDocumanto, - String valorItens, String aliquota, String imposto, String valorPIS, String valorCofins, String valorCSLL, - String totalICMSIsento, String totalICMSNaotributado, String origen, String subSerie, String aidf, String brancos, String sequencial) { + private String headerDocumentoFiscal(String identificador, String data, String cnpjImpressora, String coo, + String serie, String especie, String codigoCliente, String filialCliente, String condicaoPagamento, + String valorTotalDocumanto, String valorItens, String aliquota, String imposto, String valorPIS, + String valorCofins, String valorCSLL, String totalICMSIsento, String totalICMSNaotributado, String origen, + String subSerie, String aidf, String brancos, String sequencial) { StringBuilder header = new StringBuilder(); header.append(identificador); @@ -751,11 +758,12 @@ public class FiscalServiceImpl implements FiscalService { return header.toString(); } - private String itensDocumentoFiscal(String identificador, String numItem, String cfop, String codigoTES, String codProduto, - String unidade, String quantidade, String valorUnitario, String valorTotal, String aliquotaItem, String impostoItem, - String valorPIS, String aliquotaPIS, String aliquotaCofins, String valorCofins, String aliquotaCSLL, String valorCSLL, - String aliquotaISS, String valorISS, String totalICMSIsentoItem, String totalICMSNaotributadoItem, - String brancos193, String sequencial) { + private String itensDocumentoFiscal(String identificador, String numItem, String cfop, String codigoTES, + String codProduto, String unidade, String quantidade, String valorUnitario, String valorTotal, + String aliquotaItem, String impostoItem, String valorPIS, String aliquotaPIS, String aliquotaCofins, + String valorCofins, String aliquotaCSLL, String valorCSLL, String aliquotaISS, String valorISS, + String totalICMSIsentoItem, String totalICMSNaotributadoItem, String numeroPDV, String numeroSeriePDV, + String brancos, String sequencial) { StringBuilder item = new StringBuilder(); item.append(identificador); @@ -779,7 +787,9 @@ public class FiscalServiceImpl implements FiscalService { item.append(valorISS); item.append(totalICMSIsentoItem); item.append(totalICMSNaotributadoItem); - item.append(brancos193); + item.append(numeroPDV == null ? "" : numeroPDV); + item.append(numeroSeriePDV == null ? "" : numeroSeriePDV); + item.append(brancos); item.append(sequencial); return item.toString(); diff --git a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java index fa7a2f672..12e6036e5 100644 --- a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java @@ -15,6 +15,7 @@ public class ImportacionFiscalVO { private String cnpjImpressora; private BigDecimal valorTotal; private Integer origenId; + private String numpdv; private List itensFiscais; @@ -143,4 +144,12 @@ public class ImportacionFiscalVO { return true; } + public String getNumpdv() { + return numpdv; + } + + public void setNumpdv(String numpdv) { + this.numpdv = numpdv; + } + }