diff --git a/src/main/kotlin/eu/maiora/routes/DisponibilitaArticoli.kt b/src/main/kotlin/eu/maiora/routes/DisponibilitaArticoli.kt index 788957c..bcd0262 100644 --- a/src/main/kotlin/eu/maiora/routes/DisponibilitaArticoli.kt +++ b/src/main/kotlin/eu/maiora/routes/DisponibilitaArticoli.kt @@ -9,6 +9,7 @@ import io.ktor.server.auth.jwt.* import io.ktor.server.response.* import io.ktor.server.routing.* import kotlin.collections.ArrayList +import kotlin.math.round fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQRicambiRepository, @@ -93,10 +94,17 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR listNumPezziPerMagazzino.add(NumPezziPerMagazzino(e.magazzino, e.numeroPezzi.toString())) } + //calcolo del netto: + //se il prezzo è valorizzato, utilizzare gli sconti, altrimenti va restituito il valore del campo netto + val netto = if(data[0].prezzo > 0) + calcolaNetto(data[0].prezzo, data[0].sconto) + else + data[0].netto + val result = DisponibilitaArticoli(articoloEcommerce.codice, articoloEcommerce.descrizione, listArticoliCrossQRicambi[0].costruttore, - data[0].netto.toString(), + netto.toString(), data[0].numeroPezzi > 0, listNumPezziPerMagazzino, dataValoreUsato?.get(0)?.valoreUsato.toString() @@ -125,4 +133,15 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR } } +} + +/*** + * calcolo del prezzo netto: utilizzare gli sconti solo se valorizzati + */ +fun calcolaNetto(prezzo : Double, sconto : Double) : Double { + var netto = prezzo + if(sconto > 0) { + netto *= (1 - sconto / 100) + } + return (round(netto * 100) / 100.0) } \ No newline at end of file