From 6fc4256c48fb89ecc087d3df48c0dd3d1d97946c Mon Sep 17 00:00:00 2001 From: julio Date: Thu, 28 Jan 2016 14:52:16 +0000 Subject: [PATCH] fixes bug #7066 git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@52354 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../ventaboletos/dao/FiscalDAO.java | 4 +- .../dao/hibernate/FiscalHibernateDAO.java | 204 ++++++++++-------- .../ventaboletos/service/FiscalService.java | 3 +- .../service/impl/FiscalServiceImpl.java | 45 ++-- .../impressaofiscal/ImportacionFiscalVO.java | 9 + .../ImportacionManualFiscalVO.java | 9 + 6 files changed, 167 insertions(+), 107 deletions(-) diff --git a/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java b/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java index 0e6818261..8bdf462c9 100644 --- a/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/FiscalDAO.java @@ -15,9 +15,9 @@ public interface FiscalDAO { public String sqlFiscaisECF(Date inicio, Date fim, Integer empresaId); - public List buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId); + public List buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId) throws SQLException; - public List buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId); + public List buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId) throws SQLException; public List buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId) throws SQLException; diff --git a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java index 9d301b536..365cd4231 100644 --- a/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java +++ b/src/com/rjconsultores/ventaboletos/dao/hibernate/FiscalHibernateDAO.java @@ -12,11 +12,6 @@ import javax.sql.DataSource; import org.hibernate.Query; import org.hibernate.SessionFactory; -import org.hibernate.transform.AliasToBeanResultTransformer; -import org.hibernate.type.BigDecimalType; -import org.hibernate.type.IntegerType; -import org.hibernate.type.LongType; -import org.hibernate.type.StringType; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Repository; @@ -33,7 +28,7 @@ import com.rjconsultores.ventaboletos.vo.impressaofiscal.SituacaoTributaria; public class FiscalHibernateDAO extends GenericHibernateDAO implements FiscalDAO { public static final String DATE_FORMAT_FISCAL = "yyyyMMdd"; - + @Autowired private DataSource dataSourceRead; @@ -43,7 +38,7 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl } @Override - public List buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId) { + public List buscaDatosFiscaisECFManual(Date inicio, Date fim, Integer empresaId) throws SQLException { StringBuilder sql = new StringBuilder(); sql.append("select r4.numserie20 as numImpressora, "); @@ -79,7 +74,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" case b.importeoutros when 0 then null else b.importeoutros "); sql.append(" end as importeoutros, "); sql.append(" case b.importeseguro when 0 then null else b.importeseguro "); - sql.append(" end as importeseguro "); + sql.append(" end as importeseguro, "); + sql.append(" case when b.motivocancelacion_id is null then 'N' else 'C' end status "); sql.append("from boleto b "); sql.append(" left join fiscal_r4 r4 on b.boleto_id = r4.boleto_id "); sql.append(" left outer join fiscal_r5 r5 on r4.numserie20 = r5.numserie20 "); @@ -100,8 +96,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" left join aidf a on a.serie = b.numseriepreimpresa "); sql.append(" and eo.estado_id = a.estado_id "); sql.append(" and a.empresa_id = e.empresa_id "); - sql.append("WHERE b.marca_id = :empresaId "); - sql.append(" AND b.fechorventa BETWEEN :datIni AND :datFim "); + sql.append("WHERE b.fechorventa BETWEEN ? AND ? "); + sql.append(" AND b.marca_id = ? "); sql.append(" AND b.tipoventa_id = 3"); sql.append("GROUP BY r4.numserie20, "); sql.append(" COALESCE(r4.coo, b.numfoliopreimpreso), "); @@ -132,50 +128,64 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" fi.modelo, "); sql.append(" r4.usuario_id, "); sql.append(" eo.cveestado, "); - sql.append(" ed.cveestado "); + sql.append(" ed.cveestado, "); + sql.append(" b.motivocancelacion_id "); - Query query = getSession().createSQLQuery(sql.toString()) - .addScalar("numImpressora", StringType.INSTANCE) - .addScalar("coo", StringType.INSTANCE) - .addScalar("boletoId", LongType.INSTANCE) - .addScalar("origenId", IntegerType.INSTANCE) - .addScalar("empresaId", IntegerType.INSTANCE) - .addScalar("dataEmissao", StringType.INSTANCE) - .addScalar("valorTotal", BigDecimalType.INSTANCE) - .addScalar("origenId", IntegerType.INSTANCE) - .addScalar("destinoId", IntegerType.INSTANCE) - .addScalar("repTributado", StringType.INSTANCE) - .addScalar("valorItem", BigDecimalType.INSTANCE) - .addScalar("tipoPassagem", StringType.INSTANCE) - .addScalar("numItem", StringType.INSTANCE) - .addScalar("codProduto", StringType.INSTANCE) - .addScalar("serie", StringType.INSTANCE) - .addScalar("icms", BigDecimalType.INSTANCE) - .addScalar("porctributo", BigDecimalType.INSTANCE) - .addScalar("estadoIdOrigen", IntegerType.INSTANCE) - .addScalar("estadoIdDestino", IntegerType.INSTANCE) - .addScalar("importetaxaembarque", BigDecimalType.INSTANCE) - .addScalar("importepedagio", BigDecimalType.INSTANCE) - .addScalar("importeoutros", BigDecimalType.INSTANCE) - .addScalar("importeseguro", BigDecimalType.INSTANCE) - .addScalar("subSerie", StringType.INSTANCE) - .addScalar("aidf", StringType.INSTANCE) - .addScalar("numpdv", StringType.INSTANCE) - .addScalar("modeloImpressora", StringType.INSTANCE) - .addScalar("numCaixa", StringType.INSTANCE) - .addScalar("origenUf", StringType.INSTANCE) - .addScalar("destinoUf", StringType.INSTANCE); + List listManuais = new ArrayList(); - query.setResultTransformer(new AliasToBeanResultTransformer(ImportacionManualFiscalVO.class)); - query.setInteger("empresaId", empresaId); - query.setTimestamp("datIni", inicio); - query.setTimestamp("datFim", fim); + PreparedStatement stmt = getConexao().prepareStatement(sql.toString()); + stmt.setFetchSize(100); + stmt.setDate(1, new java.sql.Date(inicio.getTime())); + stmt.setDate(2, new java.sql.Date(fim.getTime())); - return query.list(); + if (empresaId != null) { + stmt.setInt(3, empresaId); + } + + ResultSet rset = stmt.executeQuery(); + while (rset.next()) { + + ImportacionManualFiscalVO item = new ImportacionManualFiscalVO(); + + item.setNumImpressora(rset.getString("numImpressora")); + item.setCoo(rset.getString("coo")); + item.setBoletoId(rset.getLong("boletoId")); + item.setEmpresaId(rset.getInt("empresaId")); + item.setDataEmissao(rset.getString("dataEmissao")); + item.setValorTotal(rset.getBigDecimal("valorTotal")); + item.setNumItem(rset.getString("numItem")); + item.setCodProduto(rset.getString("codProduto")); + item.setNumpdv(rset.getString("numpdv")); + item.setRepTributado(rset.getString("repTributado")); + item.setTipoPassagem(rset.getString("tipoPassagem")); + item.setValorItem(rset.getBigDecimal("valorItem")); + item.setOrigenId(rset.getInt("origenId")); + item.setOrigenUf(rset.getString("origenUf")); + item.setDestinoId(rset.getInt("destinoId")); + item.setDestinoUf(rset.getString("destinoUf")); + item.setModeloImpressora(rset.getString("modeloImpressora")); + item.setNumCaixa(rset.getString("numCaixa")); + item.setStatus(rset.getString("status")); + item.setSerie(rset.getString("serie")); + item.setIcms(rset.getBigDecimal("icms")); + item.setPorctributo(rset.getBigDecimal("porctributo")); + item.setEstadoIdOrigen(rset.getInt("estadoIdOrigen")); + item.setEstadoIdDestino(rset.getInt("estadoIdDestino")); + item.setImportetaxaembarque(rset.getBigDecimal("importetaxaembarque")); + item.setImportepedagio(rset.getBigDecimal("importepedagio")); + item.setImporteoutros(rset.getBigDecimal("importeoutros")); + item.setImporteseguro(rset.getBigDecimal("importeseguro")); + item.setSubSerie(rset.getString("subSerie")); + item.setAidf(rset.getString("aidf")); + + listManuais.add(item); + } + + return listManuais; } @Override - public List buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId) { + public List buscaDatosFiscaisReducaoZ(Date inicio, Date fim, Integer empresaId) throws SQLException { StringBuilder sql = new StringBuilder(); sql.append("SELECT r2.datamov AS datamov, "); @@ -207,8 +217,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" ON TRANSLATE(t2.cnpj, ' / - . ', ' ') = e.cnpj, "); sql.append(" (SELECT numserie20, crz, totgeral "); sql.append(" FROM fiscal_r2) anterior "); - sql.append("WHERE r2.datamov BETWEEN :datIni AND :datFim "); - sql.append(" AND e.empresa_id = :empresaId "); + sql.append("WHERE r2.datamov BETWEEN ? AND ? "); + sql.append(" AND e.empresa_id = ? "); sql.append(" AND r3.totparcial not in ("); sql.append("'" + SituacaoTributaria.CANCELADO.getValue() + "'").append(", "); sql.append("'" + SituacaoTributaria.DESCRITIVO.getValue() + "'").append(", "); @@ -237,30 +247,42 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" r2.numreducoes, "); sql.append(" r3.totparcial"); - Query query = getSession().createSQLQuery(sql.toString()) - .addScalar("datamov", StringType.INSTANCE) - .addScalar("numreducoes", StringType.INSTANCE) - .addScalar("crz", StringType.INSTANCE) - .addScalar("numserie20", StringType.INSTANCE) - .addScalar("coo", StringType.INSTANCE) - .addScalar("cooinicial", StringType.INSTANCE) - .addScalar("coofinal", StringType.INSTANCE) - .addScalar("vendabrutadiaria", BigDecimalType.INSTANCE) - .addScalar("datareducao", StringType.INSTANCE) - .addScalar("horareducao", StringType.INSTANCE) - .addScalar("aliquota", StringType.INSTANCE) - .addScalar("imposto", BigDecimalType.INSTANCE) - .addScalar("numpdv", StringType.INSTANCE) - .addScalar("cnpj", StringType.INSTANCE) - .addScalar("gtFinal", BigDecimalType.INSTANCE) - .addScalar("gtInicial", BigDecimalType.INSTANCE); + List listRedZ = new ArrayList(); - query.setResultTransformer(new AliasToBeanResultTransformer(ImportacionFiscalReducaoZVO.class)); - query.setInteger("empresaId", empresaId); - query.setString("datIni", DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL)); - query.setString("datFim", DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); + PreparedStatement stmt = getConexao().prepareStatement(sql.toString()); + stmt.setFetchSize(100); + stmt.setString(1, DateUtil.getStringDate(inicio, DATE_FORMAT_FISCAL)); + stmt.setString(2, DateUtil.getStringDate(fim, DATE_FORMAT_FISCAL)); - return query.list(); + if (empresaId != null) { + stmt.setInt(3, empresaId); + } + + ResultSet rset = stmt.executeQuery(); + while (rset.next()) { + + ImportacionFiscalReducaoZVO item = new ImportacionFiscalReducaoZVO(); + item.setDatamov(rset.getString("datamov")); + item.setNumreducoes(rset.getString("numreducoes")); + item.setCrz(rset.getString("crz")); + item.setNumserie20(rset.getString("numserie20")); + item.setCoo(rset.getString("coo")); + item.setCooinicial(rset.getString("cooinicial")); + item.setCoofinal(rset.getString("coofinal")); + item.setVendabrutadiaria(rset.getBigDecimal("vendabrutadiaria")); + item.setDatareducao(rset.getString("datareducao")); + item.setHorareducao(rset.getString("horareducao")); + item.setAliquota(rset.getString("aliquota")); + item.setImposto(rset.getBigDecimal("imposto")); + item.setNumpdv(rset.getString("numpdv")); + item.setCnpj(rset.getString("cnpj")); + item.setGtFinal(rset.getBigDecimal("gtFinal")); + item.setGtInicial(rset.getBigDecimal("gtInicial")); + + listRedZ.add(item); + } + + return listRedZ; } @Override @@ -289,7 +311,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl 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(" ml2.taxaembarque as valorEmbarque, "); + sql.append(" CASE WHEN b.motivocancelacion_id is null THEN 'N' ELSE 'C' END status "); 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 "); @@ -331,7 +354,8 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl sql.append(" ed.cveestado, "); sql.append(" ml2.valortarifa, "); sql.append(" ml2.pedagio, "); - sql.append(" ml2.taxaembarque "); + sql.append(" ml2.taxaembarque, "); + sql.append(" b.motivocancelacion_id "); sql.append(" ORDER BY r4.numserie20, "); sql.append(" r4.coo, "); sql.append(" r4.datainicialemissao "); @@ -448,18 +472,19 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl @Override public List buscaDatosNaoFiscais(Date inicio, Date fim, Integer empresaId) throws SQLException { - + StringBuilder sQuery = new StringBuilder(); - sQuery.append("SELECT TEE.TIPOEVENTOEXTRA_ID AS TIPOEVENTOEXTRAID, TEE.DESCTIPOEVENTO AS DESCTIPOEVENTO, TRUNC(CD.FECHORVTA) AS FECHORVTA, SUM(CD.PRECIO) AS TOTAL ") - .append("FROM TIPO_EVENTO_EXTRA TEE ") - .append("LEFT JOIN EVENTO_EXTRA EE ON TEE.TIPOEVENTOEXTRA_ID = EE.TIPOEVENTOEXTRA_ID ") - .append("LEFT JOIN CAJA_DIVERSOS CD ON EE.EVENTOEXTRA_ID = CD.EVENTOEXTRA_ID ") - .append("WHERE TEE.ACTIVO = 1 ") - .append("AND EE.EMPRESA_ID = ? ") - .append("AND TRUNC(CD.FECHORVTA) BETWEEN ? AND ? ") - .append("GROUP BY TEE.TIPOEVENTOEXTRA_ID, TEE.DESCTIPOEVENTO, TRUNC(CD.FECHORVTA) ") - .append("ORDER BY TRUNC(CD.FECHORVTA), TEE.DESCTIPOEVENTO "); - + sQuery.append("SELECT TEE.TIPOEVENTOEXTRA_ID AS TIPOEVENTOEXTRAID, TEE.DESCTIPOEVENTO AS DESCTIPOEVENTO, ") + .append(" TRUNC(CD.FECHORVTA) AS FECHORVTA, SUM(CD.PRECIO) AS TOTAL ") + .append("FROM TIPO_EVENTO_EXTRA TEE ") + .append("LEFT JOIN EVENTO_EXTRA EE ON TEE.TIPOEVENTOEXTRA_ID = EE.TIPOEVENTOEXTRA_ID ") + .append("LEFT JOIN CAJA_DIVERSOS CD ON EE.EVENTOEXTRA_ID = CD.EVENTOEXTRA_ID ") + .append("WHERE TEE.ACTIVO = 1 ") + .append("AND EE.EMPRESA_ID = ? ") + .append("AND TRUNC(CD.FECHORVTA) BETWEEN ? AND ? ") + .append("GROUP BY TEE.TIPOEVENTOEXTRA_ID, TEE.DESCTIPOEVENTO, TRUNC(CD.FECHORVTA) ") + .append("ORDER BY TRUNC(CD.FECHORVTA), TEE.DESCTIPOEVENTO "); + PreparedStatement stmt = getConexao().prepareStatement(sQuery.toString()); stmt.setInt(1, empresaId); stmt.setDate(2, new java.sql.Date(inicio.getTime())); @@ -473,16 +498,15 @@ public class FiscalHibernateDAO extends GenericHibernateDAO impl importacionNaoFiscal.setDesctipoevento(rset.getString("DESCTIPOEVENTO")); importacionNaoFiscal.setFechorvta(rset.getDate("FECHORVTA")); importacionNaoFiscal.setTotal(rset.getBigDecimal("TOTAL")); - + importacionNaoFiscalVOs.add(importacionNaoFiscal); } - - + return importacionNaoFiscalVOs; } - + public Connection getConexao() throws SQLException { return dataSourceRead.getConnection(); } - + } diff --git a/src/com/rjconsultores/ventaboletos/service/FiscalService.java b/src/com/rjconsultores/ventaboletos/service/FiscalService.java index fd749ca7d..616398af0 100644 --- a/src/com/rjconsultores/ventaboletos/service/FiscalService.java +++ b/src/com/rjconsultores/ventaboletos/service/FiscalService.java @@ -7,7 +7,6 @@ import java.util.List; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.EsquemaCorrida; -import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionNaoFiscalVO; public interface FiscalService { @@ -18,7 +17,7 @@ public interface FiscalService { public File importacionFiscalReducaoZ(Date inicio, Date fim, Empresa empresa); public File importacionFiscalECFManual(Date inicio, Date fim, Empresa empresa); - + public File importacionNaoFiscal(Date inicio, Date fim, Empresa empresa); } diff --git a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java index a365fefa4..00859d3f9 100644 --- a/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java +++ b/src/com/rjconsultores/ventaboletos/service/impl/FiscalServiceImpl.java @@ -132,7 +132,8 @@ public class FiscalServiceImpl implements FiscalService { String subSerie = StringHelper.preencherStringEspacoEsquerda(imf.getSubSerie(), 2); String aidf = StringHelper.preencherStringEspacoEsquerda(imf.getAidf(), 30); - String brancos171 = StringHelper.preencherStringEspacoEsquerda(null, 171); + String status = StringHelper.preencherStringEspacoEsquerda(imf.getStatus(), 1); + String brancos170 = StringHelper.preencherStringEspacoEsquerda(null, 170); seq++; sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); @@ -141,7 +142,7 @@ public class FiscalServiceImpl implements FiscalService { filialCliente, condicaoPagamento, valorTotalDocumanto, valorItens, baseCalICMS, valorTotalICMS, valorPIS, valorCofins, valorCSLL, totalICMSIsento, totalICMSNaotributado, origenUf, origen, destinoUf, destino, subSerie, - aidf, brancos171, sequencial); + aidf, status, brancos170, sequencial); gravarArq.print(header + QUEBRA_LINHA); for (String itemDoc : montarItensFiscaisManual(imf, imf.getSubItens(), seq)) { @@ -167,6 +168,8 @@ public class FiscalServiceImpl implements FiscalService { } catch (IOException e) { log.error("", e); + } catch (SQLException e) { + log.error("", e); } return null; @@ -232,16 +235,18 @@ public class FiscalServiceImpl implements FiscalService { String numeroSeriePDV = StringHelper.preencherStringEspacoDireita(imf.getNumImpressora(), 20); String modeloImpressora = StringHelper.preencherStringEspacoDireita(imf.getModeloImpressora(), 40); String numCaixa = StringHelper.preencherStringEspacoDireita(imf.getNumCaixa(), 10); + String status = StringHelper.preencherStringEspacoEsquerda(imf.getStatus(), 1); seq++; String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); - String brancos112 = StringHelper.preencherStringEspacoDireita(null, 112); + String brancos111 = StringHelper.preencherStringEspacoDireita(null, 111); String itemDoc = itensDocumentoFiscal("2", numItem, cfop, codigoTES, codProduto, unidade, quantidade, valorUnitario, valorTotal, aliquotaItem, impostoItem, aliquotaPIS, valorPIS, aliquotaCofins, valorCofins, aliquotaCSLL, valorCSLL, aliquotaISS, valorISS, totalICMSIsentoItem, totalICMSNaotributadoItem, - numeroPDV, numeroSeriePDV, modeloImpressora, numCaixa, brancos112, sequencial); + numeroPDV, numeroSeriePDV, modeloImpressora, numCaixa, status, + brancos111, sequencial); itensDocs.add(itemDoc); } @@ -384,6 +389,8 @@ public class FiscalServiceImpl implements FiscalService { } catch (IOException e) { log.error("", e); + } catch (SQLException e) { + log.error("", e); } return null; @@ -469,6 +476,7 @@ public class FiscalServiceImpl implements FiscalService { item.setValorItem(rset.getBigDecimal("valorItem")); item.setModeloImpressora(rset.getString("modeloImpressora")); item.setNumCaixa(rset.getString("numCaixa")); + item.setStatus(rset.getString("status")); // 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 @@ -503,9 +511,16 @@ public class FiscalServiceImpl implements FiscalService { fiscal.getItensFiscais().add(item); String data = fiscal.getDataEmissao(); - String brancos203 = StringHelper.preencherStringEspacoEsquerda(null, 203); + String brancos202 = StringHelper.preencherStringEspacoEsquerda(null, 202); + + String serie = item.getNumImpressora(); + if (serie.length() >= 20) { + serie = serie.substring(17); + serie = StringHelper.preencherStringEspacoEsquerda(serie, 3); + } else { + serie = StringHelper.preencherStringEspacoEsquerda(null, 3); + } - String serie = StringHelper.preencherStringEspacoEsquerda(null, 3); String especie = StringHelper.preencherStringEspacoDireita("CF", 5); String codigoCliente = StringHelper.preencherStringEsquerda(null, 6, "9"); @@ -546,6 +561,8 @@ public class FiscalServiceImpl implements FiscalService { destino = StringHelper.preencherStringEspacoEsquerda(destino, 5); } + String status = StringHelper.preencherStringEspacoEsquerda(fiscal.getStatus(), 1); + String seqHeader = null; if (!jaCadastrado) { seq++; @@ -558,8 +575,7 @@ public class FiscalServiceImpl implements FiscalService { header = headerDocumentoFiscal("1", data, cnpjFilial, coo, serie, especie, codigoCliente, filialCliente, condicaoPagamento, valorTotalDocumanto, valorItens, aliquota, imposto, valorPIS, valorCofins, valorCSLL, totalICMSIsento, totalICMSNaotributado, origenUf, origen, - destinoUf, destino, null, - null, brancos203, seqHeader); + destinoUf, destino, null, null, status, brancos202, seqHeader); /* * Item da importacion Fiscal ECF @@ -704,16 +720,17 @@ public class FiscalServiceImpl implements FiscalService { String numeroSeriePDV = StringHelper.preencherStringEspacoDireita(item.getNumImpressora(), 20); String modeloImpressora = StringHelper.preencherStringEspacoDireita(item.getModeloImpressora(), 40); String numCaixa = StringHelper.preencherStringEspacoDireita(item.getNumCaixa(), 10); + String status = StringHelper.preencherStringEspacoEsquerda(item.getStatus(), 1); seq++; String sequencial = StringHelper.preencherZeroEsquerda(seq.toString(), 6); - String brancos112 = StringHelper.preencherStringEspacoEsquerda(null, 112); + String brancos111 = StringHelper.preencherStringEspacoEsquerda(null, 111); String itemDoc = itensDocumentoFiscal("2", numItem, cfop, codigoTES, codProduto, unidade, quantidade, valorUnitario, valorTotal, aliquotaItem, impostoItem, aliquotaPIS, valorPIS, aliquotaCofins, valorCofins, aliquotaCSLL, valorCSLL, aliquotaISS, valorISS, totalICMSIsentoItem, totalICMSNaotributadoItem, - numeroPDV, numeroSeriePDV, modeloImpressora, numCaixa, brancos112, sequencial); + numeroPDV, numeroSeriePDV, modeloImpressora, numCaixa, status, brancos111, sequencial); return itemDoc; } @@ -865,8 +882,8 @@ public class FiscalServiceImpl implements FiscalService { 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 origenUf, - String origen, String destinoUf, String destino, String subSerie, String aidf, String brancos, - String sequencial) { + String origen, String destinoUf, String destino, String subSerie, String aidf, String status, + String brancos, String sequencial) { StringBuilder header = new StringBuilder(); header.append(identificador); @@ -893,6 +910,7 @@ public class FiscalServiceImpl implements FiscalService { header.append(destino); header.append(subSerie == null ? "" : subSerie); header.append(aidf == null ? "" : aidf); + header.append(status); header.append(brancos); header.append(sequencial); @@ -904,7 +922,7 @@ public class FiscalServiceImpl implements FiscalService { 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 modeloImpressora, String numCaixa, String brancos, String sequencial) { + String modeloImpressora, String numCaixa, String status, String brancos, String sequencial) { StringBuilder item = new StringBuilder(); item.append(identificador); @@ -932,6 +950,7 @@ public class FiscalServiceImpl implements FiscalService { item.append(numeroSeriePDV == null ? "" : numeroSeriePDV); item.append(modeloImpressora); item.append(numCaixa); + item.append(status); item.append(brancos); item.append(sequencial); diff --git a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java index 61a57fc9d..46bfada23 100644 --- a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionFiscalVO.java @@ -21,6 +21,7 @@ public class ImportacionFiscalVO { private String numpdv; private String modeloImpressora; private String numCaixa; + private String status; private List itensFiscais; @@ -192,4 +193,12 @@ public class ImportacionFiscalVO { this.destinoUf = destinoUf; } + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + } diff --git a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionManualFiscalVO.java b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionManualFiscalVO.java index 9a3b7a92e..3506048f2 100644 --- a/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionManualFiscalVO.java +++ b/src/com/rjconsultores/ventaboletos/vo/impressaofiscal/ImportacionManualFiscalVO.java @@ -35,6 +35,7 @@ public class ImportacionManualFiscalVO { private String numpdv; private String modeloImpressora; private String numCaixa; + private String status; List subItens; @@ -286,4 +287,12 @@ public class ImportacionManualFiscalVO { this.destinoUf = destinoUf; } + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + }