Vai al contenuto

COGZ95 - Stampa Documento per Avvenuta Consegna

Sorgente: cbl/cogz95.cbl | Program-ID: COGZ95 | Tipo: Programma interattivo con stampa (allegato commessa laboratorio)

Menu: Lab.Odont. > Operativo > Stampe > Allegati > Doc. x Avvenuta Consegna


Scopo

Stampa il documento di avvenuta consegna del dispositivo medico ultimato allo studio committente. L'operatore identifica la commessa tramite la ricerca generica (studio/paziente/progressivo o numero commessa); il programma verifica prescrizione, stato commessa e appartenenza clinica, poi genera il documento HP-GL/2 su file di stampa (COGS54).

Struttura di stampa analoga a COGZ81 (pagina intera, testata con Paziente/N.Presc./Commessa/Descrizione). Il tipo allegato per la lettura descrizioni e' "N" + zs3-allegato (variabile w-allegato). Se dopo l'impaginazione non c'e' testo (tab-des(1) = spaces), la stampa viene annullata (w-all-exs = "Y").

Se la configurazione MODO-STAMPA-ALLEGATI = "WORD", il programma delega la stampa a COGZ82M (allegato "AC") e termina.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)
LODDESCR ISAM Input Descrizioni allegato per tipo (lde-tip, lde-cod, lde-pro, lde-rec)
LODTMDES ISAM I-O (temp) Buffer temporaneo descrizioni per operatore (ltd-rec)
LODTRDES ISAM Input Descrizioni impaginate a misura da COGZDEW (ltr-pro, ltr-des)
LODPRESC ISAM Input Prescrizione (lpm-med, lpm-paz, lpm-pro)
LODCMTES ISAM Input (k02) Testata commessa via chiave 2 (lct-chia2, lct-piano, lct-coeff, lct-paz, lct-rec)
LODPNTES ISAM Input Testata piano/dispositivo (lpt-cod, lpt-tip, lpt-des)
LODTABEL ISAM Input Titoli allegato tipo 10, chiave <all>T1/<all>T2 (lta-cod, lta-tipo, lta-10-des)
FLSTA seq Output File di stampa HP-GL/2 (record riga)

LODTMDES e' un temporaneo per operatore (w-ltd-nome = ext-tmp-dir + #$COGZ95.<operatore>), aperto in output esclusivo come lock di funzione.

Copybook utilizzate

Copybook Descrizione
cogz95.select, cogz95.fd, cogz95.wrk, cogz95-01.scr, cogz95.prc, cogz95.decla Screen Designer
feurtab.fd, cogfiles.cpy FEURTAB
lodtmdes.fd/.cpy/.k01, lodtrdes.fd/.cpy/.k01 File temporanei descrizioni
flsta.fd/.cpy File di stampa
wstato, wopenf, wgrave, wnscr, cogazien Working storage standard + dati azienda
utils54, utils52, utils98, utilzde, utilfnt, utilzs3 Linkage subroutine COGS54/COGS52/COGS98W/COGZDEW/COGFNT/COGZS3
utilncnf Linkage RNEWCONF
k-personal Costanti personalizzazioni azienda (k-personal-lab-lori)
wcont, wcont1, utilz82 Linkage di chiamata
lodcmtes.k02 Chiave secondaria commessa (aggiunta a fine procedure)

Logica

Struttura goto-driven analoga a COGZ81. Flusso principale:

  • apri / main: init, costruzione nomi temporanei, rd-azi, open-files, recupero eventuali dati di chiamata (z82-called = "COGZ95-CALLED"), config via x99-confi/x99-confi-operatore. Se MODO-STAMPA-ALLEGATI = "WORD" chiama COGZ82M (allegato "AC") e va a fine. Altrimenti prepara tasti, bitmap labodonto, pulsante custom "Commessa (F5)", maschera.
  • a4: reset maschera, lock del temporaneo LODTMDES, z-carica-controlli; se chiamato salta a a-10-cerca.
  • a-tm-cli: accept prescrizione via COGS98W; gestione exit/prev/next.
  • x-controlla-commessa: find+display su COGS98W, legge testata commessa (rd-lodcmtes-lk-chia2), verifica clinica operatore, chiama COGZS3 (zs3-tip-doc = "Consegna") e compone w-allegato = "N" + zs3-allegato; se zs3-allegato = spaces blocca ("Documento non previsto per questo dispositivo"). Controllo stato commessa "C"/"E" saltato se az-personal = k-personal-lab-lori (la stampa avviene comunque su richiesta, Mauro 12/05/08). Popola tab-npresc, tab-commessa, tab-paziente, tab-com-des (da LODPNTES).
  • a-20: apertura file stampa via COGS54 e conferma periferica (F3), saltata in archiviazione con w-dc-fl-cogz50 = "S".
  • a-30: b-carica prepara le righe; se w-all-exs = "Y" (nessun testo) termina; altrimenti loop su tm-cfg-n-copie: per ogni copia x41-init-page, x4-format-page, c-stampa, x41-close-page.
  • b-carica: copia da LODDESCR a LODTMDES le descrizioni del tipo w-allegato, chiama COGZDEW (impaginazione, lunghezza 170), carica in tab-all-des le righe rese in LODTRDES; se la prima riga e' vuota imposta w-all-exs = "Y".
  • c-stampa / d-rect: emette righe HP-GL/2 con titoli T1/T2 da LODTABEL centrati via COGFNT; salto pagina via x4-format-page.
  • fine / z-chiudi: chiusura, cancel COGZS3/COGS98W, exit program.

Configurazioni (RNEWCONF)

Percorso ODONTO.CNF (pacchetto "C"):

Chiave Uso
Formattazione-portrait Sequenza formattazione stampante (tm-cfg-formatta)
copie-documento-avvenuta-consegna Numero copie (tm-cfg-n-copie)
MODO-STAMPA-ALLEGATI "WORD" delega a COGZ82M
apo / operatore-clinica-su-lab (sud = operatore) Clinica dell'operatore (tm-cfg-clinica-ope)

CALL

Programma Scopo
COGS54 Apertura/chiusura file di stampa e richiesta periferica
COGS98W Ricerca/accept generico prescrizione-commessa
COGZDEW Impaginazione righe descrizione a misura
COGFNT Calcolo lunghezza frase per centratura titoli
COGZS3 Determina il modello di allegato (zs3-tip-doc = "Consegna")
COGZ82M Stampa allegato in modalita' Word (allegato "AC")
RNEWCONF Lettura configurazioni ODONTO / operatore
ENCRYPT (Presente ma disabilitato, PBUG-1925)

Note

  • La gestione azienda criptata e' rimossa con PBUG-1925; resta move az-int to tm-int.
  • Il tipo descrizione e' "N" + <modello allegato>.
  • Personalizzazione "lab-lori" (k-personal-lab-lori): salta il controllo di completezza commessa per consentire la stampa comunque su richiesta.
  • PCASE-2145 (28/05/21): rimossa la richiesta di conferma prima di procedere in modalita' chiamata.
  • In archiviazione (w-dc-archivia = "Archivia", w-dc-fl-cogz50 <> "S") le copie sono forzate a 1.
  • Output HP-GL/2 (emulazione HPLJ3) a pagina intera.