Exportação Fiscal : ECF e RMD (issue 8120)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@70871 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
da63d62a8c
commit
e873a877f1
|
@ -58,6 +58,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
private static final String DATE_FORMAT_DMYHMS = "dd/MM/yyyy hh:mm:ss";
|
private static final String DATE_FORMAT_DMYHMS = "dd/MM/yyyy hh:mm:ss";
|
||||||
private static final String DATE_FORMAT_DMY = "dd/MM/yyyy";
|
private static final String DATE_FORMAT_DMY = "dd/MM/yyyy";
|
||||||
|
|
||||||
|
private static final String CODIGO_INDICADOR_CONTR_PREVIDENCIARIA = "00000060";
|
||||||
|
|
||||||
private static Logger log = Logger.getLogger(FiscalHibernateDAO.class);
|
private static Logger log = Logger.getLogger(FiscalHibernateDAO.class);
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -1383,7 +1385,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
registro.setValorIsentas(totalIsenta);
|
registro.setValorIsentas(totalIsenta);
|
||||||
registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora"));
|
registro.setEstabelecimentoECF(rs.getString("codestabelecimentoimpressora"));
|
||||||
registro.setNumeroSerie(rs.getString("numserie"));
|
registro.setNumeroSerie(rs.getString("numserie"));
|
||||||
registro.setInfoPadraoBilhetePassagem("00000060");
|
registro.setInfoPadraoBilhetePassagem(CODIGO_INDICADOR_CONTR_PREVIDENCIARIA);
|
||||||
|
|
||||||
retorno.add(registro);
|
retorno.add(registro);
|
||||||
}
|
}
|
||||||
|
@ -1544,6 +1546,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
BigDecimal tributacao_importacao = rs.getBigDecimal("tributacao_importacao");
|
BigDecimal tributacao_importacao = rs.getBigDecimal("tributacao_importacao");
|
||||||
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
||||||
|
|
||||||
|
if ("30|40|41|50|60".contains(registro.getCodigoSituacaoTribColunaB().toString())) {
|
||||||
|
tributacao_importacao = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
|
||||||
if (red_base_calc_icms != null) {
|
if (red_base_calc_icms != null) {
|
||||||
valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d))));
|
valorBaseCalculoICMS = valorTotal.subtract(valorTotal.multiply(red_base_calc_icms.divide(BigDecimal.valueOf(100d))));
|
||||||
} else {
|
} else {
|
||||||
|
@ -1607,7 +1613,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredmunicipal ELSE eis.porcredmunicipal END) as porc_red_municipal,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.porcredestadual ELSE eis.porcredestadual END) as porc_red_estadual,");
|
||||||
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,");
|
sb.append(" (CASE WHEN s.aliasorigen_id IS NULL THEN ei.tributacaoimportacao ELSE eis.tributacaoimportacao END) as tributacao_importacao,");
|
||||||
sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN pos.regionmetropolitana_id ELSE po.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pds.regionmetropolitana_id ELSE pd.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
|
sb.append(" (CASE WHEN (nvl((CASE WHEN s.aliasorigen_id IS NULL THEN po.regionmetropolitana_id ELSE pos.regionmetropolitana_id END),-1) = nvl((CASE WHEN s.aliasdestino_id IS NULL THEN pd.regionmetropolitana_id ELSE pds.regionmetropolitana_id END),-2)) THEN 1 ELSE 0 END) as isenta,");
|
||||||
sb.append(" r4.impsubtotal as valortotal");
|
sb.append(" r4.impsubtotal as valortotal");
|
||||||
sb.append(" from fiscal_r4 r4");
|
sb.append(" from fiscal_r4 r4");
|
||||||
sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
|
sb.append(" join fiscal_r2 r2 on r2.numserie20 = r4.numserie20 and r2.datamov = r4.datamov");
|
||||||
|
@ -1724,6 +1730,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
|
|
||||||
String key = ecf + "|" + datamov + "|" + ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
|
String key = ecf + "|" + datamov + "|" + ufDestino + "|" + cfop.toString() + "|" + codigoSituacaoTribColunaB.toString();
|
||||||
|
|
||||||
|
log.info(key.toString());
|
||||||
|
|
||||||
if (group.containsKey(key)) {
|
if (group.containsKey(key)) {
|
||||||
registro = group.get(key);
|
registro = group.get(key);
|
||||||
|
|
||||||
|
@ -1746,6 +1754,8 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
registro.setRedutorBaseCalculoIcms(red_base_calc_icms);
|
registro.setRedutorBaseCalculoIcms(red_base_calc_icms);
|
||||||
registro.setRedutorMunicipalIcms(porc_red_municipal);
|
registro.setRedutorMunicipalIcms(porc_red_municipal);
|
||||||
registro.setRedutorEstadualIcms(porc_red_estadual);
|
registro.setRedutorEstadualIcms(porc_red_estadual);
|
||||||
|
|
||||||
|
group.put(key, registro);
|
||||||
}
|
}
|
||||||
|
|
||||||
registro.setValorTotal(valorTotal.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
registro.setValorTotal(valorTotal.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
|
@ -1753,8 +1763,6 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
registro.setValorICMSDebitado(valorICMSDebitado.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
registro.setValorICMSDebitado(valorICMSDebitado.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
registro.setValorICMSIsento(valorICMSIsento.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
registro.setValorICMSIsento(valorICMSIsento.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
registro.setValorICMSOutros(valorICMSOutros.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
registro.setValorICMSOutros(valorICMSOutros.setScale(2, BigDecimal.ROUND_HALF_EVEN));
|
||||||
|
|
||||||
group.put(key, registro);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Map.Entry<String, ExportacaoECFTipoICF> entry : group.entrySet()) {
|
for (Map.Entry<String, ExportacaoECFTipoICF> entry : group.entrySet()) {
|
||||||
|
@ -2077,7 +2085,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
return retorno;
|
return retorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override @Deprecated
|
||||||
public List<ExportacaoRMDTipoBPS> buscarRegistroRMDTipoBPS(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
public List<ExportacaoRMDTipoBPS> buscarRegistroRMDTipoBPS(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
||||||
List<ExportacaoRMDTipoBPS> retorno = new ArrayList<ExportacaoRMDTipoBPS>();
|
List<ExportacaoRMDTipoBPS> retorno = new ArrayList<ExportacaoRMDTipoBPS>();
|
||||||
|
|
||||||
|
@ -2212,7 +2220,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
return retorno;
|
return retorno;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override @Deprecated
|
||||||
public List<ExportacaoRMDTipoDBP> buscarRegistroRMDTipoDBP(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
public List<ExportacaoRMDTipoDBP> buscarRegistroRMDTipoDBP(Connection connection, Date inicio, Date fim, Integer empresaId, String cveestado) {
|
||||||
List<ExportacaoRMDTipoDBP> retorno = new ArrayList<ExportacaoRMDTipoDBP>();
|
List<ExportacaoRMDTipoDBP> retorno = new ArrayList<ExportacaoRMDTipoDBP>();
|
||||||
|
|
||||||
|
@ -2456,7 +2464,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
|
|
||||||
ResultSet rs = ps.executeQuery();
|
ResultSet rs = ps.executeQuery();
|
||||||
|
|
||||||
ExportacaoRMDTipoSeqBPS registroBPR = null;
|
ExportacaoRMDTipoSeqBPS registroBPS = null;
|
||||||
ExportacaoRMDTipoSeqDBP registroDBP = null;
|
ExportacaoRMDTipoSeqDBP registroDBP = null;
|
||||||
|
|
||||||
Integer numeroInicial = 0;
|
Integer numeroInicial = 0;
|
||||||
|
@ -2499,20 +2507,21 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
dataEmissaoControle = dataEmissao;
|
dataEmissaoControle = dataEmissao;
|
||||||
cfopControle = cfop;
|
cfopControle = cfop;
|
||||||
|
|
||||||
registroBPR = new ExportacaoRMDTipoSeqBPS();
|
registroBPS = new ExportacaoRMDTipoSeqBPS();
|
||||||
registroBPR.setEspecie("BPR");
|
registroBPS.setEspecie("BPR");
|
||||||
registroBPR.setNumeroInicial(numeroInicial);
|
registroBPS.setNumeroInicial(numeroInicial);
|
||||||
registroBPR.setCodigoEstabelecimento(codigoEstabelecimento);
|
registroBPS.setCodigoEstabelecimento(codigoEstabelecimento);
|
||||||
registroBPR.setNumeroAIDF(numeroAIDF);
|
registroBPS.setNumeroAIDF(numeroAIDF);
|
||||||
registroBPR.setSerieAIDF(serieAIDF);
|
registroBPS.setSerieAIDF(serieAIDF);
|
||||||
registroBPR.setSubSerieAIDF(subSerieAIDF);
|
registroBPS.setSubSerieAIDF(subSerieAIDF);
|
||||||
registroBPR.setNumeroAIDFRMD(numeroAIDFRMD);
|
registroBPS.setNumeroAIDFRMD(numeroAIDFRMD);
|
||||||
registroBPR.setSerieAIDFRMD(serieAIDFRMD);
|
registroBPS.setSerieAIDFRMD(serieAIDFRMD);
|
||||||
registroBPR.setSubSerieAIDFRMD(subSerieAIDFRMD);
|
registroBPS.setSubSerieAIDFRMD(subSerieAIDFRMD);
|
||||||
registroBPR.setNumeroRMD(numeroRMD);
|
registroBPS.setNumeroRMD(numeroRMD);
|
||||||
registroBPR.setDataEmissao(dataEmissao);
|
registroBPS.setDataEmissao(dataEmissao);
|
||||||
|
registroBPS.setInfoPadraoBilhetePassagem(CODIGO_INDICADOR_CONTR_PREVIDENCIARIA);
|
||||||
|
|
||||||
listaBPS.add(registroBPR);
|
listaBPS.add(registroBPS);
|
||||||
|
|
||||||
quantidadeTotal = 0;
|
quantidadeTotal = 0;
|
||||||
quantidadeCancelado = 0;
|
quantidadeCancelado = 0;
|
||||||
|
@ -2530,19 +2539,19 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
|
|
||||||
numeroFinal = numeroFormulario;
|
numeroFinal = numeroFormulario;
|
||||||
|
|
||||||
registroBPR.setNumeroFinal(numeroFinal);
|
registroBPS.setNumeroFinal(numeroFinal);
|
||||||
|
|
||||||
registroBPR.setQuantidadeTotal(quantidadeTotal);
|
registroBPS.setQuantidadeTotal(quantidadeTotal);
|
||||||
registroBPR.setQuantidadeCancelados(quantidadeCancelado);
|
registroBPS.setQuantidadeCancelados(quantidadeCancelado);
|
||||||
registroBPR.setValorTotal(totalizador);
|
registroBPS.setValorTotal(totalizador);
|
||||||
|
|
||||||
// DBP
|
// DBP
|
||||||
registroDBP = new ExportacaoRMDTipoSeqDBP(ufDestino);
|
registroDBP = new ExportacaoRMDTipoSeqDBP(ufDestino);
|
||||||
|
|
||||||
Integer indice = registroBPR.getListaDBP().indexOf(registroDBP);
|
Integer indice = registroBPS.getListaDBP().indexOf(registroDBP);
|
||||||
|
|
||||||
if (indice == -1) {
|
if (indice == -1) {
|
||||||
registroBPR.getListaDBP().add(registroDBP);
|
registroBPS.getListaDBP().add(registroDBP);
|
||||||
|
|
||||||
registroDBP.setCfop(cfop); // IM=5357; Serviço IE= 6357
|
registroDBP.setCfop(cfop); // IM=5357; Serviço IE= 6357
|
||||||
registroDBP.setUfOrigem(ufOrigem);
|
registroDBP.setUfOrigem(ufOrigem);
|
||||||
|
@ -2566,7 +2575,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
||||||
registroDBP.setValorICMSIsento(BigDecimal.ZERO);
|
registroDBP.setValorICMSIsento(BigDecimal.ZERO);
|
||||||
registroDBP.setValorICMSOutros(BigDecimal.ZERO);
|
registroDBP.setValorICMSOutros(BigDecimal.ZERO);
|
||||||
} else {
|
} else {
|
||||||
registroDBP = registroBPR.getListaDBP().get(indice);
|
registroDBP = registroBPS.getListaDBP().get(indice);
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
BigDecimal valorBaseCalculoICMS = BigDecimal.ZERO;
|
||||||
|
|
|
@ -576,13 +576,14 @@ public class ExportacaoFiscal {
|
||||||
sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 32
|
sb.append(formataCaracter(VAZIO, false, 9)).append(SEPARADOR); // Posição 32
|
||||||
sb.append(formataCaracter(VAZIO, false, 8)).append(SEPARADOR); // Posição 33
|
sb.append(formataCaracter(VAZIO, false, 8)).append(SEPARADOR); // Posição 33
|
||||||
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 34
|
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 34
|
||||||
sb.append(formataCaracter(VAZIO, false, 3)); // Posição 35
|
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 35
|
||||||
sb.append(formataCaracter("N", false, 3)); // Posição 36
|
sb.append(formataCaracter("N", false, 3)); // Posição 36
|
||||||
|
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
private void adicionarRegistroRMDTipoBPS(PrintWriter writer, List<ExportacaoRMDTipoBPS> listaRegistroRMDTipoBPS) {
|
private void adicionarRegistroRMDTipoBPS(PrintWriter writer, List<ExportacaoRMDTipoBPS> listaRegistroRMDTipoBPS) {
|
||||||
for (ExportacaoRMDTipoBPS registro : listaRegistroRMDTipoBPS) {
|
for (ExportacaoRMDTipoBPS registro : listaRegistroRMDTipoBPS) {
|
||||||
Integer codigoEstabelecimento = registro.getCodigoEstabelecimento();
|
Integer codigoEstabelecimento = registro.getCodigoEstabelecimento();
|
||||||
|
@ -639,6 +640,7 @@ public class ExportacaoFiscal {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
private void adicionarRegistroRMDTipoDBP(PrintWriter writer, List<ExportacaoRMDTipoDBP> listaRegistroRMDTipoDBP) {
|
private void adicionarRegistroRMDTipoDBP(PrintWriter writer, List<ExportacaoRMDTipoDBP> listaRegistroRMDTipoDBP) {
|
||||||
for (ExportacaoRMDTipoDBP registro : listaRegistroRMDTipoDBP) {
|
for (ExportacaoRMDTipoDBP registro : listaRegistroRMDTipoDBP) {
|
||||||
String ufDestino = registro.getUfDestino();
|
String ufDestino = registro.getUfDestino();
|
||||||
|
@ -695,6 +697,7 @@ public class ExportacaoFiscal {
|
||||||
String serieAIDFRMD = registro.getSerieAIDFRMD();
|
String serieAIDFRMD = registro.getSerieAIDFRMD();
|
||||||
String subSerieAIDFRMD = registro.getSubSerieAIDFRMD();
|
String subSerieAIDFRMD = registro.getSubSerieAIDFRMD();
|
||||||
Integer numeroRMD = registro.getNumeroRMD();
|
Integer numeroRMD = registro.getNumeroRMD();
|
||||||
|
String infoPadraoBilhetePassagem = registro.getInfoPadraoBilhetePassagem();
|
||||||
|
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
sb.append("BPS").append(SEPARADOR);
|
sb.append("BPS").append(SEPARADOR);
|
||||||
|
@ -728,7 +731,7 @@ public class ExportacaoFiscal {
|
||||||
sb.append("01").append(SEPARADOR);
|
sb.append("01").append(SEPARADOR);
|
||||||
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 30
|
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 30
|
||||||
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 31
|
sb.append(formataCaracter(VAZIO, false, 3)).append(SEPARADOR); // Posição 31
|
||||||
sb.append(formataCaracter(VAZIO, false, 8)); // Posição 32
|
sb.append(formataCaracter(infoPadraoBilhetePassagem, false, 8));
|
||||||
|
|
||||||
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
writer.print(sb.toString() + UtiliteriasFiscal.QUEBRA_LINHA);
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ public class ExportacaoRMDTipoSeqBPS {
|
||||||
private String subSerieAIDFRMD;
|
private String subSerieAIDFRMD;
|
||||||
private Integer numeroRMD;
|
private Integer numeroRMD;
|
||||||
private Integer quantidadeTotal;
|
private Integer quantidadeTotal;
|
||||||
|
private String infoPadraoBilhetePassagem;
|
||||||
private List<ExportacaoRMDTipoSeqDBP> listaDBP;
|
private List<ExportacaoRMDTipoSeqDBP> listaDBP;
|
||||||
|
|
||||||
public ExportacaoRMDTipoSeqBPS() {
|
public ExportacaoRMDTipoSeqBPS() {
|
||||||
|
@ -161,6 +162,14 @@ public class ExportacaoRMDTipoSeqBPS {
|
||||||
this.quantidadeTotal = quantidadeTotal;
|
this.quantidadeTotal = quantidadeTotal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getInfoPadraoBilhetePassagem() {
|
||||||
|
return infoPadraoBilhetePassagem;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfoPadraoBilhetePassagem(String infoPadraoBilhetePassagem) {
|
||||||
|
this.infoPadraoBilhetePassagem = infoPadraoBilhetePassagem;
|
||||||
|
}
|
||||||
|
|
||||||
public List<ExportacaoRMDTipoSeqDBP> getListaDBP() {
|
public List<ExportacaoRMDTipoSeqDBP> getListaDBP() {
|
||||||
return listaDBP;
|
return listaDBP;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue