Vai al contenuto

COGZCC — Stampa agenda per operatore

Campo Valore
Sorgente cbl/cogzcc.cbl
Program-ID cogzcc
Tipo Stampa (agenda giornaliera in HP-GL/2)
Posizione menu Lab.Odont. > Operativo > Impegni > Stampa agenda per operatore

Scopo

Stampa l'agenda giornaliera di lavoro di un operatore in formato calendario: una pagina per ciascun giorno, con gli appuntamenti/attivita' pianificati in ordine di ora, la descrizione del lavoro (studio/paziente/uscita/commessa), l'ora di inizio e l'ora di fine prevista. L'operatore sceglie l'operatore, la data di partenza e il numero di giorni da stampare (1-7); il programma produce una stampa grafica (HP-GL/2) tramite la scelta stampante standard COGS54. E' richiamabile a menu oppure chiamato da altri programmi passando operatore e data (cogzcc-called = "cogzcc-CALLED").

File e tabelle

Tabella Accesso Descrizione
CRMATTOP (crp-) lettura sequenziale (chiave .k02 per operatore + data) Attivita' pianificate per operatore/data (aggancio all'attivita' agenda)
CRMATTIV (crt-) lettura Attivita' agenda (provenienza "LO" = laboratorio, aggancio a impegno/commessa)
CRMAGAPP (agp-) lettura sequenziale Appuntamenti agenda per attivita' (ora reale di inizio, operatore, data)
CRMAGASP (asp-) lettura sequenziale Sotto-appuntamenti/slot dell'attivita' (usati per calcolare l'ora di fine)
LODIMPDT (imd-) lettura sequenziale (chiavi .k02, .k04 per attivita', .k05) Dettaglio impegni pianificati (commessa, ora fine, gruppo azione)
CLOIMPDT (clone imd) lettura sequenziale (chiave .k05) Clone impegni (fasi di dettaglio del gruppo azione)
CLNCMRIG (clone lcr) lettura Clone righe commessa
LODCMRIG (lcr-) lettura Righe commessa (azione)
LODCMTES (lct-) lettura Testata commessa
LODPNRIG (lpr-) lettura Righe piano (flag consegna/prova)
LODPNMAT (lmt-) lettura sequenziale Materiali/prestazioni del piano (data di uscita)
LODAZION (laz-) lettura Descrizione azione
PRNTOPER (ptop-) lettura Anagrafica operatore (descrizione, in testata)
COGTRANS (trs-) file transito temporaneo indicizzato (i-o, delete file in uscita) Appoggio commesse gia' contate per il calcolo del numero righe/pagina
FLSTA (flsta.cpy) file di stampa File dei record di stampa (righe HP-GL/2)

Copybook principali

Copybook Ruolo
cogzcc.select / .fd / .wrk / .prc / .decla Definizioni generate. La FD e i SELECT di COGTRANS sono dichiarati manualmente nel sorgente (chiave primaria trs-commessa); flsta.fd/flsta.cpy per il file di stampa
cogzcc-01.scr Screen section (parametri di stampa)
utilcogzcc.cpy Linkage di chiamata (operatore, data)
utils54.cpy Linkage COGS54 (scelta stampante / emulazione)
utilwp04.cpy / sendwp04.cpy Aiuto/ricerca operatore
utils52.cpy / utils68.cpy / utils98.cpy Campo data, subroutine, ricerca prescrizione
utilncnf.cpy Lettura configurazioni
crmattop.k02, lodimpdt.k02 / .k04 / .k05, cogtrans.k01 Chiavi secondarie aggiunte manualmente
mmmask.cpy, cogazien.cpy, wstato/wopenf/wgrave/wnscr Infrastruttura maschera GUI

Programmi chiamati

Programma Interfaccia Scopo
COGS54 util-s54 Scelta stampante e gestione stampa (emulazione HPLJ3, 78 caratteri)
COGP04/send-wp04 util-wp04 Aiuto/ricerca operatore (F8)
DTPRG / PRGDT Conversione data <-> progressivo giorni (avanzamento di giorno in giorno)
FESTA Determina il giorno della settimana e se e' festivo
COGS68W / COGS98W util-s68 / util-s98 Subroutine di supporto/ricerca prescrizione
RNEWCONF util-ncnf Lettura configurazioni

Logica di elaborazione

  • apri / a4 — inizializzazione, open-files, lettura configurazione x99-confi, costruzione del nome del transito COGTRANS (directory temporanea + operatore) e sua apertura (output per rilevare doppia esecuzione, poi i-o). Se chiamato, precarica operatore e data.
  • Testata — accept di operatore (a-tm-ope, aiuto WP04, validato su PRNTOPER), data di partenza (a-tm-data, calendario S52) e numero di giorni (a-tm-giorni, max 7). controlla-data verifica che nell'intervallo scelto (data + n. giorni) esista almeno un'attivita' per l'operatore leggendo CRMATTOP; se non c'e' alcun impegno la conferma e' rifiutata.
  • a-fine-dati — richiama COGS54 per la scelta stampante (emulazione HPLJ3), poi stampa, infine COGS54 per la chiusura stampa.
  • stampa — cicla sui tm-giorni giorni a partire dalla data: per ogni giorno fa una prima passata "di conteggio" (fl-non-stampare = "S", per calcolare il numero di righe/pagina e caricare CRMAGASP/COGTRANS), poi stampa testata (stampa-testa), dati (stampa-dati) e coda (stampa-coda); avanza di un giorno con DTPRG/PRGDT.
  • stampa-testa / intesta — disegna la cornice della pagina in HP-GL/2, la data (giorno + mese esteso + anno da w-tab-mesi), l'operatore e il giorno della settimana (da w-tab-settimana con FESTA).
  • stampa-dati — scandisce CRMATTOP per operatore/data; per ogni attivita' legge CRMATTIV e chiama stampa-riga.
  • stampa-riga — legge l'appuntamento (CRMAGAPP) e, per le attivita' di provenienza "LO" (laboratorio), risale all'impegno (LODIMPDT per attivita', chiave .k04) per ottenere commessa e ora di fine; le attivita' operatore non collegate a commessa vengono ignorate (fix del 27/06/11). Stampa l'ora reale, la descrizione del lavoro e, tramite stampa-ora-fine (che legge CRMAGASP), l'ora di fine prevista.
  • fine / z-chiudi — chiusura file, close/delete file del transito, uscita.

Configurazioni (RNEWCONF)

Gruppo Chiave Uso
labimp stampa uscita su agenda Se "S", stampa anche la data di uscita/consegna sull'agenda (colonna aggiuntiva)

Note

  • La stampa e' grafica (HP-GL/2, emulazione HPLJ3 via COGS54): il layout e' costruito con comandi di penna (PU/PD/EA/FT) e etichette posizionate a coordinate, non come stampa a caratteri.
  • Il collegamento agenda-laboratorio passa dalle tabelle CRM* (CRMATTOP/CRMATTIV/CRMAGAPP/CRMAGASP): la data e l'ora reali dell'appuntamento provengono dall'agenda, mentre commessa e ora di fine derivano dall'impegno di produzione (LODIMPDT).
  • La prima passata di conteggio serve a dimensionare correttamente la pagina prima di stampare; COGTRANS evita di ricontare la stessa commessa.