Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    Oct 2022
    Messaggi
    88
    Ho iniziato i lavori...
    Per ogni operatore ho creato una stringa contenente tutti gli appuntamenti (orario di inizio / orario di fine) divisi dai trattini. Nel creare la lista, tramite la funzione strpos sono riuscito a togliere anche gli appuntamenti identici (stesso orario di inizio e di fine). . La situazione è questa:

    04:20/04:30---05:50/06:00---13:00/13:10---14:50/15:00---15:45/16:00---17:50/18:00---18:30/18:45---20:15/20:20---22:00/22:15---00:40/00:45---00:45/00:50---07:15/07:30---06:50/07:00---14:00/14:10---15:50/16:00---16:45/17:00---18:50/19:00---21:15/21:20---23:00/23:15---01:40/01:45---01:45/01:50---19:30/19:45---08:15/08:30---16:20/16:30---22:15/22:30---23:15/23:30---15:00/15:10---20:30/20:45---05:30/05:45---06:30/06:45---16:00/16:10---16:50/17:00---17:00/17:15---18:45/19:00---18:00/18:15---19:45/20:00

    Ora, tramite la funzione explode, creo un array sfruttando questa lista e subito dopo lo riordino in ordine crescente (i trattini li rimetto solo per la stampa):

    00:40/00:45---00:45/00:50---01:40/01:45---01:45/01:50---04:20/04:30---05:30/05:45---05:50/06:00---06:30/06:45---06:50/07:00---07:15/07:30---08:15/08:30---13:00/13:10---14:00/14:10---14:50/15:00---15:00/15:10---15:45/16:00---15:50/16:00---16:00/16:10---16:20/16:30---16:45/17:00---16:50/17:00---17:00/17:15---17:50/18:00---18:00/18:15---18:30/18:45---18:45/19:00---18:50/19:00---19:30/19:45---19:45/20:00---20:15/20:20---20:30/20:45---21:15/21:20---22:00/22:15---22:15/22:30---23:00/23:15---23:15/23:30

    A questo punto c'è un modo per unire gli appuntamenti che si accavallano e quelli che sono già uniti, perché non ci sono minuti di intervallo (es. 22:00/22:15 con 22:16/22:35)?

    Diciamo che mi potrei già accontentare, perché si riesce a risalire agli orari disponibili. E' anche vero che visualizzare direttamente gli orari disponibili sarebbe tutta un'altra cosa. A questo punto come mi consigliate di procedere?
    Ultima modifica di jip77; 23-02-2023 a 22:21

  2. #12
    Utente di HTML.it
    Registrato dal
    Oct 2022
    Messaggi
    88
    Per adesso sono riuscito ad unire due appuntamenti che si accavallano, ma se ne sono più di due che si susseguono, ho ancora qualche problema:

    00:40/00:50---01:40/01:50---04:20/04:30---05:30/05:45---05:50/06:00---06:30/06:45---06:50/07:00---07:15/07:30---08:15/08:30---13:00/13:10---14:00/14:10---14:50/15:10---15:45/16:00---15:50/16:10---16:20/16:30---16:45/17:00---16:50/17:15---17:50/18:15---18:30/19:00---18:45/19:00---19:30/20:00---20:15/20:20---20:30/20:45---21:15/21:20---22:00/22:30---23:00/23:30

  3. #13
    visto che non puoi lavorare con la tabella, predisponi una matrice di 1440 elementi e riempila con gli appuntamenti già presi (metti a 1 dal minuto di inizio al minuto di fine). i periodi a zero sono quelli liberi

  4. #14
    Utente di HTML.it
    Registrato dal
    Oct 2022
    Messaggi
    88
    Intanto sono riuscito a fare un'ulteriore scrematura (da 36 ne sono rimasti 22). Ho tolto anche i casi in cui sono più di 2 appuntamenti che si accavallano in successione. Ho gli elementi in un array, ma per la stampa ho usato i trattini per dividerli:

    00:40/00:50---01:40/01:50---04:20/04:30---05:30/05:45---05:50/06:00---06:30/06:45---06:50/07:00---07:15/07:30---08:15/08:30---13:00/13:10---14:00/14:10---14:50/15:10---15:45/16:10---16:20/16:30---16:45/17:15---17:50/18:15---18:30/19:00---19:30/20:00---20:15/20:20---20:30/20:45---21:15/21:20---22:00/22:30---23:00/23:30

    Quote Originariamente inviata da optime Visualizza il messaggio
    visto che non puoi lavorare con la tabella, predisponi una matrice di 1440 elementi e riempila con gli appuntamenti già presi (metti a 1 dal minuto di inizio al minuto di fine). i periodi a zero sono quelli liberi
    Qui mi serve un aiuto, è al di sopra delle mie possibilità

  5. #15
    Quote Originariamente inviata da jip77 Visualizza il messaggio
    Purtroppo non posso fare un database, però credo si possa fare la stessa cosa con un array dove ci sono tutti i minuti della giornata e dal quale andrò poi ad eliminare i minuti dei vari appuntamenti.

    Una cosa che non ho specificato è che devo fare questa cosa per ogni operatore, quindi ho la necessità di ricavare questi spazi liberi per ogni operatore, ecco perché sto cercando di complicarmi il meno possibile la vita.
    Puoi sempre valutare un database NEL browser....
    Per la tua necessità potrebbe andare bene.
    Se e ripeto SE sono informazioni specifiche per l'utente e solo l'utente può accedervi, ovvero io, Mario, creo gli appuntamenti e Giuseppe non deve sapere quando Mario è libero, allora puoi usare un IndexDB: https://developer.mozilla.org/en-US/...sing_IndexedDB

    Se invece Giuseppe deve poter sapere quando Mario è libero, POTRESTI usare un IndexDB, mettendo un temporizzatore che ogni tot va a "ricostruire" il db locale prendendo i dati dal "db" del server oppure con una funzione di "check_consistency" che chiami ogni volta che ci si muove nell'applicazione (si invia un form, si clicca un pulsante, si cambia pagina ecc ecc): se il "check" dice "ho un aggiornamento", allora eseguirai una serie di update/delete/insert nel db locale in accordo con le nuove informazioni del db remoto.

    Il tuo db remoto può benissimo essere un file come dici tu, semplicemente avrai un ulteriore file di supporto dove memorizzi "c'è un cambiamento", "questo è il cambiamento" e "questi clienti devono ancora aggiornare il db locale". Qualcosa di questo tipo
    codice:
    db:appuntamenti, name:mario, age:42, update:{mario:luigi}
    dove db:appuntamenti indica qual'è il db locale da aggiornare, name:mario indica la chiave univoca del dato che andrà aggiornato, age:42 indica che va aggiornato il valore del campo "age" con il nuovo valore 42, update:{mario:luigi} indica che mario e luigi devono ancora aggiornare questo dato nel loro db locale.

    Sembra complesso ma se leggi un po' di documentazione e fai qualche esperimento semplice vedrai che forse può fare al caso tuo

  6. #16
    Utente di HTML.it
    Registrato dal
    Oct 2022
    Messaggi
    88
    Ho capito il tuo ragionamento, ma nel mio caso "il gioco non vale la candela". Mi spiego meglio... Scarico dal portale (con il quale lavoro, ma che non ho realizzato io) in formato excel tutta la lista degli appuntamenti futuri. Devo creare un nuovo appuntamento per un operatore, e se l'orario si accavalla con un altro appuntamento, sono almeno 5 minuti di tempo perso per rifare tutto da capo e non esagero (oltre al nervosismo accumulato), anche perché potrei inserire più volte un orario non valido . Quindi, con quello che sto cercando di fare, ho una lista di orari disponibili che sicuramente andranno a buon fine qualsiasi giorno io programmi l'appuntamento. Purtroppo, come ho già detto, mi baso su un file scaricato. Se ora utilizzo un orario libero per un appuntamento futuro, più tardi mi dovrò ricordare di non utilizzare lo stesso orario, altrimenti siamo punto e a capo. Scaricare il file excel mi porta via quasi una mezz'oretta. Diciamo che il programma che utilizzo per lavoro, oltre ad essere estremamente lento, fa un po' acqua da tutte le parti.

    Tutto sommato però sono soddisfatto anche con il risultato che ho raggiunto, cioè con gli orari NON disponibili e penso di fermarmi più.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.