2
0
forked from maiora/backend-api

aggiunta parametri

nome utente qricambi e id cliente qricambi
This commit is contained in:
Francesco Di Sciascio 2025-04-01 14:59:55 +02:00
parent e2b0d03fc9
commit 8a23aafdb3
3 changed files with 9 additions and 60 deletions

View File

@ -1,18 +1,13 @@
package eu.maiora.model
import eu.maiora.db.*
import org.jetbrains.exposed.sql.Expression
import eu.maiora.loadConfig
import org.jetbrains.exposed.sql.LongColumnType
import org.jetbrains.exposed.sql.ResultRow
import org.jetbrains.exposed.sql.or
class ViewEcommercePrezSconDispRepositoryImpl : ViewEcommercePrezSconDispRepository {
override suspend fun disponibilitaByIdArtIdClie(idCliente: Long, idArticolo : Long): List<ViewEcommercePrezSconDisp>? = suspendTransaction {
// Cerca le disponibilità e i prezzi dato articolo e cliente dalla table function ViewEcommercePrezSconDispTable
/*ViewEcommercePrezSconDispDAO.find { ViewEcommerceArticoliTable.codice eq codice }
.toList() // Restituisce un singolo risultato o null se non trovato
.map { viewEcommerceArticoliDaoToModel(it) } // Converte il DAO in un oggetto ViewEcommerceArticoli
*/
val properties = loadConfig()
val result = exec("SELECT * FROM dbo.Get_Prez_Scon_Disp(?, ?)", listOf(
LongColumnType() to idCliente,
@ -21,7 +16,7 @@ class ViewEcommercePrezSconDispRepositoryImpl : ViewEcommercePrezSconDispReposit
val list = mutableListOf<ViewEcommercePrezSconDisp>()
while (rs.next()) {
val element : ViewEcommercePrezSconDisp
if(idCliente == 10000023706){
if(idCliente == properties.getProperty("qricambi.id").toLong()){
element = ViewEcommercePrezSconDisp(
id = rs.getLong("id"),
idCliente = rs.getLong("id_cliente"),

View File

@ -1,10 +1,7 @@
package eu.maiora.model
import eu.maiora.db.*
import org.jetbrains.exposed.sql.Expression
import org.jetbrains.exposed.sql.LongColumnType
import org.jetbrains.exposed.sql.ResultRow
import org.jetbrains.exposed.sql.or
class ViewEcommerceValoreUsatoRepositoryImpl : ViewEcommerceValoreUsatoRepository {
override suspend fun getValoreByIdArtIdClie(idCliente: Long, idArticolo : Long): List<ViewEcommerceValoreUsato>? = suspendTransaction {
@ -17,33 +14,12 @@ class ViewEcommerceValoreUsatoRepositoryImpl : ViewEcommerceValoreUsatoRepositor
val list = mutableListOf<ViewEcommerceValoreUsato>()
while (rs.next()) {
val element : ViewEcommerceValoreUsato
//if(idCliente == 10000023706){
element = ViewEcommerceValoreUsato(
id = rs.getLong("id"),
idCliente = rs.getLong("id_cliente"),
idArticolo = rs.getLong("id_articolo"),
valoreUsato = rs.getDouble("valore_usato")
)
//}
//else {
/*element = ViewEcommerceValoreUsato(
id = rs.getLong("id"),
idCliente = rs.getLong("id_cliente"),
idArticolo = rs.getLong("id_articolo"),
idMagazzino = rs.getLong("id_magazzino"),
magazzino = rs.getString("magazzino"),
valoreCarcassa = rs.getDouble("valore_carcassa"),
prezzo = rs.getDouble("prezzo"),
sconto = rs.getDouble("sconto"),
sconto1 = rs.getDouble("sconto_1"),
sconto2 = rs.getDouble("sconto_2"),
sconto3 = rs.getDouble("sconto_3"),
netto = rs.getDouble("netto"),
numeroPezzi = rs.getInt("numero_pezzi")
)*/
//}
list.add(element)
}

View File

@ -1,5 +1,6 @@
package eu.maiora.routes
import eu.maiora.loadConfig
import eu.maiora.model.*
import io.ktor.http.*
import io.ktor.server.application.*
@ -7,6 +8,7 @@ import io.ktor.server.auth.*
import io.ktor.server.auth.jwt.*
import io.ktor.server.response.*
import io.ktor.server.routing.*
import kotlin.collections.ArrayList
fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQRicambiRepository,
@ -27,10 +29,6 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
return@get
}
//TODO verifica utente loggato: se è qricambi partner, richiesta generica,
// altrimenti richiesta puntuale
// al momento gestiamo solo richiesta generica per tutti
//ricerca del codice articolo
//- verifico che il codice esista nel sistema interno, ovvero nella tabella ARTICOLI_CROSS_QRICAMBI
// la ricerca va effettuata prima per CODICE_ARTICOLO e poi per CODICE_CROSS
@ -38,21 +36,18 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
//- altrimenti, recupero l'id dell'articolo dalla vista VIEW_ECOMMERCE_ARTICOLI
// e tutti i dati da mostrare (vedi GET_PREZ_SCON_DISP, named query in ViewEcommercePrezSconDisp)
if(username.equals("qricambi")){
val idClienteQRicambi = 10000023706
val properties = loadConfig()
if(username.equals(properties.getProperty("qricambi.username").toString())){
val idClienteQRicambi = properties.getProperty("qricambi.id").toLong()
val listArticoliCrossQRicambi = articoliCrossQRicambiRepository.articoloByCodArt(codiceArticolo)
if(listArticoliCrossQRicambi.isNotEmpty()){
//call.respond(listArticoliCrossQRicambi)
val articoloEcommerce = viewEcommerceArticoliRepository.articoloByCodice(listArticoliCrossQRicambi[0].codiceArticolo)
if(articoloEcommerce != null){
//call.respond(articoloEcommerce)
val dataValoreUsato = viewEcommerceValoreUsatoRepository.getValoreByIdArtIdClie(idClienteQRicambi, articoloEcommerce.id)
val data = viewEcommercePrezSconDispRepository.disponibilitaByIdArtIdClie(idClienteQRicambi, articoloEcommerce.id)
if(data != null){
var listNumPezziPerMagazzino = ArrayList<NumPezziPerMagazzino>()
/*data.forEach { e ->
listNumPezziPerMagazzino.add(NumPezziPerMagazzino(e.magazzino, e.numeroPezzi.toString()))
}*/
var numPezziDisponibili = 0;
data.forEach { e ->
numPezziDisponibili += e.numeroPezzi
@ -88,10 +83,8 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
if(cliente != null){
val listArticoliCrossQRicambi = articoliCrossQRicambiRepository.articoloByCodArt(codiceArticolo)
if(!listArticoliCrossQRicambi.isEmpty()){
//call.respond(listArticoliCrossQRicambi)
val articoloEcommerce = viewEcommerceArticoliRepository.articoloByCodice(listArticoliCrossQRicambi[0].codiceArticolo)
if(articoloEcommerce != null){
//call.respond(articoloEcommerce)
val dataValoreUsato = viewEcommerceValoreUsatoRepository.getValoreByIdArtIdClie(cliente.idCliente, articoloEcommerce.id)
val data = viewEcommercePrezSconDispRepository.disponibilitaByIdArtIdClie(cliente.idCliente, articoloEcommerce.id)
if(!data.isNullOrEmpty()){
@ -99,11 +92,6 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
data.forEach { e ->
listNumPezziPerMagazzino.add(NumPezziPerMagazzino(e.magazzino, e.numeroPezzi.toString()))
}
//var numPezziDisponibili = 0;
/*data.forEach { e ->
numPezziDisponibili += e.numeroPezzi
}*/
//listNumPezziPerMagazzino.add(NumPezziPerMagazzino("", numPezziDisponibili.toString()))
val result = DisponibilitaArticoli(articoloEcommerce.codice,
articoloEcommerce.descrizione,
@ -133,16 +121,6 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
}
}
// Cerca la tessera per codice fiscale
//val listaMovimenti = movimentiRepository.movimentiByIdTessera(idTessera.toLong())
/*if (listaMovimenti != null) {
call.respond(listaMovimenti)
} else {
call.respondText("Movimenti non trovati", status = HttpStatusCode.NotFound)
}*/
}
}