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.fiscal.vo.DetalhadoFiscal;
|
||||
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.ImpressaoRMD;
|
||||
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_DMYHMS = "dd/MM/yyyy hh:mm:ss";
|
||||
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";
|
||||
|
||||
|
@ -3872,7 +3874,7 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|||
List<DetalhadoFiscal> list = montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, false);
|
||||
list.addAll(montaRelatorioRDI(connection, inicio, fim, empresaId, ufs, true));
|
||||
|
||||
List<FiscalRdi> rdis = calcularRelatorioRDI(list);
|
||||
List<FiscalRdi> rdis = calcularRelatorioRDI(list, isReceitaTerceiros);
|
||||
return agrupaRdi(rdis);
|
||||
}
|
||||
|
||||
|
@ -3890,31 +3892,86 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|||
|
||||
int index = aux.indexOf(atual);
|
||||
FiscalRdi agr = aux.get(index);
|
||||
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.setSeguro(agr.getSeguro() == null ? BigDecimal.ZERO : agr.getSeguro().add(detail.getSeguro() == null ? BigDecimal.ZERO : detail.getSeguro()));
|
||||
agr.setTxEmbarque(agr.getTxEmbarque() == null ? BigDecimal.ZERO : agr.getTxEmbarque().add(detail.getTxEmbarque() == null ? BigDecimal.ZERO : detail.getTxEmbarque()));
|
||||
agr.setPedagio(agr.getPedagio() == null ? BigDecimal.ZERO : agr.getPedagio().add(detail.getPedagio() == null ? BigDecimal.ZERO : detail.getPedagio()));
|
||||
agr.setPassagem(agr.getPassagem() == null ? BigDecimal.ZERO : agr.getPassagem().add(detail.getPassagem() == null ? BigDecimal.ZERO : detail.getPassagem()));
|
||||
agr.setIsentos(agr.getIsentos() == null ? BigDecimal.ZERO : agr.getIsentos().add(detail.getIsentos() == null ? BigDecimal.ZERO : detail.getIsentos()));
|
||||
agr.setOutros(agr.getOutros() == null ? BigDecimal.ZERO : agr.getOutros().add(detail.getOutros() == null ? BigDecimal.ZERO : detail.getOutros()));
|
||||
agr.setRbc(detail.getRbc() == null ? BigDecimal.ZERO : detail.getRbc());
|
||||
agr.setBaseCalculo(agr.getBaseCalculo() == null ? BigDecimal.ZERO : agr.getBaseCalculo().add(detail.getBaseCalculo() == null ? BigDecimal.ZERO : detail.getBaseCalculo()));
|
||||
agr.setAliquota(detail.getAliquota() == null ? BigDecimal.ZERO : detail.getAliquota());
|
||||
agr.setIcms(agr.getIcms() == null ? BigDecimal.ZERO : agr.getIcms().add(detail.getIcms() == null ? BigDecimal.ZERO : detail.getIcms()));
|
||||
agr.setCp(detail.getCp() == null ? BigDecimal.ZERO : detail.getCp());
|
||||
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()));
|
||||
|
||||
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 List<FiscalRdi> calcularRelatorioRDI(List<DetalhadoFiscal> list) {
|
||||
private FiscalRdi montarParametros(FiscalRdi agr, FiscalRdi detail) {
|
||||
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.setSeguro(agr.getSeguro() == null ? BigDecimal.ZERO : agr.getSeguro().add(detail.getSeguro() == null ? BigDecimal.ZERO : detail.getSeguro()));
|
||||
agr.setTxEmbarque(agr.getTxEmbarque() == null ? BigDecimal.ZERO : agr.getTxEmbarque().add(detail.getTxEmbarque() == null ? BigDecimal.ZERO : detail.getTxEmbarque()));
|
||||
agr.setPedagio(agr.getPedagio() == null ? BigDecimal.ZERO : agr.getPedagio().add(detail.getPedagio() == null ? BigDecimal.ZERO : detail.getPedagio()));
|
||||
agr.setPassagem(agr.getPassagem() == null ? BigDecimal.ZERO : agr.getPassagem().add(detail.getPassagem() == null ? BigDecimal.ZERO : detail.getPassagem()));
|
||||
agr.setIsentos(agr.getIsentos() == null ? BigDecimal.ZERO : agr.getIsentos().add(detail.getIsentos() == null ? BigDecimal.ZERO : detail.getIsentos()));
|
||||
agr.setOutros(agr.getOutros() == null ? BigDecimal.ZERO : agr.getOutros().add(detail.getOutros() == null ? BigDecimal.ZERO : detail.getOutros()));
|
||||
agr.setRbc(detail.getRbc() == null ? BigDecimal.ZERO : detail.getRbc());
|
||||
agr.setBaseCalculo(agr.getBaseCalculo() == null ? BigDecimal.ZERO : agr.getBaseCalculo().add(detail.getBaseCalculo() == null ? BigDecimal.ZERO : detail.getBaseCalculo()));
|
||||
agr.setAliquota(detail.getAliquota() == null ? BigDecimal.ZERO : detail.getAliquota());
|
||||
agr.setIcms(agr.getIcms() == null ? BigDecimal.ZERO : agr.getIcms().add(detail.getIcms() == null ? BigDecimal.ZERO : detail.getIcms()));
|
||||
agr.setCp(detail.getCp() == null ? BigDecimal.ZERO : detail.getCp());
|
||||
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()));
|
||||
|
||||
return agr;
|
||||
}
|
||||
|
||||
private List<FiscalRdi> calcularRelatorioRDI(List<DetalhadoFiscal> list, boolean isReceitaTerceiros) {
|
||||
|
||||
List<FiscalRdi> rdis = new ArrayList<FiscalRdi>();
|
||||
|
||||
|
@ -3932,9 +3989,9 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|||
BigDecimal icmsRec = BigDecimal.ZERO;
|
||||
|
||||
if (det.getIsenta()) {
|
||||
isentos = somarTotalBilhete(det);
|
||||
isentos = somarTotalBilhete(det, isReceitaTerceiros);
|
||||
} else {
|
||||
passagem = somarTotalBilhete(det);
|
||||
passagem = somarTotalBilhete(det, isReceitaTerceiros);
|
||||
|
||||
if (det.isInterEstadual()) {
|
||||
aliquota = det.getIcmsInterestadual() != null ? det.getIcmsInterestadual() : det.getTributacaoImportacao();
|
||||
|
@ -3969,26 +4026,32 @@ public class FiscalHibernateDAO extends HibernateDaoSupport implements FiscalDAO
|
|||
tipoViagem = "IM";
|
||||
}
|
||||
|
||||
rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(),
|
||||
det.getSeguro(), det.getTaxaEmbarque(), det.getPedagio(), passagem, isentos, outros, det.getRedBaseCalcIcms(),
|
||||
baseCalculo, aliquota, icms, cp, credPres, icmsRec));
|
||||
if (isReceitaTerceiros) {
|
||||
rdis.add(new FiscalRdi(det.getEstadoOrigem(), tipoViagem, det.getTipoReceita(), det.getTarifa(),
|
||||
det.getSeguro(), det.getTaxaEmbarque(), det.getPedagio(), passagem, isentos, outros, det.getRedBaseCalcIcms(),
|
||||
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;
|
||||
}
|
||||
|
||||
private BigDecimal somarTotalBilhete(DetalhadoFiscal det) {
|
||||
private BigDecimal somarTotalBilhete(DetalhadoFiscal det, boolean isReceitaTerceiros) {
|
||||
|
||||
BigDecimal total = BigDecimal.ZERO;
|
||||
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());
|
||||
|
||||
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());
|
||||
|
||||
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());
|
||||
|
||||
return total;
|
||||
|
|
|
@ -4,12 +4,6 @@ import java.math.BigDecimal;
|
|||
|
||||
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 tipoViagem;
|
||||
private String tipoReceita;
|
||||
|
@ -205,46 +199,6 @@ public class FiscalRdi implements Comparable<FiscalRdi> {
|
|||
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
|
||||
public int hashCode() {
|
||||
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