445 lines
17 KiB
C#
445 lines
17 KiB
C#
namespace MP_IO.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// SALVA x macchina KVP parametro/valore:
|
|
/// GET: IOB/addOptPar/SIMUL_03?pName=PZREQ&pValue=1000
|
|
/// </summary>
|
|
public interface IIOBService
|
|
{
|
|
#region Public Methods
|
|
|
|
/// <param name="id"></param>
|
|
/// <param name="pName"></param>
|
|
/// <param name="pValue"></param>
|
|
string addOptPar(string id, string pName, string pValue);
|
|
|
|
/// <summary>
|
|
/// AGGIUNGE TASK richiesto x macchina:
|
|
/// GET: IOB/addTask2Exe/3010?taskName=startSetup&taskVal=T190406101512
|
|
/// GET: IOB/addTask2Exe/3010?taskName=stopSetup&taskVal=T190406101512
|
|
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=setProg&taskVal=P00000001
|
|
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=setComm&taskVal=ODL_0000123
|
|
/// GET: IOB/addTask2Exe/SIMUL_03?taskName=setArt&taskVal=ART_0000321
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="taskName"></param>
|
|
/// <param name="taskVal"></param>
|
|
string addTask2Exe(string id, string taskName, string taskVal);
|
|
|
|
/// <summary>
|
|
/// Richiesta chiusura manuale ODL x macchina (popup utente):
|
|
/// GET: IOB/askCloseODL/SIMUL_03?idxOdl=123
|
|
/// </summary>
|
|
/// <param name="id">id macchina</param>
|
|
/// <param name="idxOdl">idx dell'ODL da chiudere</param>
|
|
/// <returns>bool esecuzione</returns>
|
|
bool askCloseODL(string id, int idxOdl);
|
|
|
|
/// <summary>
|
|
/// Chiude ODL x macchina:
|
|
/// GET: IOB/closeODL/SIMUL_03?idxOdl=123&dtEve=20230323151100000&dtCurr=20230323221100000
|
|
/// </summary>
|
|
/// <param name="id">id macchina</param>
|
|
/// <param name="idxOdl">idx dell'ODL da chiudere</param>
|
|
/// <param name="dtEve">DataOra evento</param>
|
|
/// <param name="dtCurr">DataOra corrente x fix</param>
|
|
/// <returns>bool esecuzione</returns>
|
|
bool closeODL(string id, int idxOdl, string dtEve = "", string dtCurr = "");
|
|
|
|
/// <summary>
|
|
/// Chiude PODL --> ODL x macchina:
|
|
/// GET: IOB/closePODL/SIMUL_03?idxPOdl=123&dtEve=20230323151100000&dtCurr=20230323221100000
|
|
/// </summary>
|
|
/// <param name="id">id macchina</param>
|
|
/// <param name="idxPOdl">idx del POdl da chiudere</param>
|
|
/// <param name="dtEve">DataOra evento</param>
|
|
/// <param name="dtCurr">DataOra corrente x fix</param>
|
|
/// <returns>bool esecuzione</returns>
|
|
bool closePODL(string id, int idxPOdl, string dtEve = "", string dtCurr = "");
|
|
|
|
/// <summary>
|
|
/// GET: IOB/enabled/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string enabled(string id);
|
|
|
|
/// <summary>
|
|
/// Processa una chiamata POST per l'invio di un array Json di oggetti input (EVENTI)
|
|
/// POST: IOB/evListJson/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id">ID dell'IOB</param>
|
|
/// <returns></returns>
|
|
string evListJson(string id);
|
|
|
|
/// <summary>
|
|
/// Sistema Dossier/Snapshot giornalieri x impianto indicato, andando a generare 1 Dossier
|
|
/// giornaliero x ogni giornata dall'ultimo registrato alla data corrente
|
|
/// es: http://url_site/MP/IO/IOB/fixDailyDossier/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string fixDailyDossier(string id);
|
|
|
|
/// <summary>
|
|
/// Sistema ODL giornalieri x impianto indicato, andando a generare 1 ODL giornaliero x ogni
|
|
/// giornata dall'ultimo ODL aperto alla data corrente
|
|
/// es: http://url_site/MP/IO/IOB/fixDailyOdl/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string fixDailyOdl(string id);
|
|
|
|
/// <summary>
|
|
/// Sistema ODL giornalieri x impianto indicato, andando a generare 1 ODL giornaliero x ogni
|
|
/// giornata dall'ultimo ODL aperto alla data corrente + conferma pezzi (es TFT x ODL
|
|
/// giornalieri energia)
|
|
/// es: http://url_site/MP/IO/IOB/fixDailyOdlConfPzCount/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string fixDailyOdlConfPzCount(string id);
|
|
|
|
/// <summary>
|
|
/// Invio record flog secco
|
|
/// GET: IOB/flog/SIMUL_03?flux=PROG&valore=P0001&dtEve=20161223180600000&dtCurr=20161223180600000&cnt=999&disabKA=false
|
|
/// </summary>
|
|
/// <param name="id">IdxMacchina</param>
|
|
/// <param name="flux">CodFlux</param>
|
|
/// <param name="valore">Valore da registrare</param>
|
|
/// <param name="dtEve">DataOra evento (IOB time)</param>
|
|
/// <param name="dtCurr">DataOra corrente (IOB time)</param>
|
|
/// <param name="cnt">Contatore eventi (IOB)</param>
|
|
/// <param name="disabKA">Disabilitazione scrittura record KeepAlive</param>
|
|
/// <returns></returns>
|
|
string flog(string id, string flux, string valore, string dtEve, string dtCurr, string cnt, string disabKA = "false");
|
|
|
|
/// <summary>
|
|
/// Processa una chiamata POST per l'invio di un array Json di oggetti fluxLog
|
|
/// PUT: IOB/flogJson/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id">ID dell'IOB</param>
|
|
/// <param name="disabKA">Disabilitazione della scrittura del record KeepAlive</param>
|
|
/// <returns></returns>
|
|
string flogJson(string id, string disabKA = "false");
|
|
|
|
/// <summary>
|
|
/// Creazione nuovo ODL dato CodXdl + numPz
|
|
/// GET: IOB/forceCreatePOdl/SIMUL_03?CodXdl=ABCD_1234&numPz=5
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="CodArt"></param>
|
|
/// <param name="CodGruppo"></param>
|
|
/// <param name="numPz"></param>
|
|
/// <returns>IdxODL creato</returns>
|
|
int forceCreatePOdl(string id, string CodArt, string CodGruppo, int numPz);
|
|
|
|
/// <summary>
|
|
/// Chiude ODL precedente ed avvia uno nuovo (duplicandolo e sitemando quantità RIMANENTE),
|
|
/// e CONFERMA produzione...
|
|
/// GET: IOB/forceSplitOdl/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns>Esito chiamata (OK/vuoto)</returns>
|
|
string forceSplitOdl(string id);
|
|
|
|
/// <summary>
|
|
/// Chiude ODL precedente ed avvia uno nuovo (duplicandolo e sitemando quantità
|
|
/// RIMANENTE), e CONFERMA produzione...
|
|
/// GET: IOB/forceSplitOdl/SIMUL_03?doConfirm=true&qtyFromLast=true&roundStep=150&extOrderCode=ABCDE1234
|
|
/// </summary>
|
|
/// <param name="id">id impianto</param>
|
|
/// <param name="doConfirm"></param>
|
|
/// <param name="qtyFromLast"></param>
|
|
/// <param name="roundStep"></param>
|
|
/// <param name="keyRichiesta">Cod esterno da legare all'ODL x tracciare lotti prod</param>
|
|
/// <param name="matrOpr">matricola operatore che effettua la fuzione (default = 0)</param>
|
|
/// <returns>Esito chiamata (OK/vuoto)</returns>
|
|
string forceSplitOdlFull(string id, bool doConfirm, bool qtyFromLast, int? roundStep, string keyRichiesta = "", int matrOpr = 0);
|
|
|
|
/// <summary>
|
|
/// Avvia PODL indicato
|
|
/// - se esistesse un ODL da altro PODL --> chiude
|
|
/// - se fosse già in essere ODL collegato --> lascia aperto
|
|
/// - se fosse chiuso ODL collegato --> duplica PODL e poi avvia nuovo ODL.
|
|
/// GET: IOB/forceStartPOdl/SIMUL_03?idxPODL=123&dtEve=20230323151100000&dtCurr=20230323221100000
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="idxPODL">idx del PDL da avviare</param>
|
|
/// <param name="dtEve">data-ora di avvio (opzionale)</param>
|
|
/// <param name="dtCurr">data-ora attuale (opzionale)</param>
|
|
/// <param name="matrOpr">matricola operatore (default 0)</param>
|
|
/// <returns>Esito chiamata (OK/vuoto)</returns>
|
|
string forceStartPOdl(string id, int idxPODL, string dtEve = "", string dtCurr = "", int matrOpr = 0);
|
|
|
|
/// <summary>
|
|
/// Recupera elenco articoli dei PODL correnti:
|
|
/// GET: IOB/getArtCurrPODL
|
|
/// </summary>
|
|
/// <returns>Json contenente lista oggetti ARTICOLI serializzati</returns>
|
|
string getArtCurrPODL();
|
|
|
|
/// <summary>
|
|
/// Recupera ArtNum dato CodXdl (per impianti che accettano solo INT in scrittura):
|
|
/// GET: IOB/getArtNum/SIMUL_03?CodXdl=ABC123
|
|
/// </summary>
|
|
/// <param name="id">IdxMacchina (NON considerato)</param>
|
|
/// <param name="CodArt">CodXdl richiesto, se vuoto restituisce TUTTI i valori in tabella di decodifica</param>
|
|
/// <returns>Json contenente le righe delle codifiche attive Articolo/Numero</returns>
|
|
string getArtNum(string id, string CodArt = "");
|
|
|
|
/// <summary>
|
|
/// Recupera elenco articoli USATI:
|
|
/// GET: IOB/getArtUsed
|
|
/// </summary>
|
|
/// <returns>Json contenente lista oggetti ARTICOLI serializzati</returns>
|
|
string getArtUsed();
|
|
|
|
/// <summary>
|
|
/// Recupera COUNTER x macchina:
|
|
/// GET: IOB/getCounter/5
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getCounter(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera COUNTER x macchina dal CONTEGGIO dei TCRecorded:
|
|
/// GET: IOB/getCounterTCRec/5
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getCounterTCRec(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera DATI correnti x macchina:
|
|
/// GET: IOB/getCurrData/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns>Json contenente la riga di stato macchina</returns>
|
|
string getCurrData(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera ODL corrente x macchina:
|
|
/// GET: IOB/getCurrODL/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getCurrODL(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce la quantità pezzi dell'odl correntemente in lavorazione sulla macchina...
|
|
/// GET: IOB/getCurrOdlQtaReq/SIMUL_01
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
int getCurrOdlQtaReq(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce intera riga dell'odl correntemente in lavorazione sulla macchina...
|
|
/// GET: IOB/getCurrOdlRow/SIMUL_01
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getCurrOdlRow(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce data-ora inizio dell'odl correntemente in lavorazione sulla macchina...
|
|
/// es: http://url_site/MP/IO/IOB/getCurrOdlStart/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getCurrOdlStart(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera DATI PODL correnti (=NON AVVIATI) x macchina:
|
|
/// GET: IOB/getCurrPODL/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id">id macchina, se "" mostra tutto</param>
|
|
/// <returns>Json contenente lista oggetti PODL serializzati</returns>
|
|
string getCurrPODL(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce intera riga dello stato di macchina...
|
|
/// GET: IOB/getCurrStatoRow/SIMUL_01
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getCurrStatoRow(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce un array JSon di files di una IOB
|
|
/// PUT: IOB/getFiles/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id">ID dell'IOB</param>
|
|
/// <returns>Oggetto Json in formato MapoSDK.fileEmbed</returns>
|
|
string getFiles(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce il valore dello stato di IDLE della macchina, quindi SOLO SE NON é in lavoro
|
|
/// e già convertito in minuti...
|
|
/// GET: IOB/getIdlePeriod/SIMUL_01
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
int getIdlePeriod(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce il (primo) codice IOB da dover gestire (se un IOBMAN chiede di gestirne uno
|
|
/// in +...)
|
|
/// </summary>
|
|
/// <param name="GWIP">IP del Gateway</param>
|
|
/// <returns></returns>
|
|
string getIob2call(string GWIP);
|
|
|
|
/// <summary>
|
|
/// Recupera elenco articoli USATI per ultimi:
|
|
/// - quelli dei PODL correnti
|
|
/// - quelli degli ultimi n (DOSS_LastArt in config) ODL lavorati
|
|
/// GET: IOB/getArtByMacc
|
|
/// </summary>
|
|
/// <returns>Json contenente lista oggetti ARTICOLI serializzati</returns>
|
|
string getLastArtByMacc(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera DATI dell'ultimo dossier dato articolo:
|
|
/// GET: IOB/getLastDossArt/cod_articolo
|
|
/// </summary>
|
|
/// <param name="id">codice articolo, se vuoto --> non fa nulla</param>
|
|
/// <returns>Json contenente lista oggetti DOSSIER serializzati</returns>
|
|
string getLastDossArt(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera DATI dell'ultimo dossier dato macchina:
|
|
/// GET: IOB/getLastDossByMacc/cod_articolo
|
|
/// </summary>
|
|
/// <param name="id">codice articolo, se vuoto --> non fa nulla</param>
|
|
/// <returns>Json contenente lista oggetti DOSSIER serializzati</returns>
|
|
string getLastDossByMacc(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera DATI dell'ultimo dossier dato PODL correnti:
|
|
/// GET: IOB/getLastDossPODL
|
|
/// </summary>
|
|
/// <returns>Json contenente lista oggetti DOSSIER serializzati</returns>
|
|
string getLastDossPODL();
|
|
|
|
/// <summary>
|
|
/// Recupera elenco ListValues data tabella:
|
|
/// GET: IOB/getListValByTable
|
|
/// </summary>
|
|
/// <param name="id">nome tabella x cui filtrare risultati, se "" mostra tutto</param>
|
|
/// <returns>Json contenente lista oggetti ListValue serializzati</returns>
|
|
string getListValByTable(string id);
|
|
|
|
/// <summary>
|
|
/// Restituisce dati di associazione tra macchina, device IOB chiamante e sue info
|
|
/// </summary>
|
|
/// <param name="id">Id della macchina</param>
|
|
/// <returns></returns>
|
|
string getM2IOB(string id);
|
|
|
|
/// <summary>
|
|
/// restituisce elenco parametri correnti come una List Json di oggetti objItem
|
|
/// GET: IOB/getObjItems/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id">ID dell'IOB</param>
|
|
/// <returns></returns>
|
|
string getObjItems(string id);
|
|
|
|
/// <summary>
|
|
/// restituisce elenco parametri CHE RICHIEDONO scrittura su PLC come una List Json di
|
|
/// oggetti objItem
|
|
/// GET: IOB/getObjItems2Write/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id">ID dell'IOB</param>
|
|
/// <returns></returns>
|
|
string getObjItems2Write(string id);
|
|
|
|
/// <summary>
|
|
/// GET: IOB/getOptPar/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getOdlAtDate(string id, string dateRif);
|
|
|
|
string getOptPar(string id);
|
|
|
|
/// <summary>
|
|
/// Recupera PODL prossimo da avviare x macchina:
|
|
/// GET: IOB/getPOdlNext/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getPODL(string id, int idxPODL);
|
|
|
|
string getPOdlAct(string id);
|
|
|
|
string getPOdlNext(string id);
|
|
|
|
/// <summary>
|
|
/// GET: IOB/getTask2Exe/SIMUL_03
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
string getTask2Exe(string id);
|
|
|
|
string getXdlNum(string id, string CodXdl = "");
|
|
|
|
string Index();
|
|
|
|
string input(string id, string valore, string dtEve, string dtCurr, string cnt);
|
|
|
|
string liveJson(string id);
|
|
|
|
string liveRec(string id, string liveData);
|
|
|
|
string rawTransfJson(string id);
|
|
|
|
string remOptPar(string id, string pName);
|
|
|
|
string remTask2Exe(string id, string taskName);
|
|
|
|
string resetCurrODL(string id);
|
|
|
|
string saveConf(string id);
|
|
|
|
string saveConfYaml(string id);
|
|
|
|
string saveDataItems(string id);
|
|
|
|
string saveMachineIobConf(string id);
|
|
|
|
string savePzCountInc(string id, string qty);
|
|
|
|
string savePzCountIncAtDate(string id, string qty, string dtEve = "", string dtCurr = "");
|
|
|
|
string sendAlarmBankUpdate(string id, string memAddr, int index, int currStatus);
|
|
|
|
string sendReboot(string id, string mac);
|
|
|
|
string sendRebootGateway(string GWIP);
|
|
|
|
string setCounter(string id, string counter);
|
|
|
|
string setM2IOB(string id, string IOB_name);
|
|
|
|
string setObjItems(string id);
|
|
|
|
string setRedisHashDict(string id);
|
|
|
|
string slog(string id);
|
|
|
|
string takeFlogSnapshot(string id);
|
|
|
|
string ulog(string id, string flux, string valore, string dtEve, string dtCurr, string cnt, string matrOpr, string label, string valNum);
|
|
|
|
string ulogJson(string id);
|
|
|
|
string uploadFile(string id);
|
|
|
|
string upsertObjItems(string id);
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |