Vai al contenuto

Laboratorio Odontotecnico — Preparazione Commessa

Area funzionale: Laboratori Odontotecnici / Operativo Programmi documentati: COGZ41 + COGZD1 | Righe codice: 24.533 (7.531 + 17.002)


Indice

  1. Panoramica
  2. Differenze COGZ41 vs COGZD1
  3. Flusso operativo
  4. Logica preparazione
  5. Piani di fabbricazione
  6. Pulsanti funzione
  7. File principali
  8. Programmi chiamati
  9. Configurazioni

1. Panoramica

COGZ41 / COGZD1 — Preparazione Commessa

File: - /programmi/eurocoge/cbl/cogz41.cbl (7.531 righe) — versione standard - /programmi/eurocoge/cbl/cogzd1.cbl (17.002 righe) — versione avanzata

Autore: Andrea Parmeggiani - Eurosystem Conversione GUI: Gianluca 29/09/2007

Funzione principale: Step 2 del workflow laboratorio odontotecnico. Trasforma una prescrizione medica (COGZ40) in una commessa operativa assegnando un piano di fabbricazione personalizzato e generando le righe di lavorazione (azioni) che costituiranno la commessa.

Posizione nel workflow:

[1] COGZ40 (Prescrizione medica)
     ↓
[2] COGZ41 / COGZD1 (Preparazione commessa) ← TU SEI QUI
     ↓
[3] COGZ45 (Avanzamento lavori)
     ↓
[4] COGZB7 (Evasione commessa)

Caratteristiche chiave: - 📋 Piano di fabbricazione: Assegnazione piano personalizzato o da modelli standard - 🔄 Generazione azioni: Creazione righe commessa da piano di lavorazione - 🎨 Personalizzazione: Modifica sequenze, tempi, materiali per singola commessa - 🏗️ Tipo piano temporaneo: Piano specifico della commessa (non riutilizzabile) - 📊 Griglia interattiva: Visualizzazione e modifica azioni con drag&drop - 🔗 Collegamento prescrizione→commessa: Aggiornamento bidirezionale

Differenza fondamentale: - COGZ41: Basato su programma COGZ20, logica standard - COGZD1: Usa file di configurazione ODONTO.CNF, logica avanzata con gestione prestazioni/proprietà/fasi


2. Differenze COGZ41 vs COGZD1

2.1 Confronto architetturale

Aspetto COGZ41 (Standard) COGZD1 (Avanzata)
Righe codice 7.531 17.002 (+126%)
File configurazione ODONTO.CNF (opzionale) ODONTO.CNF obbligatorio
File temporanei LODTMDES, LODTMMAT + 4 file aggiuntivi (prestazioni, fasi, proprietà, collegamenti)
Logica prestazioni Semplice Complessa con proprietà e vincoli
Gestione fasi Lineare Gerarchica con ordinamento dinamico
Collegamento azioni-prestazioni Diretto Tramite file t-az-prest
Complessità UI Standard Avanzata con più livelli
Personalizzazione Base Estesa (proprietà, varianti, opzioni)

2.2 File temporanei aggiuntivi COGZD1

COGZD1 usa 4 file indexed temporanei per gestire la logica avanzata:

1. T-PRESTAZIONI (cogzd1-t-prestazioni)

Memorizza le prestazioni selezionate per la commessa con linking a elementi/propriet à.

Struttura (principale):

01  t-prs-rec.
  02 t-prs-id              pic 9(04).    * ID univoco prestazione
  02 t-prs-seq             pic 9(04).    * Sequenza visualizzazione
  02 t-prs-cod             pic x(08).    * Codice prestazione
  02 t-prs-des             pic x(40).    * Descrizione
  02 t-prs-elementi        pic x(40).    * Elementi dentali coinvolti
  02 t-prs-qta             pic 9(04).    * Quantità

Chiavi: - Primaria: t-prs-id - Alternata: t-prs-seq (ordinamento)

2. T-PROPRIETA

Proprietà selezionate per ciascuna prestazione (materiali, colori, caratteristiche).

Struttura:

01  t-ppt-rec.
  02 t-ppt-chia1.
    03 t-ppt-prs-id        pic 9(04).    * ID prestazione
    03 t-ppt-proprieta.
      04 t-ppt-tab         pic x(08).    * Tabella proprietà
      04 t-ppt-id          pic 9(04).    * ID proprietà
  02 t-ppt-mat             pic x(09).    * Materiale collegato
  02 t-ppt-mat-um          pic x(02).    * Unità misura

Chiave: t-ppt-prs-id + t-ppt-tab + t-ppt-id

3. T-FASI

Fasi (azioni) generate per la commessa da prestazioni/modelli.

Struttura:

01  t-fas-rec.
  02 t-fas-id              pic 9(04).    * ID univoco fase
  02 t-fas-prs-id          pic 9(04).    * Prestazione generatrice
  02 t-fas-seq             pic 9(04).    * Sequenza fase
  02 t-fas-ese-ord         pic 9(04).    * Ordine esecuzione
  02 t-fas-azione-cod      pic x(08).    * Codice azione
  02 t-fas-azione-des      pic x(40).    * Descrizione
  02 t-fas-tempo           pic 9(04).    * Tempo previsto (minuti)
  02 t-fas-operatore       pic 9(03).    * Operatore assegnato

Chiavi multiple per ricerche diverse: - t-fas-chia1: ID fase (primaria) - t-fas-chia2: Ordinamento esecuzione (ese-ord, prs-seq, seq, id) - t-fas-chia3: Per prestazione (prs-id, id) - t-fas-chia4: Per prestazione ordinato (prs-id, seq, id)

4. T-AZ-PREST

Collegamento bidirezionale azioni ↔ prestazioni (una fase può derivare da più prestazioni).

Struttura:

01  t-cpa-rec.
  02 t-cpa-chia1.
    03 t-cpa-prs-id        pic 9(04).    * ID prestazione
    03 t-cpa-fas-id        pic 9(04).    * ID fase

Chiavi: - t-cpa-chia1: Da prestazione a fasi - t-cpa-chia2: Da fase a prestazioni (fas-id, prs-id)

2.3 Quando usare quale versione

Scenario Versione Motivo
Laboratorio semplice, pochi prodotti COGZ41 Meno complessità, più veloce
Prodotti standardizzati, poche varianti COGZ41 Piano fisso sufficiente
Laboratorio complesso, molti prodotti COGZD1 Gestione avanzata prestazioni
Prodotti altamente personalizzabili COGZD1 Proprietà/varianti dinamiche
Necessità analisi prestazioni-azioni COGZD1 File t-az-prest per reportistica
Vincoli tra prestazioni COGZD1 Logica controlli ODONTO.CNF
Fasi con ordinamento complesso COGZD1 Chiavi multiple t-fasi

Nota: La scelta è definita in configurazione e non è modificabile runtime. Una volta scelto, tutto il laboratorio usa la stessa versione.


3. Flusso operativo

3.1 Input: Prescrizione da COGZ40

Il programma riceve una prescrizione esistente con: - Studio medico - Paziente - Numero prescrizione - Stato: "N" (solo prescrizione) o "P" (prescrizione registrata)

Parametri linkage (comuni a entrambi):

01 w-dati-called.
  02 w-dc-called           pic x(01).    * "S" = chiamato da altro programma
  02 w-dc-pdf              pic x(20).    * PDF da elaborare (opzionale)
  02 w-dc-riga-da          pic 9(04).    * Riga inizio elaborazione
  02 w-dc-riga-a           pic 9(04).    * Riga fine elaborazione
  02 w-dc-prescrizione.                  * Chiave prescrizione:
    03 w-dc-studio         pic 9(05).    *   - Studio medico
    03 w-dc-paziente       pic x(25).    *   - Paziente
    03 w-dc-pro            pic 9(10).    *   - Progressivo prescrizione

3.2 Flusso COGZ41 (Standard)

AVVIO COGZ41
     │
     ├─ Caricamento prescrizione (LODPRESC)
     ├─ Verifica stato modificabile (N/P)
     ├─ Creazione 15 pulsanti custom
     │
     ├─[SELEZIONE PIANO FABBRICAZIONE]
     │  ├─ Scelta da modelli standard (LODPFSTD)
     │  ├─ Lookup piano esistente (LODPNTES)
     │  └─ Creazione piano nuovo "Temporaneo"
     │
     ├─[GENERAZIONE RIGHE COMMESSA]
     │  ├─ Lettura righe piano (LODPNRIG)
     │  ├─ Per ogni riga piano:
     │  │  ├─ Crea riga commessa (LODCMRIG)
     │  │  ├─ Copia azione, tempi, operatore
     │  │  ├─ Assegna sequenza (fase1.fase2.fase3)
     │  │  └─ Carica materiali (LODPNMAT → temp)
     │  └─ Salvataggio temporaneo in LODTMDES
     │
     ├─[PERSONALIZZAZIONE GRIGLIA]
     │  ├─ Visualizzazione 800 righe max
     │  ├─ Colonne: Sequenza, Azione, Tempo, Operatore, Materiali, etc.
     │  ├─ Modifica inline: tempi, operatori, flag
     │  ├─ Drag&drop per riordinamento
     │  └─ Aggiungi/Togli azioni
     │
     ├─[F3 CONFERMA: CREAZIONE COMMESSA]
     │  ├─ Generazione numero commessa
     │  ├─ WRITE LODCMTES (testata commessa)
     │  │  ├─ Copia dati da prescrizione
     │  │  ├─ Stato = "A" (Aperta)
     │  │  └─ Riferimento piano fabbricazione
     │  ├─ WRITE LODCMRIG (righe commessa)
     │  │  └─ Tutte le righe dalla griglia
     │  ├─ WRITE LODCMMMD (materiali commessa)
     │  │  └─ Se presenti materiali su righe
     │  ├─ REWRITE LODPRESC
     │  │  ├─ lpm-num-com = numero commessa creato
     │  │  └─ lpm-stato = "A"
     │  └─ Pulizia file temporanei
     │
     └─ Chiusura programma

3.3 Flusso COGZD1 (Avanzata)

AVVIO COGZD1
     │
     ├─ Caricamento prescrizione (LODPRESC)
     ├─ Verifica stato modificabile (N/P)
     ├─ Lettura ODONTO.CNF (configurazione obbligatoria)
     ├─ Creazione 15 pulsanti custom
     │
     ├─[SELEZIONE PRESTAZIONI]
     │  ├─ Popup selezione prestazioni (da catalogo)
     │  ├─ Per ogni prestazione selezionata:
     │  │  ├─ WRITE T-PRESTAZIONI
     │  │  ├─ Assegna ID univoco (contatore)
     │  │  ├─ Elementi dentali coinvolti
     │  │  └─ Quantità
     │  │
     │  └─[SELEZIONE PROPRIETÀ per prestazione]
     │     ├─ Lookup proprietà disponibili (ODONTO.CNF)
     │     ├─ Popup scelta: materiali, colori, caratteristiche
     │     ├─ WRITE T-PROPRIETA per ogni selezione
     │     └─ Collegamento materiali automatico
     │
     ├─[GENERAZIONE FASI DA PRESTAZIONI]
     │  ├─ Per ogni prestazione in T-PRESTAZIONI:
     │  │  ├─ Lettura modello prestazione (ODONTO.CNF)
     │  │  ├─ Generazione fasi/azioni da modello
     │  │  ├─ WRITE T-FASI per ogni azione generata
     │  │  ├─ Calcolo sequenze/ordinamento
     │  │  └─ WRITE T-AZ-PREST (collegamento)
     │  │
     │  └─[APPLICAZIONE PROPRIETÀ A FASI]
     │     ├─ Per ogni proprietà in T-PROPRIETA:
     │     ├─ Identifica fasi impattate
     │     ├─ Aggiorna materiali fasi (T-FASI)
     │     └─ Aggiorna tempi se necessario
     │
     ├─[RIORDINAMENTO FASI]
     │  ├─ Lettura T-FASI ordinato per ese-ord
     │  ├─ Algoritmo ordinamento rispettando vincoli:
     │  │  ├─ Priorità prestazioni
     │  │  ├─ Dipendenze tra fasi
     │  │  └─ Parallelismo possibile
     │  └─ Aggiornamento t-fas-ese-ord
     │
     ├─[PERSONALIZZAZIONE GRIGLIA]
     │  ├─ Visualizzazione fasi da T-FASI
     │  ├─ Colonne estese: +Prestazione, +Proprietà
     │  ├─ Modifica inline avanzata
     │  ├─ Drag&drop con ricalcolo vincoli
     │  └─ Aggiungi/Togli con propagazione
     │
     ├─[F3 CONFERMA: CREAZIONE COMMESSA]
     │  ├─ Generazione numero commessa
     │  ├─ WRITE LODCMTES (testata commessa)
     │  │  ├─ Copia dati prescrizione
     │  │  ├─ Stato = "A"
     │  │  └─ Riferimenti prestazioni/piano
     │  ├─ WRITE LODCMRIG (righe da T-FASI)
     │  │  └─ Conversione T-FASI → LODCMRIG
     │  ├─ WRITE LODCMDET (dettaglio prestazioni)
     │  │  └─ Da T-PRESTAZIONI
     │  ├─ WRITE LODCMMMD (materiali)
     │  │  └─ Da T-PROPRIETA + T-FASI
     │  ├─ WRITE LODINFCC (info commessa clinica)
     │  │  └─ Collegamenti prestazioni-fasi da T-AZ-PREST
     │  ├─ REWRITE LODPRESC
     │  │  ├─ lpm-num-com = numero commessa
     │  │  └─ lpm-stato = "A"
     │  ├─ Pulizia file temporanei (T-*)
     │  └─ Logging operazioni
     │
     └─ Chiusura programma

4. Logica preparazione

4.1 Numero commessa

Generazione automatica:

Numero commessa = Numero prescrizione + Suffisso

Esempio:
  Prescrizione: 0000012345
  Commessa:     1234500001 (10 cifre)

Formato: pic 9(10)

Se esistono più commesse per stessa prescrizione: - Prima commessa: 1234500001 - Seconda commessa: 1234500002 - etc.

4.2 Piano di fabbricazione

Tipo piano: "T" (Temporaneo)

Caratteristiche piano temporaneo:

  • ✅ Specifico della singola commessa
  • ✅ Modificabile liberamente
  • ❌ Non riutilizzabile per altre commesse
  • ✅ Generato da piano standard ma personalizzato
  • ✅ Memorizzato in LODPNTES/LODPNRIG

Processo creazione:

  1. Selezione modello (piano standard o esistente)
  2. Copia righe da piano modello
  3. Assegnazione chiave univoca piano temporaneo
  4. Personalizzazione per commessa specifica
  5. Salvataggio LODPNTES + LODPNRIG

4.3 Sequenza azioni (Fase1.Fase2.Fase3)

Le azioni nella commessa hanno una sequenza gerarchica a 3 livelli:

Sequenza: 01.02.03
          │  │  └─ Fase 3 (micro-step)
          │  └──── Fase 2 (sub-step)
          └─────── Fase 1 (macro-step)

Esempio pratico:

01.00.00  Preparazione modello
01.01.00    Impronta superiore
01.01.01      Verifica impronte
01.01.02      Pulizia impronta
01.02.00    Impronta inferiore
01.02.01      Verifica impronte
01.02.02      Pulizia impronta
02.00.00  Lavorazione protesi
02.01.00    Struttura metallica
02.01.01      Preparazione metallo
02.01.02      Fusione
02.02.00    Ceramica

Riordinamento:

  • Drag&drop nella griglia
  • Ricalcolo automatico sequenze
  • Mantenimento gerarchie
  • Validazione vincoli dipendenze

4.4 Materiali su azioni

Associazione materiali (COGZ41):

Piano fabbricazione (LODPNRIG)
    └─> Materiali piano (LODPNMAT)
         └─> Copia su temporaneo (LODTMMAT)
              └─> Salva su commessa (LODCMMMD)

Associazione materiali avanzata (COGZD1):

Prestazione (T-PRESTAZIONI)
    └─> Proprietà (T-PROPRIETA)
         ├─> Materiale associato (t-ppt-mat)
         └─> Fase impattata (T-FASI)
              └─> Materiale su azione (LODCMMMD)

5. Piani di fabbricazione

5.1 Tipologie piani

Tipo Codice Descrizione Uso Riutilizzabile
Standard S Modelli predefiniti per tipo lavoro Selezione iniziale ✅ Sì
Personalizzato P Piani creati e salvati da operatore Riuso frequente ✅ Sì
Temporaneo T Piano specifico commessa Preparazione commessa ❌ No

5.2 Struttura piano

LODPNTES (Testata piano):

01  lpt-rec.
  02 lpt-cod               pic x(20).    * Codice piano
  02 lpt-des               pic x(40).    * Descrizione
  02 lpt-tipo              pic x(01).    * S/P/T
  02 lpt-tot-tempo         pic 9(06).    * Tempo totale (minuti)
  02 lpt-tot-righe         pic 9(04).    * Numero righe

LODPNRIG (Righe piano):

01  lpr-rec.
  02 lpr-piano             pic x(20).    * Chiave piano
  02 lpr-prog              pic 9(04).    * Progressivo riga
  02 lpr-sequenza.                       * Sequenza gerarchica:
    03 lpr-fas-1           pic 9(02).    *   Fase 1
    03 lpr-fas-2           pic 9(02).    *   Fase 2
    03 lpr-fas-3           pic 9(02).    *   Fase 3
  02 lpr-azione            pic x(08).    * Codice azione (LODAZION)
  02 lpr-azione-des        pic x(40).    * Descrizione azione
  02 lpr-tempo-std         pic 9(04).    * Tempo standard (minuti)
  02 lpr-operatore         pic 9(03).    * Operatore assegnato
  02 lpr-fl-rep            pic x(01).    * Flag reparto
  02 lpr-note              pic x(80).    * Note riga

LODPNMAT (Materiali piano):

01  lmt-rec.
  02 lmt-piano             pic x(20).    * Chiave piano
  02 lmt-riga              pic 9(04).    * Riga piano riferimento
  02 lmt-tip-merce         pic x(01).    * Tipo merce (articolo/kit)
  02 lmt-merce.                          * Chiave merce:
    03 lmt-gru             pic x(02).    *   Gruppo
    03 lmt-sot             pic x(02).    *   Sottogruppo
    03 lmt-cod             pic 9(05).    *   Codice
  02 lmt-qta               pic 9(06)v9(03). * Quantità
  02 lmt-um                pic x(02).    * Unità misura

5.3 Conversione Piano → Commessa

Mapping campi:

Campo piano (LODPNRIG) Campo commessa (LODCMRIG)
lpr-piano lcr-piano-orig (riferimento)
lpr-prog - (rigenerato)
lpr-sequenza lcr-sequenza (identica)
lpr-azione lcr-azione
lpr-azione-des lcr-azione-des
lpr-tempo-std lcr-tempo-std
lpr-operatore lcr-operatore
lpr-fl-rep lcr-fl-rep
lpr-note lcr-note

Campi aggiuntivi commessa (non su piano): - lcr-data-inizio: Data inizio prevista - lcr-data-fine: Data fine prevista - lcr-stato: Stato azione (N/A/C/S) - lcr-tempo-effettivo: Tempo consuntivo - lcr-ope-effettivo: Operatore effettivo - lcr-data-inizio-eff: Data inizio effettiva - lcr-data-fine-eff: Data fine effettiva


6. Pulsanti funzione

Tabella pulsanti (15 pulsanti comuni)

Tasto Codice Funzione Descrizione Disponibilità
F1 k-f1-prestazione (06) Aggiungi prestazione Solo COGZD1: selezione prestazione da catalogo COGZD1
F1 k-f1-riapri (04) Riapri commessa Riapre commessa chiusa per modifica Entrambi
F2 k-f2-sblocca (14) Sblocca commessa Toglie blocco laboratorio da commessa Entrambi
F3 - Conferma Salva e crea commessa definitiva Entrambi
F4 k-f4-rinumera (08) Rinumera sequenze Riassegna sequenze automaticamente Entrambi
F5 k-f5-commessa (01) Dati commessa Visualizza/modifica dati testata commessa Entrambi
F5 k-f5-materiali (07) Gestione materiali Materiali associati a riga selezionata Entrambi
F6 k-f6-blocca (13) Blocca commessa Imposta blocco laboratorio su commessa Entrambi
F6 k-f6-rientro (03) Rientro Gestione rientro da lavorazione esterna Entrambi
F6 k-f6-gestione (05) Gestione azione Dettaglio completo azione selezionata Entrambi
F7 k-f7-aggiungi (10) Aggiungi azione Inserisce nuova azione in griglia Entrambi
F7 k-f7-togli-apertura (02) Togli apertura Rimuove azione selezionata Entrambi
F9 k-f9-note (09) Note lavoro Note estese di lavorazione (COGZDEW) Entrambi
Shift+F1 k-s-f1-presc (11) Torna a prescrizione Ritorna a COGZ40 senza salvare Entrambi
Shift+F5 k-s-f5-avanz (12) Avanzamento Vai a COGZ45 (dopo salvataggio) Entrambi
Shift+F7 k-s-f7-fascicolo (15) Fascicolo tecnico Apre fascicolo tecnico paziente (COGZ51) Entrambi

Bitmap utilizzate:

  • File labodonto (handle 1): varie bitmap
  • File labodonto2 (handle 2): bitmap aggiuntive

7. File principali

7.1 File generali (comuni)

File Prefisso Descrizione Accesso
FEURTAB - Tabelle file gestionali R
COGTABEL euta- Tabelle configurazione R
COGGEANA ana- Anagrafica generale R

7.2 File laboratorio (comuni)

File Prefisso Descrizione Accesso Uso
LODPRESC lpm- Prescrizioni mediche R/W Input prescrizione, update dopo creazione
LODCMTES lct- Commesse testa W Output: testata commessa creata
LODCMRIG lcr- Commesse righe (azioni) W Output: righe commessa create
LODCMMMD lmd- Commesse materiali W Output: materiali associati
LODPNTES lpt- Piani fabbricazione testa R/W Piano modello e piano temporaneo
LODPNRIG lpr- Piani fabbricazione righe R/W Righe piano modello e temporaneo
LODPNMAT lmt- Piani fabbricazione materiali R Materiali da piano modello
LODPFSTD pfs- Piani standard predefiniti R Selezione piano modello
LODAZION laz- Anagrafica azioni R Descrizioni azioni
LODTABEL lt*- Tabelle laboratorio R Configurazioni varie
LODTMDES - Temporaneo descrizioni R/W Work file temporaneo COGZ41
LODTMMAT - Temporaneo materiali R/W Work file temporaneo COGZ41/COGZD1

7.3 File specifici COGZD1

File Tipo Descrizione Chiave Uso
T-PRESTAZIONI Indexed temp Prestazioni selezionate t-prs-id Gestione prestazioni commessa
T-PROPRIETA Indexed temp Proprietà per prestazione t-ppt-prs-id + proprieta Varianti/materiali prestazione
T-FASI Indexed temp Fasi generate 4 chiavi alternative Azioni da prestazioni
T-AZ-PREST Indexed temp Collegamento azioni↔prestazioni bidirezionale Tracciabilità derivazione
LODCMDET lcd- Commesse dettaglio prestazioni W Salvataggio prestazioni su commessa
LODINFCC icc- Info commessa clinica W Collegamenti avanzati

Nota: I file T-* sono temporanei creati all'avvio e cancellati alla fine. Non persistono tra sessioni.


8. Programmi chiamati

8.1 Programmi laboratorio comuni

Programma Funzione Uso
COGZ30 Gestione piani fabbricazione Selezione/modifica piano (util-z30)
COGZ61 Gestione commesse base Creazione numero commessa, validazioni
COGZ93 Gestione commesse 93 Utility commesse (util-z93)
COGZ51 Fascicolo tecnico Shift+F7, gestione fascicolo paziente
COGZ45 Avanzamento lavori Shift+F5, passaggio a fase successiva
COGZ23 Lookup commessa Ricerca commesse esistenti
COGZ25 Gestione azioni Modifica azioni (util-z25)
COGZ31 Gestione righe commessa Utility righe (util-z31)
COGZDEW Note estese F9, gestione note lavoro
COGZC1 Utility commesse C1 Funzioni supporto (util-zc1)
COGZC5 Utility commesse C5 Funzioni supporto (util-cogzc5)
COGZC8 Utility commesse C8 Funzioni supporto (util-cogzc8)
COGZCH Utility check commesse Controlli validazione (util-cogzch)

8.2 Programmi specifici COGZD1

Programma Funzione Uso
COGZ48 Stesura progetto tecnico Gestione progetto commessa (util-z48)
COGZ13 Gestione elementi dentali Elementi coinvolti prestazione
COGZD1A Utility COGZD1 A Funzioni ausiliarie (util-cogzd1a)
COGZDC Gestione configurazione ODONTO.CNF Lettura/parsing configurazione (util-cogzdc)
COGZCN Gestione connessioni Collegamenti prestazioni (util-cogzcn)
COGZS5 Utility S5 Funzioni di supporto (util-zs5)
WINZ04 Window utility 04 Popup selezione (util-wz04)
WINZ07 Window utility 07 Popup proprietà (util-wz07)
WINZ22 Window utility 22 Popup avanzati (util-wz22)

8.3 Programmi generali

Programma Funzione Uso
COGU10W Utility generale 10 Gestione commesse (util-u10)
COGU06 Gestione allegati Archiviazione documenti (util-u06)
COGS98W Utility 98 Funzioni supporto (util-s98)
GRIDADMN Amministrazione griglia Gestione griglia azioni
DIALOGS Dialoghi GUI Popup e conferme (util-dlg)
COGF12 Gestione finanziaria Controlli amministrativi

9. Configurazioni

9.1 File ODONTO.CNF (COGZD1)

Posizione: Directory configurazione applicativo Formato: INI-style configuration file Obbligatorio: Sì per COGZD1, opzionale per COGZ41

Sezioni principali:

[PRESTAZIONI]

Definizione prestazioni disponibili.

[PRESTAZIONI]
PREST001=Corona singola,COR,1
PREST002=Ponte 3 elementi,PON,3
PREST003=Protesi mobile totale,PMT,1

[PROPRIETA]

Proprietà configurabili per prestazione.

[PROPRIETA]
MATERIALE=Materiale base,MAT,T
COLORE=Colore ceramica,COL,L
FINITURA=Tipo finitura,FIN,V

[MATERIALE]

Valori ammessi per proprietà MATERIALE.

[MATERIALE]
CERAMICA=Ceramica standard
ZIRCONIO=Zirconio
DISILICATO=Disilicato di litio

[MODELLI]

Modelli di fasi per prestazione.

[MODELLI]
PREST001_FASI=3
PREST001_FASE1=IMPRC01,Impronta,30,
PREST001_FASE2=MODMC01,Modello,45,
PREST001_FASE3=CERMC01,Ceramica,120,

[VINCOLI]

Vincoli tra prestazioni e fasi.

[VINCOLI]
; Se PREST001 selezionato, PREST002 incompatibile
INCOMP_PREST001=PREST002
; Se MATERIALE=ZIRCONIO, FASE=CERMC02 (non CERMC01)
PROP_MAT_ZIRC_FASE=CERMC02

9.2 Configurazioni COGTABEL

Configurazioni specifiche preparazione commessa (tipo 70):

01 tm-cfg-preparazione.
  02 tm-cfg-piano-default        pic x(20).  * Piano default se non scelto
  02 tm-cfg-genera-auto-mat      pic x(01).  * S/N genera materiali auto
  02 tm-cfg-copia-note-prescr    pic x(01).  * S/N copia note prescrizione
  02 tm-cfg-assegna-ope-auto     pic x(01).  * S/N assegna operatore auto
  02 tm-cfg-operatore-default    pic 9(03).  * Operatore default
  02 tm-cfg-calcolo-tempi        pic x(01).  * M=Manuale, A=Automatico
  02 tm-cfg-usa-odonto-cnf       pic x(01).  * S=COGZD1, N=COGZ41
  02 tm-cfg-validazione-vincoli  pic x(01).  * S/N valida vincoli ODONTO.CNF

9.3 Parametri linkage

Chiamata da COGZ40 (prescrizione):

CALL "COGZ41" USING stringhe w-dati-called
* oppure
CALL "COGZD1" USING stringhe w-dati-called

Dove w-dati-called contiene:
  w-dc-called = "S"
  w-dc-prescrizione = chiave prescrizione (studio+paziente+prog)

Chiamata standalone:

CALL "COGZ41" USING stringhe
* w-dc-called = "N" o spaces
* Richiede input manuale prescrizione

Diagramma flusso integrato

[COGZ40] Prescrizione medica
    │
    ├─ F5: Crea commessa
    │
    ├─── Se tm-cfg-usa-odonto-cnf = "N" ────> [COGZ41 STANDARD]
    │                                              │
    │                                              ├─ Carica prescrizione LODPRESC
    │                                              ├─ Seleziona piano standard
    │                                              │  └─> Lookup LODPFSTD
    │                                              ├─ Crea piano temporaneo
    │                                              │  ├─> WRITE LODPNTES (tipo T)
    │                                              │  └─> WRITE LODPNRIG (copia da std)
    │                                              ├─ Carica materiali
    │                                              │  └─> LODPNMAT → LODTMMAT
    │                                              ├─ Visualizza griglia azioni
    │                                              │  ├─ Modifica tempi/operatori
    │                                              │  ├─ Riordina sequenze
    │                                              │  └─ Aggiungi/Rimuovi azioni
    │                                              ├─ F3: Conferma
    │                                              ├─> WRITE LODCMTES
    │                                              ├─> WRITE LODCMRIG (da griglia)
    │                                              ├─> WRITE LODCMMMD (da LODTMMAT)
    │                                              ├─> REWRITE LODPRESC (stato=A)
    │                                              └─> Pulizia temp + chiusura
    │
    └─── Se tm-cfg-usa-odonto-cnf = "S" ────> [COGZD1 AVANZATA]
                                                   │
                                                   ├─ Carica prescrizione LODPRESC
                                                   ├─ Lettura ODONTO.CNF
                                                   ├─ OPEN file temporanei (T-*)
                                                   │
                                                   ├─[FASE 1: PRESTAZIONI]
                                                   │  ├─ F1: Seleziona prestazioni
                                                   │  ├─ Popup catalogo (da ODONTO.CNF)
                                                   │  ├─ Per ogni prestazione:
                                                   │  │  ├─> WRITE T-PRESTAZIONI
                                                   │  │  ├─ Assegna ID univoco
                                                   │  │  ├─ Elementi dentali (COGZ13)
                                                   │  │  └─ Quantità
                                                   │  │
                                                   │  └─[PROPRIETÀ PRESTAZIONE]
                                                   │     ├─ Popup proprietà (WINZ07)
                                                   │     ├─ Selezioni: materiale/colore/etc
                                                   │     └─> WRITE T-PROPRIETA
                                                   │
                                                   ├─[FASE 2: GENERAZIONE FASI]
                                                   │  ├─ Per ogni T-PRESTAZIONI:
                                                   │  │  ├─ Legge modello (ODONTO.CNF)
                                                   │  │  ├─ Genera azioni da modello
                                                   │  │  ├─> WRITE T-FASI (per ogni azione)
                                                   │  │  └─> WRITE T-AZ-PREST (collegamento)
                                                   │  │
                                                   │  ├─ Applica proprietà a fasi:
                                                   │  │  ├─ Per ogni T-PROPRIETA:
                                                   │  │  ├─ Identifica T-FASI impattate
                                                   │  │  └─> REWRITE T-FASI (materiali)
                                                   │  │
                                                   │  └─ Ordinamento fasi:
                                                   │     ├─ Algoritmo sequenze ottimali
                                                   │     ├─ Rispetta vincoli ODONTO.CNF
                                                   │     └─> REWRITE T-FASI (ese-ord)
                                                   │
                                                   ├─[FASE 3: PERSONALIZZAZIONE]
                                                   │  ├─ Visualizza griglia da T-FASI
                                                   │  ├─ Colonne estese (+Prestazione)
                                                   │  ├─ Modifica inline avanzata
                                                   │  ├─ Drag&drop con vincoli
                                                   │  └─ Aggiungi/Rimuovi con validazione
                                                   │
                                                   ├─[FASE 4: CONFERMA F3]
                                                   │  ├─ Generazione numero commessa
                                                   │  ├─> WRITE LODCMTES
                                                   │  ├─> WRITE LODCMRIG (da T-FASI)
                                                   │  ├─> WRITE LODCMDET (da T-PRESTAZIONI)
                                                   │  ├─> WRITE LODCMMMD (da T-PROPRIETA/FASI)
                                                   │  ├─> WRITE LODINFCC (da T-AZ-PREST)
                                                   │  ├─> REWRITE LODPRESC (stato=A)
                                                   │  └─ Pulizia file T-* + chiusura
                                                   │
                                                   └─> [COGZ45] Avanzamento lavori

Note implementative

Validazioni commessa

Controlli pre-creazione:

* Prescrizione deve esistere
if not w-verbo-ok after READ LODPRESC
   display "Prescrizione non trovata"
   exit
end-if

* Prescrizione non deve avere già commessa
if lpm-num-com > 0
   display "Prescrizione già ha commessa collegata"
   exit
end-if

* Stato deve permettere apertura commessa
if lpm-stato not = "N" and not = "P"
   display "Stato prescrizione non valido per apertura commessa"
   exit
end-if

* Deve avere almeno 1 azione in griglia
if tm-grid-pnt = 0
   display "Inserire almeno una azione nella commessa"
   exit
end-if

Performance COGZD1

Ottimizzazioni file temporanei:

  • File T-* creati in RAM disk se disponibile
  • Indici multipli per ricerche veloci
  • Pulizia automatica a fine elaborazione

Limiti dimensionali:

  • Max prestazioni: 100 per commessa
  • Max proprietà: 500 totali (5 per prestazione media)
  • Max fasi: 800 (limite griglia)
  • Max collegamenti: 2.000 (t-az-prest)

Differenze comportamento

Modifica commessa esistente:

  • COGZ41: Riapre piano temporaneo, modifica, salva
  • COGZD1: Rilegge LODCMDET/LODINFCC, ricrea T-*, modifica, salva

Annullamento:

  • COGZ41: Pulizia LODTMDES/LODTMMAT
  • COGZD1: CLOSE + DELETE file T-* (automatico)

Documentato da: Claude (Anthropic) Data: 2026-03-03 Versione: 1.0