Vai al contenuto

ASN598 - Stampa certificazioni

Sorgente: cbl/asn598.cbl (4.109 righe) | Tipo: Programma di stampa (chiamabile) su modelli WORDMDL, con file di transito

Menu: Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Stampe > Stampa certificazioni


Scopo

Stampa (o archivia in PDF) le certificazioni/check-list compilate su un intervento di assistenza a richiesta. Dato un id intervento, il programma:

  1. Verifica che, per ogni matricola collegata alla chiamata che ha un modello di certificazione (ASNCHDET.achd-modello-cert), esista la relativa check-list compilata in ASNCHINF. Se manca anche una sola check-list, segnala e (in caso di sola archiviazione) restituisce "CK.LIST INCOMPLETA".
  2. Stampa la check-list di testata chiamata (classe "AI", modello acht-modello-cert) se presente.
  3. Stampa le check-list delle matricole (classe "AM"), una per ciascun modello di certificazione trovato in transito.

Ogni stampa avviene aprendo un file XML di informazioni (WORDMDL) popolato con i dati di chiamata, cliente assistito, destinazione diversa, matricola, operatori delle fasi di workflow (stima problema, stima prestazioni, verifica) e le firme (cliente e tecnico), e mandando in esecuzione il modello WORDMDL risolto tramite ASN028.

E' progettato per essere chiamato (linkage util-asn598): da menu (w-dc-called != "S", con accept dell'id intervento) oppure in background per la sola archiviazione (asn598-fl-archivia = "S", w-dc-elaborazione = "A"), oppure con metodo "service" (SWA050) per la ristampa asincrona via mail.


Interfaccia chiamato (util-asn598)

Campo Uso
asn598-called / asn598-caller Identificativi chiamante/chiamato: attivano la modalita' called (tipo modulo forzato "H", modalita' selezione)
asn598-id-intervento Id intervento da certificare
asn598-fl-archivia "S" → elaborazione "A" (archiviazione PDF senza stampa fisica)
asn598-prog Progressivo modulo ASNMODUL da usare (se > 0) al posto della risoluzione via ASN028
asn598-msg Messaggio di ritorno (es. "CK.LIST INCOMPLETA")

File acceduti

Input/lettura

File Copybook Uso
ASNINTES acit-rec Testata intervento: id chiamata, tecnici, destinazione, data
ASNCHTES acht-rec Testata chiamata: cliente assistito/fatturazione, oggetto, note, operatore, dossier, classe, modello-cert
ASNCHDET achd-rec Righe chiamata: matricola, modello certificazione, matricola sostituita
ASNCHINF achf-rec Check-list compilate (classe "AM"/"AI", oggetto = chiave riga)
ASNCHWKF achw-rec Workflow chiamata (chiave k02): operatori/date fasi stima problema, verifica, stima prestazioni
ASNMATRI / ASNMODEL / ASNMARCH amtr-rec/amod-rec/amrc-rec Matricola, modello, marca
ASNMODUL amst-rec Modulo di stampa (amst-modulo, amst-tipo-path) quando asn598-prog > 0
COGGEANA / COGANAPP / COGAPPOG ana-rec/aap-rec/app-rec Cliente assistito e appoggi
CRMANAGR / CRMANANF / CRMINFOR cra-rec/nnf-rec/ipt-rec Cliente potenziale CRM (se assistito con codice 0)
COGDESTI / COGDEST2 dst-rec/dst2-rec Destinazione diversa e dati aggiuntivi
COGDESCR / COGDESAG cde-rec/dag-rec Descrizioni; descrizioni merce (personalizzazione Endonova, cerca-cogdesag)
COGMERCI mer-rec Merce collegata alla matricola
PRNTOPER ptop-rec Descrizioni operatori
COGIMAGE img-rec Galleria immagini chiamata (chiave k02): firma cliente e firma tecnico
COGRIFER rif-rec (chiave k02)
COGRACMC (chiave k02)
ASNINDAG aitd-rec Note intervento (tipo "F")
ASNS03 (subroutine) Calcolo prezzo prestazione/materiale (listino/fascia cliente)

Output

File Copybook Scrittura
filecert (asn598_certificati.txt, line sequential) inf-cert-rec Elenco file certificazione generati (nome completo, nome file, tipo/classe, modello) per la successiva archiviazione

Transito

File Scopo
cogtrans (#$asn598-{oper}-{data}{ora}) Buffer modelli certificazione matricola da stampare (tipo/mod/id/occurs). Chiave 1 tipo-mod + mod-cert + id + occurs. Cancellato in chiusura

Chiavi secondarie

  • cogtrans.k01, cogrifer.k02, cogracmc.k02, asnchwkf.k02, asnintes.k02, cogimage.k02

Copybook principali

Working-storage: costanti-assist, wgrave, wnscr, wopenf, wstato, cogazien, utils52, utils68, utils93, utilu06, utilu10, utilu20, utilw92, utilgesdebug, wgrid, utilgdad, utilasn028, utilasns03, utilasn230, utilasn510, utildlg, utils54, utilwordmdl, utilncnf, utilcrms10, l-copiaf. Linkage: wcont, u-copiaf, utilswa050, wcont1, utilasn598. Fine procedure: grave, mmmask, opengen, stato, stato1, winmsg, msgmerce, gesdebug, getdcont, sendw92, asn598.prc, chiavi.

Programmi chiamati

Programma Operazione Scopo
WORDMDL Apri-XML / Aggiungi-XML / Chiudi-XML / Esegui Composizione ed esecuzione del modello di certificazione (stampa o salvataggio PDF)
ASN028 (lookup modello) Risoluzione nome/tipo-path del modello di stampa dal tipo modulo + modello scheda
COGS54 Selezione periferica (non in archiviazione)
W92 (send-w92) R Risoluzione destinazione diversa (indirizzo, CAP/loc/prov)
ASNS03 Calcolo prezzo prestazione/materiale su listino/fascia cliente
COGU06 Estrai-da-doc Estrazione file firma dalla galleria immagini
COPIAF copy/delete Trasporto file firma cliente/tecnico e file PDF/PCL tra server e client
ASN230 ASN230-CALLED F9: ricerca intervento (da menu)
SWA050 RC Ristampa via "service" (invio mail all'operatore) quando metodo ristampa = "S"
RNEWCONF Lettura configurazioni

Configurazioni RNEWCONF (x99-confi, pac C)

Idx Gruppo Parametro Variabile Effetto
01 STAMPE PERIFERICA-STAMPA-FILE tm-cfg-prf-stampa Periferica per stampa su file (archiviazione PCL)
02 STAMPE PATH-STAMPA-FILE tm-cfg-path-stampa Path stampa file
03 ASS-STRUM PREST-RESO-NON-RIPARATO tm-cfg-prest-reso-nr Prestazione reso non riparato
04 AREAAPP MODO-STAMPA-INTERVENTO tm-cfg-modo-stampa "D" → PDF diretto da WORDMDL (wordmdl-save-as); altrimenti PCL
05 AREAAPP PATH-FTP-BAT tm-cfg-path-ftp Cartella di destinazione PDF/PCL archiviati
06 ASS-STRUM STAMPA-CHECK-S tm-cfg-stampa-check-s Etichetta valore check "S"
07 ASS-STRUM STAMPA-CHECK-N tm-cfg-stampa-check-n Etichetta valore check "N"
08 STAMPE PATH-STAMPA-FILE tm-cfg-file-stampa File PCL sorgente da copiare in archiviazione
09 ass-chiam gestione-certificazioni tm-cfg-gest-certificazioni Se != "M" ci si ferma dopo la check-list di testata
10 arc-ott path-apri-file tm-cfg-path-apri-file Path locale file firma
11 assist path-firma-tecnico tm-cfg-path-firma-tecnico Path immagini firma tecnico
12 assist path-firma-tecnico-cs tm-cfg-path-firma-tecnico-cs "S" → firma tecnico sul server
13 cogesys debug tm-cfg-debug Debug
14 azienda tipo-cap-dest-diverse tm-cfg-tipo-cap "A" → CAP/loc/prov alfanumerici da W92
15 areaapp modo-ristampa-intervento tm-cfg-modo-ristampa-int "S" ristampa via service (SWA050); "I"/"G" ristampa gestionale via WORDMDL

Logica di elaborazione

Ingresso

Da menu: accept id intervento (a-tm-id, con F9 ricerca ASN230), poi eventuale accept del metodo ristampa (a-tm-metodo-ristampa, visibile secondo config 15), conferma F3. Chiamato: id preso dal linkage, si va direttamente ad a-avanti.

Metodo ristampa "service" (call-stampa-service)

Se tm-metodo-ristampa = "S": invoca SWA050 (RC) che inoltra la ristampa al Service; l'esito viene inviato via mail all'operatore. Il programma termina.

Pre-stampa (b-pre-stampa)

Apre il transito e il file filecert. Scandisce ASNCHDET: per ogni riga con modello di certificazione verifica in ASNCHINF (classe "AM") la presenza della check-list compilata; se presente scrive il modello in transito, altrimenti pone w-ok-stampa = "N".

Firme (cerca-firme)

Compone l'oggetto immagine firma dell'intervento e cerca in COGIMAGE (tipo "A2", tipo "IM") il progressivo dell'immagine firma cliente (cerco-firma-int); estrae il file via COGU06 e lo copia in locale (COPIAF) come firma.png. Se l'intervento ha un tecnico assegnato, ripete per la firma tecnico (cerco-firma-tec), copiando firma_tec.png dalla path configurata.

Stampa (b-stampa per matricola, b-stampa-testa per testata)

Per ogni certificazione: apre il modello (apri-modello → ASN028 o ASNMODUL, apre XML), popola i tag di testata e dettaglio (dati chiamata, cliente/potenziale CRM, destinazione, matricola SN/inventario/merce, operatori workflow, note, valori check tramite le rotture ROTTURA-n), poi chiudi-modello esegue WORDMDL. In archiviazione (w-dc-elaborazione = "A"): se modo-stampa = "D" salva direttamente il PDF in path-ftp, altrimenti crea il PCL e lo copia (COPIAF) nella path di output con nome _cert_<id>[_modello]; scrive il record in filecert.

Note implementative

  • Errori non bloccanti (firme mancanti, copie non riuscite) sono tracciati via gesdebug-write-warning/gesdebug-write-error, non con message box.
  • Il nome del file di output distingue certificazione di testata (w-tipo-cert = 1, _cert_<id-intervento>) da certificazione matricola (_cert_<id-chiamata>_<modello>).
  • Il cliente assistito con codice 0 viene trattato come cliente potenziale CRM (CRMANAGR/CRMANANF/CRMINFOR).
  • L'etichetta di menu ("Stampa certificazioni") coincide con la funzione reale.