fixes bug #9386
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/AdmVenta/Model/trunk/modelWeb@72115 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
393f5b131e
commit
4b7747719a
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue