forked from maiora/backend-api
Compare commits
No commits in common. "b047fec3ac7975e428ebfa30335430d4320f7ce2" and "d569e04cc8e3ad388d7001aba8dc47fec0876f8e" have entirely different histories.
b047fec3ac
...
d569e04cc8
@ -1,13 +1,18 @@
|
|||||||
package eu.maiora.model
|
package eu.maiora.model
|
||||||
|
|
||||||
import eu.maiora.db.*
|
import eu.maiora.db.*
|
||||||
import eu.maiora.loadConfig
|
import org.jetbrains.exposed.sql.Expression
|
||||||
import org.jetbrains.exposed.sql.LongColumnType
|
import org.jetbrains.exposed.sql.LongColumnType
|
||||||
|
import org.jetbrains.exposed.sql.ResultRow
|
||||||
|
import org.jetbrains.exposed.sql.or
|
||||||
|
|
||||||
class ViewEcommercePrezSconDispRepositoryImpl : ViewEcommercePrezSconDispRepository {
|
class ViewEcommercePrezSconDispRepositoryImpl : ViewEcommercePrezSconDispRepository {
|
||||||
override suspend fun disponibilitaByIdArtIdClie(idCliente: Long, idArticolo : Long): List<ViewEcommercePrezSconDisp>? = suspendTransaction {
|
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
|
// Cerca le disponibilità e i prezzi dato articolo e cliente dalla table function ViewEcommercePrezSconDispTable
|
||||||
val properties = loadConfig()
|
/*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 result = exec("SELECT * FROM dbo.Get_Prez_Scon_Disp(?, ?)", listOf(
|
val result = exec("SELECT * FROM dbo.Get_Prez_Scon_Disp(?, ?)", listOf(
|
||||||
LongColumnType() to idCliente,
|
LongColumnType() to idCliente,
|
||||||
@ -16,7 +21,7 @@ class ViewEcommercePrezSconDispRepositoryImpl : ViewEcommercePrezSconDispReposit
|
|||||||
val list = mutableListOf<ViewEcommercePrezSconDisp>()
|
val list = mutableListOf<ViewEcommercePrezSconDisp>()
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
val element : ViewEcommercePrezSconDisp
|
val element : ViewEcommercePrezSconDisp
|
||||||
if(idCliente == properties.getProperty("qricambi.id").toLong()){
|
if(idCliente == 10000023706){
|
||||||
element = ViewEcommercePrezSconDisp(
|
element = ViewEcommercePrezSconDisp(
|
||||||
id = rs.getLong("id"),
|
id = rs.getLong("id"),
|
||||||
idCliente = rs.getLong("id_cliente"),
|
idCliente = rs.getLong("id_cliente"),
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
package eu.maiora.model
|
package eu.maiora.model
|
||||||
|
|
||||||
import eu.maiora.db.*
|
import eu.maiora.db.*
|
||||||
|
import org.jetbrains.exposed.sql.Expression
|
||||||
import org.jetbrains.exposed.sql.LongColumnType
|
import org.jetbrains.exposed.sql.LongColumnType
|
||||||
|
import org.jetbrains.exposed.sql.ResultRow
|
||||||
|
import org.jetbrains.exposed.sql.or
|
||||||
|
|
||||||
class ViewEcommerceValoreUsatoRepositoryImpl : ViewEcommerceValoreUsatoRepository {
|
class ViewEcommerceValoreUsatoRepositoryImpl : ViewEcommerceValoreUsatoRepository {
|
||||||
override suspend fun getValoreByIdArtIdClie(idCliente: Long, idArticolo : Long): List<ViewEcommerceValoreUsato>? = suspendTransaction {
|
override suspend fun getValoreByIdArtIdClie(idCliente: Long, idArticolo : Long): List<ViewEcommerceValoreUsato>? = suspendTransaction {
|
||||||
@ -14,12 +17,33 @@ class ViewEcommerceValoreUsatoRepositoryImpl : ViewEcommerceValoreUsatoRepositor
|
|||||||
val list = mutableListOf<ViewEcommerceValoreUsato>()
|
val list = mutableListOf<ViewEcommerceValoreUsato>()
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
val element : ViewEcommerceValoreUsato
|
val element : ViewEcommerceValoreUsato
|
||||||
|
//if(idCliente == 10000023706){
|
||||||
element = ViewEcommerceValoreUsato(
|
element = ViewEcommerceValoreUsato(
|
||||||
id = rs.getLong("id"),
|
id = rs.getLong("id"),
|
||||||
idCliente = rs.getLong("id_cliente"),
|
idCliente = rs.getLong("id_cliente"),
|
||||||
idArticolo = rs.getLong("id_articolo"),
|
idArticolo = rs.getLong("id_articolo"),
|
||||||
valoreUsato = rs.getDouble("valore_usato")
|
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)
|
list.add(element)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package eu.maiora.routes
|
package eu.maiora.routes
|
||||||
|
|
||||||
import eu.maiora.loadConfig
|
|
||||||
import eu.maiora.model.*
|
import eu.maiora.model.*
|
||||||
import io.ktor.http.*
|
import io.ktor.http.*
|
||||||
import io.ktor.server.application.*
|
import io.ktor.server.application.*
|
||||||
@ -8,7 +7,6 @@ import io.ktor.server.auth.*
|
|||||||
import io.ktor.server.auth.jwt.*
|
import io.ktor.server.auth.jwt.*
|
||||||
import io.ktor.server.response.*
|
import io.ktor.server.response.*
|
||||||
import io.ktor.server.routing.*
|
import io.ktor.server.routing.*
|
||||||
import kotlin.collections.ArrayList
|
|
||||||
|
|
||||||
|
|
||||||
fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQRicambiRepository,
|
fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQRicambiRepository,
|
||||||
@ -29,6 +27,10 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
|
|||||||
return@get
|
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
|
//ricerca del codice articolo
|
||||||
//- verifico che il codice esista nel sistema interno, ovvero nella tabella ARTICOLI_CROSS_QRICAMBI
|
//- 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
|
// la ricerca va effettuata prima per CODICE_ARTICOLO e poi per CODICE_CROSS
|
||||||
@ -36,18 +38,21 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
|
|||||||
//- altrimenti, recupero l'id dell'articolo dalla vista VIEW_ECOMMERCE_ARTICOLI
|
//- 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)
|
// e tutti i dati da mostrare (vedi GET_PREZ_SCON_DISP, named query in ViewEcommercePrezSconDisp)
|
||||||
|
|
||||||
val properties = loadConfig()
|
if(username.equals("qricambi")){
|
||||||
|
val idClienteQRicambi = 10000023706
|
||||||
if(username.equals(properties.getProperty("qricambi.username").toString())){
|
|
||||||
val idClienteQRicambi = properties.getProperty("qricambi.id").toLong()
|
|
||||||
val listArticoliCrossQRicambi = articoliCrossQRicambiRepository.articoloByCodArt(codiceArticolo)
|
val listArticoliCrossQRicambi = articoliCrossQRicambiRepository.articoloByCodArt(codiceArticolo)
|
||||||
if(listArticoliCrossQRicambi.isNotEmpty()){
|
if(listArticoliCrossQRicambi.isNotEmpty()){
|
||||||
|
//call.respond(listArticoliCrossQRicambi)
|
||||||
val articoloEcommerce = viewEcommerceArticoliRepository.articoloByCodice(listArticoliCrossQRicambi[0].codiceArticolo)
|
val articoloEcommerce = viewEcommerceArticoliRepository.articoloByCodice(listArticoliCrossQRicambi[0].codiceArticolo)
|
||||||
if(articoloEcommerce != null){
|
if(articoloEcommerce != null){
|
||||||
|
//call.respond(articoloEcommerce)
|
||||||
val dataValoreUsato = viewEcommerceValoreUsatoRepository.getValoreByIdArtIdClie(idClienteQRicambi, articoloEcommerce.id)
|
val dataValoreUsato = viewEcommerceValoreUsatoRepository.getValoreByIdArtIdClie(idClienteQRicambi, articoloEcommerce.id)
|
||||||
val data = viewEcommercePrezSconDispRepository.disponibilitaByIdArtIdClie(idClienteQRicambi, articoloEcommerce.id)
|
val data = viewEcommercePrezSconDispRepository.disponibilitaByIdArtIdClie(idClienteQRicambi, articoloEcommerce.id)
|
||||||
if(data != null){
|
if(data != null){
|
||||||
var listNumPezziPerMagazzino = ArrayList<NumPezziPerMagazzino>()
|
var listNumPezziPerMagazzino = ArrayList<NumPezziPerMagazzino>()
|
||||||
|
/*data.forEach { e ->
|
||||||
|
listNumPezziPerMagazzino.add(NumPezziPerMagazzino(e.magazzino, e.numeroPezzi.toString()))
|
||||||
|
}*/
|
||||||
var numPezziDisponibili = 0;
|
var numPezziDisponibili = 0;
|
||||||
data.forEach { e ->
|
data.forEach { e ->
|
||||||
numPezziDisponibili += e.numeroPezzi
|
numPezziDisponibili += e.numeroPezzi
|
||||||
@ -83,8 +88,10 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
|
|||||||
if(cliente != null){
|
if(cliente != null){
|
||||||
val listArticoliCrossQRicambi = articoliCrossQRicambiRepository.articoloByCodArt(codiceArticolo)
|
val listArticoliCrossQRicambi = articoliCrossQRicambiRepository.articoloByCodArt(codiceArticolo)
|
||||||
if(!listArticoliCrossQRicambi.isEmpty()){
|
if(!listArticoliCrossQRicambi.isEmpty()){
|
||||||
|
//call.respond(listArticoliCrossQRicambi)
|
||||||
val articoloEcommerce = viewEcommerceArticoliRepository.articoloByCodice(listArticoliCrossQRicambi[0].codiceArticolo)
|
val articoloEcommerce = viewEcommerceArticoliRepository.articoloByCodice(listArticoliCrossQRicambi[0].codiceArticolo)
|
||||||
if(articoloEcommerce != null){
|
if(articoloEcommerce != null){
|
||||||
|
//call.respond(articoloEcommerce)
|
||||||
val dataValoreUsato = viewEcommerceValoreUsatoRepository.getValoreByIdArtIdClie(cliente.idCliente, articoloEcommerce.id)
|
val dataValoreUsato = viewEcommerceValoreUsatoRepository.getValoreByIdArtIdClie(cliente.idCliente, articoloEcommerce.id)
|
||||||
val data = viewEcommercePrezSconDispRepository.disponibilitaByIdArtIdClie(cliente.idCliente, articoloEcommerce.id)
|
val data = viewEcommercePrezSconDispRepository.disponibilitaByIdArtIdClie(cliente.idCliente, articoloEcommerce.id)
|
||||||
if(!data.isNullOrEmpty()){
|
if(!data.isNullOrEmpty()){
|
||||||
@ -92,6 +99,11 @@ fun Route.disponibilitaArticoli(articoliCrossQRicambiRepository: ArticoliCrossQR
|
|||||||
data.forEach { e ->
|
data.forEach { e ->
|
||||||
listNumPezziPerMagazzino.add(NumPezziPerMagazzino(e.magazzino, e.numeroPezzi.toString()))
|
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,
|
val result = DisponibilitaArticoli(articoloEcommerce.codice,
|
||||||
articoloEcommerce.descrizione,
|
articoloEcommerce.descrizione,
|
||||||
@ -121,6 +133,16 @@ 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)
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user