julio 2017-08-01 14:21:49 +00:00
parent 393f5b131e
commit 4b7747719a
3 changed files with 175 additions and 73 deletions

View File

@ -47,6 +47,7 @@ import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRM
import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoSeqDBP; import com.rjconsultores.ventaboletos.utilerias.exportacaofiscal.vo.ExportacaoRMDTipoSeqDBP;
import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.DetalhadoFiscal; import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.DetalhadoFiscal;
import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.FiscalRdi; import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.FiscalRdi;
import com.rjconsultores.ventaboletos.utilerias.fiscal.vo.RdiValidacion;
import com.rjconsultores.ventaboletos.utilerias.impressaormd.vo.DetalhadoRMD; import com.rjconsultores.ventaboletos.utilerias.impressaormd.vo.DetalhadoRMD;
import com.rjconsultores.ventaboletos.utilerias.impressaormd.vo.ImpressaoRMD; import com.rjconsultores.ventaboletos.utilerias.impressaormd.vo.ImpressaoRMD;
import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionFiscalReducaoZVO; import com.rjconsultores.ventaboletos.vo.impressaofiscal.ImportacionFiscalReducaoZVO;
@ -62,6 +63,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
private static final String DATE_FORMAT_FISCAL = "yyyyMMdd"; private static final String DATE_FORMAT_FISCAL = "yyyyMMdd";
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 BigDecimal ZERO = BigDecimal.ZERO;
private static final String CODIGO_INDICADOR_CONTR_PREVIDENCIARIA = "00000060"; private static final String CODIGO_INDICADOR_CONTR_PREVIDENCIARIA = "00000060";
@ -3872,7 +3874,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
List<DetalhadoFiscal> list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false); List<DetalhadoFiscal> list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false);
list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true)); list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true));
List<FiscalRdi> rdis = calcularRelatorioRDI(list); List<FiscalRdi> rdis = calcularRelatorioRDI(list, isReceitaTerceiros);
return agrupaRdi(rdis); return agrupaRdi(rdis);
} }
@ -3890,6 +3892,66 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
int index = aux.indexOf(atual); int index = aux.indexOf(atual);
FiscalRdi agr = aux.get(index); FiscalRdi agr = aux.get(index);
montarParametros(agr, detail);
aux.set(index, agr);
}
List<RdiValidacion> validacion = new ArrayList<RdiValidacion>();
for (FiscalRdi detail : aux) {
RdiValidacion rv = new RdiValidacion(detail.getEstado());
if (!validacion.contains(rv)) {
rv = new RdiValidacion(detail.getEstado());
validacion.add(rv);
}
int indice = validacion.indexOf(rv);
RdiValidacion rvAux = validacion.get(indice);
if (detail.getTipoReceita().equals("REC") && detail.getTipoViagem().equals("IM"))
rvAux.setTemIMRec(true);
if (detail.getTipoReceita().equals("DEV") && detail.getTipoViagem().equals("IM"))
rvAux.setTemIMDev(true);
if (detail.getTipoReceita().equals("REC") && detail.getTipoViagem().equals("IE"))
rvAux.setTemIERec(true);
if (detail.getTipoReceita().equals("DEV") && detail.getTipoViagem().equals("IE"))
rvAux.setTemIEDev(true);
validacion.set(indice, rvAux);
}
for (RdiValidacion val : validacion) {
if (!val.isTemIMRec()) {
FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IM", "REC");
aux.add(montarParametros(rdiAux, new FiscalRdi()));
}
if (!val.isTemIMDev()) {
FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IM", "DEV");
aux.add(montarParametros(rdiAux, new FiscalRdi()));
}
if (!val.isTemIERec()) {
FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IE", "REC");
aux.add(montarParametros(rdiAux, new FiscalRdi()));
}
if (!val.isTemIEDev()) {
FiscalRdi rdiAux = new FiscalRdi(val.getEstado(), "IE", "DEV");
aux.add(montarParametros(rdiAux, new FiscalRdi()));
}
}
Collections.sort(aux);
return aux;
}
private FiscalRdi montarParametros(FiscalRdi agr, FiscalRdi detail) {
agr.setQuantBilhetes(agr.getQuantBilhetes() == null ? BigDecimal.ZERO : agr.getQuantBilhetes().add(BigDecimal.ONE)); agr.setQuantBilhetes(agr.getQuantBilhetes() == null ? BigDecimal.ZERO : agr.getQuantBilhetes().add(BigDecimal.ONE));
agr.setTarifa(agr.getTarifa() == null ? BigDecimal.ZERO : agr.getTarifa().add(detail.getTarifa() == null ? BigDecimal.ZERO : detail.getTarifa())); agr.setTarifa(agr.getTarifa() == null ? BigDecimal.ZERO : agr.getTarifa().add(detail.getTarifa() == null ? BigDecimal.ZERO : detail.getTarifa()));
agr.setSeguro(agr.getSeguro() == null ? BigDecimal.ZERO : agr.getSeguro().add(detail.getSeguro() == null ? BigDecimal.ZERO : detail.getSeguro())); agr.setSeguro(agr.getSeguro() == null ? BigDecimal.ZERO : agr.getSeguro().add(detail.getSeguro() == null ? BigDecimal.ZERO : detail.getSeguro()));
@ -3906,15 +3968,10 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
agr.setCredPres(agr.getCredPres() == null ? BigDecimal.ZERO : agr.getCredPres().add(detail.getCredPres() == null ? BigDecimal.ZERO : detail.getCredPres())); agr.setCredPres(agr.getCredPres() == null ? BigDecimal.ZERO : agr.getCredPres().add(detail.getCredPres() == null ? BigDecimal.ZERO : detail.getCredPres()));
agr.setIcmsRec(agr.getIcmsRec() == null ? BigDecimal.ZERO : agr.getIcmsRec().add(detail.getIcmsRec() == null ? BigDecimal.ZERO : detail.getIcmsRec())); agr.setIcmsRec(agr.getIcmsRec() == null ? BigDecimal.ZERO : agr.getIcmsRec().add(detail.getIcmsRec() == null ? BigDecimal.ZERO : detail.getIcmsRec()));
aux.set(index, agr); return agr;
} }
Collections.sort(aux); private List<FiscalRdi> calcularRelatorioRDI(List<DetalhadoFiscal> list, boolean isReceitaTerceiros) {
return aux;
}
private List<FiscalRdi> calcularRelatorioRDI(List<DetalhadoFiscal> list) {
List<FiscalRdi> rdis = new ArrayList<FiscalRdi>(); List<FiscalRdi> rdis = new ArrayList<FiscalRdi>();
@ -3932,9 +3989,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
BigDecimal icmsRec = BigDecimal.ZERO; BigDecimal icmsRec = BigDecimal.ZERO;
if (det.getIsenta()) { if (det.getIsenta()) {
isentos = somarTotalBilhete(det); isentos = somarTotalBilhete(det, isReceitaTerceiros);
} else { } else {
passagem = somarTotalBilhete(det); passagem = somarTotalBilhete(det, isReceitaTerceiros);
if (det.isInterEstadual()) { if (det.isInterEstadual()) {
aliquota = det.getIcmsInterestadual() != null ? det.getIcmsInterestadual() : det.getTributacaoImportacao(); aliquota = det.getIcmsInterestadual() != null ? det.getIcmsInterestadual() : det.getTributacaoImportacao();
@ -3969,26 +4026,32 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
tipoViagem = "IM"; tipoViagem = "IM";
} }
if (isReceitaTerceiros) {
rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(), rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(),
det.getSeguro(), det.getTaxaEmbarque(), det.getPedagio(), passagem, isentos, outros, det.getRedBaseCalcIcms(), det.getSeguro(), det.getTaxaEmbarque(), det.getPedagio(), passagem, isentos, outros, det.getRedBaseCalcIcms(),
baseCalculo, aliquota, icms, cp, credPres, icmsRec)); baseCalculo, aliquota, icms, cp, credPres, icmsRec));
} else {
rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(),
ZERO, ZERO, ZERO, passagem, isentos, outros, det.getRedBaseCalcIcms(),
baseCalculo, aliquota, icms, cp, credPres, icmsRec));
}
} }
return rdis; return rdis;
} }
private BigDecimal somarTotalBilhete(DetalhadoFiscal det) { private BigDecimal somarTotalBilhete(DetalhadoFiscal det, boolean isReceitaTerceiros) {
BigDecimal total = BigDecimal.ZERO; BigDecimal total = BigDecimal.ZERO;
total = total.add(det.getTarifa() == null ? BigDecimal.ZERO : det.getTarifa()); total = total.add(det.getTarifa() == null ? BigDecimal.ZERO : det.getTarifa());
if (det.isInterEstadual() && det.getIndTxembarqueEstadual() || !det.isInterEstadual() && det.getIndTxembarqueMunicipal()) if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndTxembarqueEstadual() || !det.isInterEstadual() && det.getIndTxembarqueMunicipal()))
total = total.add(det.getTaxaEmbarque() == null ? BigDecimal.ZERO : det.getTaxaEmbarque()); total = total.add(det.getTaxaEmbarque() == null ? BigDecimal.ZERO : det.getTaxaEmbarque());
if (det.isInterEstadual() && det.getIndPedagioEstdual() || !det.isInterEstadual() && det.getIndPedagioMunicipal()) if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndPedagioEstdual() || !det.isInterEstadual() && det.getIndPedagioMunicipal()))
total = total.add(det.getPedagio() == null ? BigDecimal.ZERO : det.getPedagio()); total = total.add(det.getPedagio() == null ? BigDecimal.ZERO : det.getPedagio());
if (det.isInterEstadual() && det.getIndSeguroEstadual() || !det.isInterEstadual() && det.getIndSeguroMunicipal()) if (isReceitaTerceiros && (det.isInterEstadual() && det.getIndSeguroEstadual() || !det.isInterEstadual() && det.getIndSeguroMunicipal()))
total = total.add(det.getSeguro() == null ? BigDecimal.ZERO : det.getSeguro()); total = total.add(det.getSeguro() == null ? BigDecimal.ZERO : det.getSeguro());
return total; return total;

View File

@ -4,12 +4,6 @@ import java.math.BigDecimal;
public class FiscalRdi implements Comparable<FiscalRdi> { public class FiscalRdi implements Comparable<FiscalRdi> {
private BigDecimal totalImEstado;
private BigDecimal totalIEEstado;
private BigDecimal receitaEstado;
private BigDecimal devolucaoEstado;
private BigDecimal liquidoEstado;
private String estado; private String estado;
private String tipoViagem; private String tipoViagem;
private String tipoReceita; private String tipoReceita;
@ -205,46 +199,6 @@ public class FiscalRdi implements Comparable<FiscalRdi> {
this.icmsRec = icmsRec; this.icmsRec = icmsRec;
} }
public BigDecimal getTotalImEstado() {
return totalImEstado;
}
public void setTotalImEstado(BigDecimal totalImEstado) {
this.totalImEstado = totalImEstado;
}
public BigDecimal getTotalIEEstado() {
return totalIEEstado;
}
public void setTotalIEEstado(BigDecimal totalIEEstado) {
this.totalIEEstado = totalIEEstado;
}
public BigDecimal getReceitaEstado() {
return receitaEstado;
}
public void setReceitaEstado(BigDecimal receitaEstado) {
this.receitaEstado = receitaEstado;
}
public BigDecimal getDevolucaoEstado() {
return devolucaoEstado;
}
public void setDevolucaoEstado(BigDecimal devolucaoEstado) {
this.devolucaoEstado = devolucaoEstado;
}
public BigDecimal getLiquidoEstado() {
return liquidoEstado;
}
public void setLiquidoEstado(BigDecimal liquidoEstado) {
this.liquidoEstado = liquidoEstado;
}
@Override @Override
public int hashCode() { public int hashCode() {
final int prime = 31; final int prime = 31;

View File

@ -0,0 +1,85 @@
package com.rjconsultores.ventaboletos.utilerias.fiscal.vo;
public class RdiValidacion {
private String estado;
private boolean temIMRec;
private boolean temIMDev;
private boolean temIERec;
private boolean temIEDev;
public RdiValidacion(String estado) {
super();
this.estado = estado;
this.temIMRec = false;
this.temIMDev = false;
this.temIERec = false;
this.temIEDev = false;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
public boolean isTemIMRec() {
return temIMRec;
}
public void setTemIMRec(boolean temIMRec) {
this.temIMRec = temIMRec;
}
public boolean isTemIMDev() {
return temIMDev;
}
public void setTemIMDev(boolean temIMDev) {
this.temIMDev = temIMDev;
}
public boolean isTemIERec() {
return temIERec;
}
public void setTemIERec(boolean temIERec) {
this.temIERec = temIERec;
}
public boolean isTemIEDev() {
return temIEDev;
}
public void setTemIEDev(boolean temIEDev) {
this.temIEDev = temIEDev;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((estado == null) ? 0 : estado.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;
RdiValidacion other = (RdiValidacion) obj;
if (estado == null) {
if (other.estado != null)
return false;
} else if (!estado.equals(other.estado))
return false;
return true;
}
}