135 lines
3.4 KiB
Java
135 lines
3.4 KiB
Java
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;
|
|
}
|
|
}
|