Merge branch 'master' into develop
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
All checks were successful
IntegryManagementSystem_Multi/pipeline/head This commit looks good
This commit is contained in:
@@ -612,7 +612,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
if (qta.compareTo(BigDecimal.ZERO) != 0) {
|
if (qta.compareTo(BigDecimal.ZERO) != 0) {
|
||||||
boolean ventilazione = false;
|
boolean ventilazione = false;
|
||||||
if ( row instanceof DtbDocr) ventilazione = ((DtbDocr) row).getVentilazione();
|
if ( row instanceof DtbDocr) ventilazione = ((DtbDocr) row).getVentilazione();
|
||||||
addCastellettoIva(flagIvaInclusa?impRigaIva:importoRiga, codAliq, ventilazione, castelletto);
|
addCastellettoIva(flagIvaInclusa?impRigaIva:importoRiga, codAliq, ventilazione, castelletto, flagIvaInclusa);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**************************
|
/**************************
|
||||||
@@ -736,7 +736,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
setNumColliPeso(testata, calcColli, datiTrasp, colli, colliFromDB);
|
setNumColliPeso(testata, calcColli, datiTrasp, colli, colliFromDB);
|
||||||
|
|
||||||
//CALCOLO TOTALI E CASTELLETTO IVA
|
//CALCOLO TOTALI E CASTELLETTO IVA
|
||||||
calcTotImponib(testata, conn, flagIvaInclusa, castelletto, cifreDec);
|
calcTotImponib(testata, conn, castelletto, cifreDec);
|
||||||
|
|
||||||
//Prima di calcolare l'acconto estrerre l'elenco delle bolle agganciate alla fatture differita
|
//Prima di calcolare l'acconto estrerre l'elenco delle bolle agganciate alla fatture differita
|
||||||
if (testata instanceof DtbDoct && ((DtbDoct) testata).getDtbTipi().getTipoEmissioneEnum() == TipoEmissione.DIFFERITA) {
|
if (testata instanceof DtbDoct && ((DtbDoct) testata).getDtbTipi().getTipoEmissioneEnum() == TipoEmissione.DIFFERITA) {
|
||||||
@@ -823,7 +823,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
}
|
}
|
||||||
totSpese = totSpese.add(importoRiga);
|
totSpese = totSpese.add(importoRiga);
|
||||||
if (addCastelletto) {
|
if (addCastelletto) {
|
||||||
addCastellettoIva(importoRiga, codAliq, ventilazione, castelletto);
|
addCastellettoIva(importoRiga, codAliq, ventilazione, castelletto, flagIvaInclusa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -831,7 +831,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
return totSpese;
|
return totSpese;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void calcTotImponib(DtbDocOrdT testata, Connection conn, boolean flagIvaInclusa,
|
private static void calcTotImponib(DtbDocOrdT testata, Connection conn,
|
||||||
List<CtbMovi> castellettoIva, Integer cifreDec) throws Exception {
|
List<CtbMovi> castellettoIva, Integer cifreDec) throws Exception {
|
||||||
BigDecimal totImponib = BigDecimal.ZERO;
|
BigDecimal totImponib = BigDecimal.ZERO;
|
||||||
BigDecimal totImposta = BigDecimal.ZERO;
|
BigDecimal totImposta = BigDecimal.ZERO;
|
||||||
@@ -849,17 +849,23 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
Boolean ventilazioneIva = iva.getVentilazione();
|
Boolean ventilazioneIva = iva.getVentilazione();
|
||||||
BigDecimal totImpostaAliq;
|
BigDecimal totImpostaAliq;
|
||||||
if (!UtilityString.isNullOrEmpty(codAliq)) {
|
if (!UtilityString.isNullOrEmpty(codAliq)) {
|
||||||
String sql = "SELECT tipo_iva, flag_marca_da_bollo, perc_aliq, flag_iva_acq_merci FROM gtb_aliq WHERE cod_aliq = " + UtilityDB.valueToString(codAliq);
|
String sql = "SELECT tipo_iva, " +
|
||||||
|
"flag_marca_da_bollo, " +
|
||||||
|
"perc_aliq, " +
|
||||||
|
"flag_iva_acq_merci " +
|
||||||
|
"FROM gtb_aliq " +
|
||||||
|
"WHERE cod_aliq = " + UtilityDB.valueToString(codAliq);
|
||||||
HashMap<String, Object> dati = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
HashMap<String, Object> dati = UtilityDB.executeSimpleQueryOnlyFirstRow(conn, sql);
|
||||||
String tipoIva = (String) dati.get("tipo_iva");
|
String tipoIva = (String) dati.get("tipo_iva");
|
||||||
String flagAddMarcaBollo = (String) dati.get("flag_marca_da_bollo");
|
String flagAddMarcaBollo = (String) dati.get("flag_marca_da_bollo");
|
||||||
BigDecimal percAliq = (BigDecimal) dati.get("perc_aliq");
|
BigDecimal percAliq = (BigDecimal) dati.get("perc_aliq");
|
||||||
boolean flagIvaAcqMerci = UtilityHashMap.<String>getValueIfExists(dati, "flag_iva_acq_merci").equalsIgnoreCase("S");
|
boolean flagIvaAcqMerci = UtilityHashMap.<String>getValueIfExists(dati, "flag_iva_acq_merci").equalsIgnoreCase("S");
|
||||||
|
|
||||||
if (flagIvaInclusa) {
|
if (iva.getFlagIvaInclusa()) {
|
||||||
BigDecimal totImpScorporo = IntegerUtility.round(CommonRules.scorporoIva(conn, totImponibAliq, codAliq), 2);
|
BigDecimal totImpScorporo = IntegerUtility.round(CommonRules.scorporoIva(conn, totImponibAliq, codAliq), 2);
|
||||||
totImpostaAliq = totImponibAliq.subtract(totImpScorporo);
|
totImpostaAliq = totImponibAliq.subtract(totImpScorporo);
|
||||||
totImponibAliq = totImponibAliq.subtract(totImpostaAliq);
|
totImponibAliq = totImponibAliq.subtract(totImpostaAliq);
|
||||||
|
iva.setFlagIvaInclusa(false);
|
||||||
} else {
|
} else {
|
||||||
totImpostaAliq = calcImposta(conn, totImponibAliq, percAliq, tipoIva, cifreDec);
|
totImpostaAliq = calcImposta(conn, totImponibAliq, percAliq, tipoIva, cifreDec);
|
||||||
}
|
}
|
||||||
@@ -890,8 +896,12 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
testata.setTotImponib(totImponib).setTotIva(totImposta);
|
testata.setTotImponib(totImponib).setTotIva(totImposta);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void addCastellettoIva(BigDecimal importoRiga, String codAliq, Boolean ventilazione, List<CtbMovi> castelletto) {
|
private static void addCastellettoIva(BigDecimal importoRiga, String codAliq, Boolean ventilazione, List<CtbMovi> castelletto, Boolean flagIvaInclusa) {
|
||||||
java.util.Optional<CtbMovi> first = castelletto.stream().filter(x -> UtilityString.equalsIgnoreCase(x.getCodAliq(), codAliq) && x.getVentilazione() == ventilazione).findFirst();
|
java.util.Optional<CtbMovi> first =
|
||||||
|
castelletto.stream()
|
||||||
|
.filter(x -> UtilityString.equalsIgnoreCase(x.getCodAliq(), codAliq) && x.getVentilazione() == ventilazione &&
|
||||||
|
x.getFlagIvaInclusa() == flagIvaInclusa)
|
||||||
|
.findFirst();
|
||||||
CtbMovi ctbMovi;
|
CtbMovi ctbMovi;
|
||||||
if (first.isPresent()) {
|
if (first.isPresent()) {
|
||||||
ctbMovi = first.get();
|
ctbMovi = first.get();
|
||||||
@@ -901,7 +911,8 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
ctbMovi = new CtbMovi()
|
ctbMovi = new CtbMovi()
|
||||||
.setCodAliq(codAliq)
|
.setCodAliq(codAliq)
|
||||||
.setVentilazione(ventilazione)
|
.setVentilazione(ventilazione)
|
||||||
.setImponibile(importoRiga);
|
.setImponibile(importoRiga)
|
||||||
|
.setFlagIvaInclusa(flagIvaInclusa);
|
||||||
}
|
}
|
||||||
castelletto.add(ctbMovi);
|
castelletto.add(ctbMovi);
|
||||||
}
|
}
|
||||||
@@ -1291,7 +1302,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
|
|
||||||
maxRigaSpesa = addAltreSpese(connection, testata, castelletto, speseCalc, maxRigaSpesa, whereCondExcSpese, cifreDec, ventilazione, flagPrzIva);
|
maxRigaSpesa = addAltreSpese(connection, testata, castelletto, speseCalc, maxRigaSpesa, whereCondExcSpese, cifreDec, ventilazione, flagPrzIva);
|
||||||
if ( maxRigaSpesa > 0)
|
if ( maxRigaSpesa > 0)
|
||||||
calcTotImponib(testata, connection, flagPrzIva, castelletto, cifreDec);
|
calcTotImponib(testata, connection, castelletto, cifreDec);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Imposta di bollo
|
//Imposta di bollo
|
||||||
@@ -1310,7 +1321,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
if (totDoc.compareTo(BigDecimal.ZERO) != 0) {
|
if (totDoc.compareTo(BigDecimal.ZERO) != 0) {
|
||||||
maxRigaSpesa = addImpostaBollo(connection, testata, castelletto, speseCalc, maxRigaSpesa, whereCondExcSpese, totDoc, ventilazione);
|
maxRigaSpesa = addImpostaBollo(connection, testata, castelletto, speseCalc, maxRigaSpesa, whereCondExcSpese, totDoc, ventilazione);
|
||||||
if (maxRigaSpesa > 0)
|
if (maxRigaSpesa > 0)
|
||||||
calcTotImponib(testata, connection, flagPrzIva, castelletto, cifreDec);
|
calcTotImponib(testata, connection, castelletto, cifreDec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1365,7 +1376,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
dtbDocs.setRiga(maxRigaSpesa);
|
dtbDocs.setRiga(maxRigaSpesa);
|
||||||
dtbDocs.setOperation(OperationType.INSERT);
|
dtbDocs.setOperation(OperationType.INSERT);
|
||||||
if (castelletto != null) {
|
if (castelletto != null) {
|
||||||
addCastellettoIva(dtbDocs.getImporto(), dtbDocs.getCodAliq(), ventilazione, castelletto);
|
addCastellettoIva(dtbDocs.getImporto(), dtbDocs.getCodAliq(), ventilazione, castelletto, false);
|
||||||
}
|
}
|
||||||
speseCalc.add(dtbDocs);
|
speseCalc.add(dtbDocs);
|
||||||
|
|
||||||
@@ -1504,7 +1515,7 @@ public class DocOrdCalTotaliRules extends QueryRules {
|
|||||||
maxRigaSpesa = setDtbDocs(testata, castelletto, spesa, BigDecimal.ZERO, importo, speseCalc, maxRigaSpesa, ventilazione);
|
maxRigaSpesa = setDtbDocs(testata, castelletto, spesa, BigDecimal.ZERO, importo, speseCalc, maxRigaSpesa, ventilazione);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
calcTotImponib(testata, connection, flagPrzIva, castelletto, cifreDec);
|
calcTotImponib(testata, connection, castelletto, cifreDec);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
calcolo spese sul totale del documento
|
calcolo spese sul totale del documento
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ public class CtbMovi extends EntityBase {
|
|||||||
|
|
||||||
private String flagMarcaDaBollo;
|
private String flagMarcaDaBollo;
|
||||||
private String tipoIva;
|
private String tipoIva;
|
||||||
|
private Boolean flagIvaInclusa;
|
||||||
|
|
||||||
public CtbMovi() {
|
public CtbMovi() {
|
||||||
super(logger);
|
super(logger);
|
||||||
@@ -217,4 +218,13 @@ public class CtbMovi extends EntityBase {
|
|||||||
this.tipoIva = tipoIva;
|
this.tipoIva = tipoIva;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean getFlagIvaInclusa() {
|
||||||
|
return flagIvaInclusa;
|
||||||
|
}
|
||||||
|
|
||||||
|
public CtbMovi setFlagIvaInclusa(Boolean flagIvaInclusa) {
|
||||||
|
this.flagIvaInclusa = flagIvaInclusa;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user