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.