package it.acxent.contab.iva; import it.acxent.anag.IvaInterface; import it.acxent.util.DoubleOperator; public class RiepilogoIvaItem { private double imponibile; private IvaInterface iva; private double imposta; private double esente; private double imponibileIndetraibile; private double impostaIndetraibile; private double percIndetraibile; private double split; public RiepilogoIvaItem(IvaInterface l_iva) { setIva(l_iva); } public double getEsente() { return this.esente; } public double getImponibile() { return this.imponibile; } public double getImponibileIndetraibile() { return this.imponibileIndetraibile; } public void addImporto(double imponibile, double imposta) { addImporto(imponibile, imposta, false); } public void addImporto(double imponibile, double imposta, boolean isSplit) { DoubleOperator dImponibile = new DoubleOperator(imponibile); dImponibile.setScale(4, 5); DoubleOperator dImposta = new DoubleOperator(imposta); DoubleOperator dSplit = new DoubleOperator(imposta); dImposta.setScale(2, 5); if (getIva().getFlgTipo().equals("I")) { if (getIva().getAliquotaIndetraibile() == 0L) { dImponibile.add(getImponibile()); setImponibile(dImponibile.getResult()); if (isSplit) { dSplit.add(getSplit()); setSplit(dSplit.getResult()); } else { dImposta.add(getImposta()); setImposta(dImposta.getResult()); } } else { dImponibile.add(getImponibile()); setImponibile(dImponibile.getResult()); DoubleOperator ivaDetraibile = new DoubleOperator(100.0F); ivaDetraibile.subtract(getIva().getAliquotaIndetraibile()); ivaDetraibile.multiply(imposta); ivaDetraibile.divide(100.0F); dImposta.subtract(ivaDetraibile); ivaDetraibile.add(getImposta()); setImposta(ivaDetraibile.getResult()); dImposta.add(getImpostaIndetraibile()); setImpostaIndetraibile(dImposta.getResult()); } } else if (getIva().getFlgTipo().equals("X") || getIva().getFlgTipo().equals("E") || getIva().getFlgTipo().startsWith("N") || getIva().getFlgTipo().startsWith("S") || getIva().getFlgTipo().equals("R") || getIva().getFlgTipo().startsWith("C") || getIva().getFlgTipo().startsWith("C7")) { dImponibile.add(getEsente()); setEsente(dImponibile.getResult()); } } public double getImposta() { return this.imposta; } public double getImpostaIndetraibile() { return this.impostaIndetraibile; } public double getPercIndetraibile() { return this.percIndetraibile; } public void setEsente(double d) { this.esente = d; } public void setImponibile(double d) { this.imponibile = d; } public void setImponibileIndetraibile(double d) { this.imponibileIndetraibile = d; } public void setImposta(double d) { this.imposta = d; } public void setImpostaIndetraibile(double d) { this.impostaIndetraibile = d; } public void setPercIndetraibile(double d) { this.percIndetraibile = d; } public IvaInterface getIva() { return this.iva; } public void setIva(IvaInterface iva) { this.iva = iva; } public double getSplit() { return this.split; } public void setSplit(double split) { this.split = split; } }