Vai al contenuto

Sorgenti e regole di mapping

Sorgente e connessione

mapping_sources contiene tipo funzionale, host, porta, database/schema, utente e riferimento password. Driver, charset e opzioni tecniche sono nel JSON connection_json.

La connessione può essere risolta anche tramite:

{
  "config_file": "dati_macchine.php",
  "config_ref": "dati_macchina"
}

È un riferimento a un profilo disponibile, da adattare alla propria configurazione. Il resolver C# legge array PHP letterali senza eseguire PHP, accetta basename root conformi a dati_*.php e blocca percorsi arbitrari. Le opzioni JSON esplicite hanno precedenza sul file.

Il tipo funzionale ERP può essere configurato nell'amministrazione, ma l'engine 0.1.0 accetta soltanto DATI_MACCHINA MySQL/MariaDB.

Campi sempre richiesti

Campo regola Significato
machine_id Macchina nel MES
source_id Sorgente configurata
source_machine_code Valore del codice macchina nella sorgente
field_machine_code Nome della colonna codice macchina
status_value_field Nome della colonna stato grezzo
field_snap_date Timestamp dell'evento; default previsto created_at
field_source_row_id ID esposto dalla sorgente di lettura
field_elaborato Flag da leggere/filtrare nella sorgente
elaborato_update_table Tabella fisica da marcare dopo l'acquisizione
elaborato_update_id_field ID della tabella fisica, confrontato con quello letto
elaborato_update_field Colonna flag fisica da impostare a 1

L'obbligatorietà è definita nel progetto AXP; schema installato e righe esistenti devono essere allineati. Ogni valore stato effettivo deve avere una voce nella tabella figlia.

Lettura da vista, update su tabella fisica

La sorgente di lettura può essere una vista. L'ID che espone deve permettere di individuare la riga nella tabella fisica di update. Carica campi distingue tabelle/viste di lettura dalle sole tabelle fisiche proposte per la marcatura.

Leggi riga dalla sorgente: Elaborato = 0
Commit della transazione MES
Marca tabella fisica: Elaborato = 1, usando l'ID letto

Filtro SQL, nomi colonna e codice macchina devono riferirsi allo schema reale. Un filtro legacy su un campo inesistente rende la regola non valida anche quando la connessione funziona.

Campi opzionali

Mapping Valore nel MES
field_operator_aux operator_aux
field_note source_note, distinta dalla nota manuale produzione
field_quantitadalavorare Quantità da lavorare
field_colpi_ora_panel, field_pezzi_colpo_panel, field_efficency_panel Valori pannello
field_colpi_ora, field_pezzi_colpo Colpi/ora e pezzi/colpo sorgente
field_datetime_inizio Timestamp iniziale, normalizzato in UTC
Coppie field_time_job_*, field_time_stopped_*, field_duration_job_* Ore/minuti di job, fermo e durata

Ore non negative e minuti 0–59 sono validati. machine_status.efficiency resta l'efficienza canonica calcolata dall'engine; il valore efficency_panel è separato.

Un campo opzionale appare sul web soltanto con regola e sorgente abilitate, colonna configurata e schema centrale disponibile. Applicare le migrazioni prima di validare il nuovo Worker.