Vai al contenuto

COGZDF — Check fotografico

Sorgente: cbl/cogzdf.cbl | Program-ID: cogzdf | Tipo: Programma interattivo GUI a due griglie con anteprima immagine (web-browser)

Menu: Lab.Odont. > Operativo > Check fotografico


Scopo

Postazione operativa che affianca le fotografie/scansioni (impronte digitali o immagini di lavori) alle prescrizioni/commesse di laboratorio, per trasformarle in nuove commesse o integrarle su commesse esistenti (flusso Odontoconnect / impronta tradizionale vs digitale).

La maschera presenta due griglie:

  • Griglia "Fotografie" (e-tm-tab2): elenca i file immagine (*.jpg, *.png) presenti nella cartella di archiviazione automatica (path-archiviazione-auto), letti dal filesystem via C$LIST-DIRECTORY. Selezionando una riga, l'immagine viene mostrata in anteprima tramite un controllo web-browser (e-tm-browser);
  • Griglia "Pre-commesse/rientri" (e-tm-tab3): elenca prescrizioni/pre-commesse e rientri di lavoro (tipo "P" = pre-commessa senza prenotazione, "N" = con prenotazione, "U" = rientro di lavoro esistente).

Sopra le griglie compaiono fino a 7 pulsanti configurabili (tm-bottone1..tm-bottone7), ciascuno associato a un tipo impianto/articolo (merce) e a un piano di fabbricazione. Premendo un pulsante, il programma verifica la combinazione di selezioni sulle due griglie (a1-verifica-sel) e determina il tipo caso (A-H), quindi crea la nuova commessa e/o allega il documento fotografico.

La griglia si aggiorna automaticamente a intervalli (cogzdf-tempo-refresh), tranne quando ci sono righe selezionate. Il programma e' attivo solo con la progettazione lab abilitata (labod-progettazione).


Tipi caso (a1-verifica-sel)

Determinati dalla combinazione foto/pre-commessa selezionate e dal tipo pre-commessa:

Caso Foto Pre-commessa Tipo Significato
A Si no Nuovo lavoro — impronta tradizionale
B Si Si "P" Nuovo lavoro Odontoconnect — impronta tradizionale
C Si Si "N" Nuovo lavoro Odontoconnect — impronta tradizionale con prenotazione
D no Si "P" Nuovo lavoro Odontoconnect — impronta digitale
E no Si "N" Nuovo lavoro Odontoconnect — impronta digitale con prenotazione
G Si Si "U" Rientro di lavoro esistente — impronta tradizionale
H no Si "U" Rientro di lavoro esistente — impronta digitale

Un caso speciale (a2-allega-documento, "Caso F") gestisce la sola integrazione di una fotografia su una commessa esistente, quando il pulsante non ha merce configurata.


File e tabelle

File Copybook (via .prc/.select) Accesso Scopo
LODPRESC Lettura/scrittura/riscrittura Prescrizioni: sorgente pre-commesse e creazione nuove commesse
LODCMTES Lettura/scrittura Testate commesse
LODCMAGG / LODCMART / LODCMASV / LODCMASI / LODCMAG2 Lettura/scrittura/riscrittura Righe/materiali/allegati della commessa (documento fotografico allegato)
LODRACCO Scrittura Raccordi commessa
COGMERCI Lettura diretta Anagrafica merci: validazione articolo del pulsante
COGANRAG Lettura diretta (classe arag-classe, tip "M") Raggruppamento articolo → tipo impianto (arag-id-padre)
COGGEANA Lettura diretta Anagrafica clienti
COGHTML FD interno (line sequential, varying) Scrittura File HTML temporaneo per l'anteprima immagine nel web-browser
transito griglia 2 (t-gor-g2) wgrid/utilgdad I-O temporaneo Righe griglia "Fotografie"
transito griglia 3 (t-gor-g3) wgrid/utilgdad I-O temporaneo Righe griglia "Pre-commesse/rientri"

Le immagini non stanno in un file indicizzato: sono file JPG/PNG letti dal filesystem con C$LIST-DIRECTORY.


Tasti funzione

Tasto Griglia Azione
F1 entrambe Ricarica dati (con avviso se ci sono righe selezionate)
F4 Fotografie Visualizza immagine originale (OPENFILE)
F5 Pre-commesse Stato commessa (COGZ50)
Invio / doppio click entrambe Seleziona/deseleziona riga (selezione singola per progressivo)
S-F4 entrambe Gestione colonne griglia (GRIDADMN)
S-F5 entrambe Esporta griglia in Excel
pulsanti 1-7 Esegue il check secondo il tipo caso (crea commessa / allega documento)

Programmi chiamati (CALL)

Programma Condizione Scopo
COGZSB apri/a4 per ogni pulsante configurato Ricerca del piano di fabbricazione (PDF) collegato al tipo impianto/articolo del pulsante (RICERCA)
COGZA6 ba-crea-nuova-commessa Creazione della nuova commessa (numero automatico, data, magazzino)
COGS98W init Gestione campi prescrizione
COGZC5 flussi di caso Subroutine gestione impegni/commessa
COGZS7 flussi di caso Subroutine di supporto commessa
COGZ50 F5 su pre-commessa Visualizza stato commessa
COGZ85 b1-dialogs (F9) Stampa etichetta (paziente/progetto)
COGU06 Subroutine di supporto
COPIAF anteprima / archiviazione Copia file (immagine su locale, ecc.)
OPENFILE F4 Apre l'immagine originale nell'applicazione predefinita
GRIDADMN S-F4 / prepara griglia Personalizzazione colonne
DIALOGS esiti creazione commessa Dialog conferma/stampa etichetta
RNEWCONF x99-load-config Lettura dei parametri di configurazione
C$LIST-DIRECTORY carica-griglia-2 Elenco file immagine nella cartella di archiviazione (utility runtime)

Copybook incluse

Working Storage

feurtab.fd, cogfiles.cpy, cogzdf.fd, cogzdf.select, cogzdf.wrk, k-tipi-cogtabel.cpy, k-personal.cpy, costanti-labod.cpy, cogzdf.tm, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, utilcogzsb.cpy, utilcogza6.cpy, utilzs7.cpy, utilcogzc5.cpy, l-copiaf.cpy, wgrid.cpy, utilgdad.cpy, utilncnf.cpy, utilu06.cpy, utilu10.cpy, k-u10.cpy, wrk-u10.cpy, utilu20.cpy, utils52.cpy, utils93.cpy, utils98.cpy, utilgesstr.cpy, utildlg.cpy, acucobol.def, utilopenfile.cpy

Linkage / Screen

wcont.cpy, utilz85.cpy, utilz50.cpy, u-copiaf.cpy, wcont1.cpy, cogzdf-01.scr

Procedure Division

cogzdf.decla (+ coghtml)


Parametri di configurazione (RNEWCONF)

Caricati in x99-load-config; principali:

Gruppo Chiave Variabile interna Effetto
odonto classe-categoria tm-cfg-classe-categoria Classe/categoria per la ricerca in COGANRAG
ABILITA LABOD-PROGETTAZIONE tm-cfg-modalita-prog Abilitazione della progettazione lab
labprepara cogzdf-tempo-refresh tm-cfg-refresh Secondi di attesa per il refresh automatico delle griglie
labpresc path-archiviazione-auto tm-cfg-path-archiviazione-auto Cartella da cui leggere le immagini e su cui archiviare
odonto documento-accompagnamento tm-cfg-tip-doc Tipo documento di accompagnamento
labprepara check-pulsante-etichetta (×7) tm-cfg-check-etichetta-b1..b7 Etichetta dei 7 pulsanti configurabili
labprepara check-pulsante-priorita (×7) tm-cfg-check-priorita-b1..b7 Priorita' associata a ciascun pulsante
labprepara check-pulsante-articolo (×7) tm-cfg-check-merce-b1..b7 Articolo/merce associato a ciascun pulsante
odonto numero-commessa-automatico tm-cfg-num-aut Numerazione automatica commessa
odonto gestione-multi-sede tm-cfg-multisede Gestione multi-sede
abilita labod-impegni tm-cfg-labod-impegni Gestione impegni

Per ogni pulsante configurato, in a4 il programma valida l'articolo (COGMERCI), risale al tipo impianto (COGANRAG, arag-id-padre) e ricava il PDF (COGZSB); se una di queste verifiche fallisce, mostra un errore ("Articolo (n) ...") e termina.


Logica di elaborazione

  1. apri: apre i file, carica configurazione, crea i transiti delle due griglie, bitmap e pulsanti custom, controllo web-browser per l'anteprima.
  2. a4: per ciascuno dei 7 pulsanti configurati valida merce → tipo impianto → PDF; prepara le due griglie con ordinamento predefinito.
  3. a-inizio-caricacarica-dati: ricarica entrambe le griglie (carica-griglia-2 legge le immagini dalla cartella via C$LIST-DIRECTORY; carica-griglia-3 legge le pre-commesse/rientri).
  4. a-accept-grid2 / a-accept-grid3: cicli di gestione delle due griglie (selezione, refresh temporizzato, tasti funzione, menu pop-up). Il refresh automatico e' inibito se esistono righe selezionate (verifica-refresch).
  5. Selezione anteprima (z-visualizza-anteprima-browser): mostra l'immagine selezionata nel web-browser con opzioni di adattamento (tm-fl-ant-adatta-h/-v/-orig).
  6. Pressione pulsante (a-tm-bottone1..7): se il pulsante non ha merce configurata esegue solo a2-allega-documento; altrimenti verifica la selezione (a1-verifica-sel), imposta tipo impianto/PDF/priorita'/merce del pulsante e instrada al caso A-H (b1-caso-a..b7-caso-h), che crea la commessa (ba-crea-nuova-commessaCOGZA6) e/o allega il documento fotografico (bb-allego-documento).
  7. Al termine della creazione mostra un dialog con il numero commessa e l'opzione di stampa etichetta (COGZ85).

Paragrafi chiave

Paragrafo Scopo
apri / a4 Inizializzazione, validazione pulsanti (merce → tipo impianto → PDF), preparazione griglie
carica-dati / carica-griglia-2 / carica-griglia-3 Caricamento immagini (filesystem) e pre-commesse
a-accept-grid2 / a-accept-grid3 Cicli di gestione delle due griglie
verifica-refresch Inibisce il refresh automatico se ci sono righe selezionate
a1-verifica-sel Determina il tipo caso (A-H) dalla combinazione di selezioni
a-tm-bottone1..7 Handler dei pulsanti configurabili
b1-caso-a..b7-caso-h Esecuzione del check per tipo caso
ba-crea-nuova-commessa Creazione commessa via COGZA6
bb-allego-documento / a2-allega-documento Allega la fotografia alla commessa
z-visualizza-anteprima-browser Anteprima immagine nel web-browser
x99-load-config Caricamento configurazione (inclusi i 7 pulsanti)

Note

  • La sorgente delle immagini e' il filesystem (cartella path-archiviazione-auto), non un archivio indicizzato: le griglie sono ricostruite ad ogni refresh.
  • Il refresh automatico temporizzato e' una scelta di ergonomia per postazione "sempre aperta"; viene sospeso in presenza di selezioni per non perdere il lavoro dell'operatore.
  • I casi G/H (rientro di lavoro esistente) sono stati aggiunti in un secondo momento (marcatori 050923 nel sorgente) insieme alla gestione dei pulsanti senza merce (allega documento).
  • Il programma usa PERFORM ... THRU e GO TO in modo estensivo (stile legacy): in manutenzione prestare attenzione allo scope dei loop.