Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135

    Trasmissione report giornaliero

    Bentrovati.

    Sono qui a chiedere un consiglio su come organizzare al meglio questa situazione:

    1) Ogni giorno della settimana ( dal lunedì alla domenica, festivi compresi ) alcuni operatori registrano in un db mysql alcuni dati;

    2) questa serie di dati rimangono in stato "ATTESA" sino a quando un supervisore li visiona e li valida o meno; se li valida i dati passano in stato "APPROVATO";

    3) gli operatori sono sempre presenti sul posti di lavoro 24/24 mentre il supervisore lavora solo dal lun al ven e non lavora i festivi;

    4) i dati del giorno precedente entro le 8 del mattino del giorno dopo vanno validati e successivamente trasmessi via email a determinati personaggi che devono fare analisi sul risultato finale;

    Cosa ho fatto:

    5) visto che gestico direttamente il server ho previsto un'operazione pianificata sul server che alle ore 9 del mattino di ogni giorno, raccoglie i dati in stato "APPROVATO" del giorno precedente, li assembla e li trasmette tramite email agli interessati;

    Il problema:

    6) per i giorni lavorativi della settimana non ho problemi in quanto il supervisore o un suo sostituto fanno il lavoro di validazione e quindi l'operazione pianificata va a buon fine: mi nasce il problema il fine settimana o i giorni festivi, in quanto il supervisore potrà validare i dati del sab e della dom o del festivo soltanto al suo rientro al lavoro.

    Così facendo il sabato mattina ( si inviano i dati inseriti il venerdì prec ) i dati non saranno validati e l'operazione pianificata non invia nulla.

    Così facendo la domenica mattina ( si inviano i dati inseriti il sabato prec ) i dati non saranno validati e l'operazione pianificata non invia nulla.

    Alla fine il lunedì mattina il supervisore convalida i dati di venerdì, sabato e domenica ma i determinati personaggi che devono fare analisi sul risultato finale, in realtà, riceveranno solo quelli della domenica, senza avere il resoconto dei giorni di ven e sab.

    Avete qualche idea su come gestire questa problematica?

    Spero di essere riuscito a spiegare questa situaizone arzigogolata.

    Grazie a chi mi darà indicazioni utili.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  2. #2
    dopo che hai spedito, cambia lo stato in "spedito". così ogni volta riprendi TUTTI gli approvato

  3. #3
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    dopo che hai spedito, cambia lo stato in "spedito". così ogni volta riprendi TUTTI gli approvato
    Grazie a aver risposto.

    Non so se ho capito bene il tuo suggerimento, ma al momento questa è la query che estrae i dati del giorno precedente:

    codice:
        
        strDATAEVENTO = DateAdd("d", -1, Date())
    
        SQL = "SELECT * FROM "
        SQL = SQL & " tbl_dati "
        SQL = SQL & " WHERE "
        SQL = SQL & " DATA_EVENTO = '" & strDATAEVENTO & "' "
        SQL = SQL & " STATO = 'approvato' "
        SQL = SQL & " ORDER BY ID asc"
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  4. #4
    no, evidentemente non hai capito (molto probabilmente perché sono stato io poco chiaro).

    ho suggerito di cambiare lo stato del record dopo la sua trasmissione, cosicché tu possa estrarre tutti gli approvati indipendentemente dalla data.

    avrai infatti tre stati
    - attesa
    - approvato
    - spedito

    medita, trodino


  5. #5
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Grazie per l'invito a meditare e per gli utili spunti di riflessione che mi hanno aiutato ad arrivare ad una possibile soluzione.

    Partendo dal fatto che per me il paletto della data è irremovibile e che posso prevedere diverse operazioni pianificate sul server, mi sono organizzato così:

    1) un'operazione pianificata sul server che alle ore 9 del mattino dei 5 giorni lavorativi ( lun - ven ), raccoglie i dati in stato "APPROVATO" del giorno precedente strDATAEVENTO = DateAdd("d", -1, Date()) , li assembla e li trasmette tramite email agli interessati;

    2) un'operazione pianificata sul server che alle ore 9.05 del mattino di ogni lunedì, raccoglie i dati in stato "APPROVATO" del venerdì precedente strDATAEVENTO = DateAdd("d", -3, Date()), li assembla e li trasmette tramite email agli interessati;

    3) un'operazione pianificata sul server che alle ore 9.10 del mattino di ogni lunedì, raccoglie i dati in stato "APPROVATO" del sabato precedente strDATAEVENTO = DateAdd("d", -2, Date()), li assembla e li trasmette tramite email agli interessati;

    Che ne dite?
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  6. #6
    trodino, col mio ragionamento il 'paletto' della data non viene manco sfiorato. a meno che tu NON possa variare lo stato...

  7. #7
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    trodino, col mio ragionamento il 'paletto' della data non viene manco sfiorato. a meno che tu NON possa variare lo stato...
    Si, il problema è proprio questo: non mi è stato consentito di variare lo stato da APPROVATO a SPEDITO... potevo prevedere un' ulteriore colonna nella tabella da chiamare STATO_SPEDIZIONE ma avrei in qualche modo rimettere le mani a tutto lo script.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  8. #8
    io farei comunque degli sforzi (ma parlo per me). fatti una tabella parallela (dove metti l'ID del record trattato) e lavori di JOIN. Se un domani devi fare un report ti trovi le info già pronte

  9. #9
    Utente di HTML.it L'avatar di [trodat]
    Registrato dal
    Oct 2004
    Messaggi
    2,135
    Originariamente inviato da optime
    io farei comunque degli sforzi (ma parlo per me). fatti una tabella parallela (dove metti l'ID del record trattato) e lavori di JOIN. Se un domani devi fare un report ti trovi le info già pronte
    Spiegami meglio per favore.
    Lo Stato dà un posto. L’impresa privata dà un lavoro. – Indro Montanelli

  10. #10
    ti fai una nuova tabella, chiamala ad esempio sendlog, fatta così

    ID -- id autoincrementante
    ID_tbldati -- corrispondente all'id dell'altra tabella
    STATUS -- integer
    SEND_DATE -- data

    status potrà valere 10 (ATTESA), 20 (APPROVATO), 30 (SPEDITO)

    come prima cosa inserirai in SENDLOG gli ID_tbldati che ancora non ci sono
    poi spedirai i record con status=20 (lavorerai di JOIN)
    quelli che spedisci li marchi 30, registrando la data di spedizione

    inizia a farlo, è più semplice di quello che pare

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.