aggiunta campo codice ristocloud

This commit is contained in:
Francesco Di Sciascio 2025-04-30 12:01:33 +02:00
parent 73e46947cd
commit 4c80fdcdb3
7 changed files with 22 additions and 10 deletions

View File

@ -126,6 +126,7 @@ object PrenotazioniPastiTable : IdTable<Long>("prenotazioni_pasti"){
val idResidenza = long("id_residenza").nullable() val idResidenza = long("id_residenza").nullable()
val idVassoio = long("id_vassoio") val idVassoio = long("id_vassoio")
val importoPagato = double("importo_pagato") val importoPagato = double("importo_pagato")
val codiceRistocloud = varchar("codice_ristocloud", 255).nullable()
} }
object PrenotazioniPastiDettaglioTable : IdTable<Long>("prenotazioni_pasti_dettaglio"){ object PrenotazioniPastiDettaglioTable : IdTable<Long>("prenotazioni_pasti_dettaglio"){
@ -257,6 +258,7 @@ class PrenotazioniPastiDao(id: EntityID<Long>) :LongEntity(id){
val idResidenza by PrenotazioniPastiTable.idResidenza val idResidenza by PrenotazioniPastiTable.idResidenza
val idVassoio by PrenotazioniPastiTable.idVassoio val idVassoio by PrenotazioniPastiTable.idVassoio
val importoPagato by PrenotazioniPastiTable.importoPagato val importoPagato by PrenotazioniPastiTable.importoPagato
val codiceRistocloud by PrenotazioniPastiTable.codiceRistocloud
} }
class PrenotazioniPastiDettaglioDao(id: EntityID<Long>) :LongEntity(id){ class PrenotazioniPastiDettaglioDao(id: EntityID<Long>) :LongEntity(id){
@ -404,7 +406,8 @@ fun prenotazioniPastiDaoToModel(dao: PrenotazioniPastiDao) : PrenotazioniPasti{
dao.idSlotPuntoCassa, dao.idSlotPuntoCassa,
dao.idResidenza, dao.idResidenza,
dao.idVassoio, dao.idVassoio,
dao.importoPagato dao.importoPagato,
dao.codiceRistocloud
) )
} }

View File

@ -5,7 +5,7 @@ import kotlinx.serialization.Serializable
@Serializable @Serializable
data class Prenotazioni( data class Prenotazioni(
val id: Long? = null, val id: Long? = null,
val codicePrenotazione: String? = null, val codiceRistocloud: String? = null,
val idTessera : Long, val idTessera : Long,
val idSlotPuntoCassa : Long, val idSlotPuntoCassa : Long,
val giorno : String? = null, val giorno : String? = null,

View File

@ -9,5 +9,6 @@ data class PrenotazioniPasti(
val idSlotPuntoCassa : Long, val idSlotPuntoCassa : Long,
val idResidenza : Long? = null, val idResidenza : Long? = null,
val idVassoio : Long, val idVassoio : Long,
val importoPagato : Double val importoPagato : Double,
val codiceRistocloud : String? = null
) )

View File

@ -13,6 +13,7 @@ class PrenotazioniPastiRepositoryImpl : PrenotazioniPastiRepository {
it[idResidenza] = prenotazionePasto.idResidenza it[idResidenza] = prenotazionePasto.idResidenza
it[idVassoio] = prenotazionePasto.idVassoio it[idVassoio] = prenotazionePasto.idVassoio
it[importoPagato] = prenotazionePasto.importoPagato it[importoPagato] = prenotazionePasto.importoPagato
it[codiceRistocloud] = prenotazionePasto.codiceRistocloud
}.value }.value
PrenotazioniPasti( PrenotazioniPasti(
@ -21,7 +22,8 @@ class PrenotazioniPastiRepositoryImpl : PrenotazioniPastiRepository {
prenotazionePasto.idSlotPuntoCassa, prenotazionePasto.idSlotPuntoCassa,
prenotazionePasto.idResidenza, prenotazionePasto.idResidenza,
prenotazionePasto.idVassoio, prenotazionePasto.idVassoio,
prenotazionePasto.importoPagato prenotazionePasto.importoPagato,
prenotazionePasto.codiceRistocloud
) )
} }
} }

View File

@ -8,5 +8,5 @@ interface SlotOrariRepository {
suspend fun idResidenzaByIdSlotOrario(idSlot : Long) : Long? suspend fun idResidenzaByIdSlotOrario(idSlot : Long) : Long?
suspend fun slotOrarioById(idSlot : Long) : SlotOrari suspend fun slotOrarioById(idSlot : Long) : SlotOrari?
} }

View File

@ -30,9 +30,9 @@ class SlotOrariRepositoryImpl : SlotOrariRepository {
.idResidenza .idResidenza
} }
override suspend fun slotOrarioById(idSlot : Long) : SlotOrari = suspendTransaction { override suspend fun slotOrarioById(idSlot : Long) : SlotOrari? = suspendTransaction {
SlotPrenotabiliDao.find{ SlotPrenotabiliTable.id eq idSlot } SlotPrenotabiliDao.find{ SlotPrenotabiliTable.id eq idSlot }
.single() // Restituisce un singolo risultato o null se non trovato .singleOrNull() // Restituisce un singolo risultato o null se non trovato
.let { slotOrariDaoToModel(it) } // Converte il DAO in un oggetto SlotOrari ?.let { slotOrariDaoToModel(it) } // Converte il DAO in un oggetto SlotOrari
} }
} }

View File

@ -20,6 +20,11 @@ fun Route.prenotazioni(prenotazioniPastiRepository: PrenotazioniPastiRepository,
val prenotazioneRequest = call.receive<Prenotazioni>() val prenotazioneRequest = call.receive<Prenotazioni>()
//recupera lo slot orario selezionato //recupera lo slot orario selezionato
val idSlotOrario = slotOrariRepository.slotOrarioById(prenotazioneRequest.idSlotPuntoCassa) val idSlotOrario = slotOrariRepository.slotOrarioById(prenotazioneRequest.idSlotPuntoCassa)
if(idSlotOrario == null){
call.respond(HttpStatusCode.BadRequest,"Slot orario non esistente")
return@post
}
val prenotazionePasto = PrenotazioniPasti( val prenotazionePasto = PrenotazioniPasti(
-1, -1,
@ -27,7 +32,8 @@ fun Route.prenotazioni(prenotazioniPastiRepository: PrenotazioniPastiRepository,
prenotazioneRequest.idSlotPuntoCassa, prenotazioneRequest.idSlotPuntoCassa,
idSlotOrario.idResidenza, idSlotOrario.idResidenza,
prenotazioneRequest.idVassoio, prenotazioneRequest.idVassoio,
prenotazioneRequest.importoPagato prenotazioneRequest.importoPagato,
prenotazioneRequest.codiceRistocloud
) )
//Inserisci la prenotazione nel database //Inserisci la prenotazione nel database
@ -49,7 +55,7 @@ fun Route.prenotazioni(prenotazioniPastiRepository: PrenotazioniPastiRepository,
//restituisci la prenotazione //restituisci la prenotazione
val prenotazione = Prenotazioni( val prenotazione = Prenotazioni(
prenotazioneInserita.id, prenotazioneInserita.id,
prenotazioneRequest.codicePrenotazione, prenotazioneRequest.codiceRistocloud,
prenotazioneInserita.idTessera, prenotazioneInserita.idTessera,
prenotazioneInserita.idSlotPuntoCassa, prenotazioneInserita.idSlotPuntoCassa,
idSlotOrario.giorno, idSlotOrario.giorno,