105 lines
2.7 KiB
C#
105 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml.Serialization;
|
|
|
|
namespace IOB_WIN_WS.DTO
|
|
{
|
|
public class EmmegiDTO
|
|
{
|
|
/// <summary>
|
|
/// Converte valore raw stato impianto nel formato specifico
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static StatusDTO GetStatus(string xmlRaw)
|
|
{
|
|
StatusDTO answ = new StatusDTO();
|
|
// deserializzo
|
|
var serializer = new XmlSerializer(typeof(StatusDTO));
|
|
using (var reader = new StringReader(xmlRaw))
|
|
{
|
|
answ = (StatusDTO)serializer.Deserialize(reader);
|
|
}
|
|
return answ;
|
|
}
|
|
public enum MachineStatus
|
|
{
|
|
// manuale
|
|
ON,
|
|
// attrezzaggio = zero assi
|
|
SETUP,
|
|
// pronta, in automatico, in attesa carico pezzi
|
|
READY,
|
|
// posizionamento (teste morse o cambio utensili)
|
|
POSITIONING,
|
|
// attesa (carico/scarico barra, operazioni utente)
|
|
WAIT,
|
|
// in lavorazione effettiva
|
|
WORKING,
|
|
// emergenza
|
|
EMERGENCY,
|
|
// in allarme
|
|
ALARM,
|
|
|
|
// offline (poweroff?)
|
|
OFF_LINE,
|
|
OFF,
|
|
ERROR
|
|
}
|
|
|
|
|
|
[XmlRoot("result_workstation_status")]
|
|
public class StatusDTO
|
|
{
|
|
[XmlElement("workstation")]
|
|
public Workstation Workstation { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Obj workstation
|
|
/// </summary>
|
|
public class Workstation
|
|
{
|
|
|
|
[XmlElement("id")]
|
|
public WorkstationId Id { get; set; }
|
|
|
|
[XmlElement("status")]
|
|
public MachineStatus Status { get; set; }
|
|
|
|
[XmlElement("status_timestamp")]
|
|
public string StatusTimestampRaw { get; set; }
|
|
|
|
[XmlIgnore]
|
|
public DateTime StatusTimestamp
|
|
{
|
|
get => DateTime.ParseExact(StatusTimestampRaw, "yyyy-MM-dd HH:mm:ss", null);
|
|
}
|
|
|
|
[XmlElement("operator")]
|
|
public string Operator { get; set; }
|
|
|
|
[XmlElement("job_id")]
|
|
public string JobId { get; set; }
|
|
|
|
[XmlElement("operations")]
|
|
public int Operations { get; set; }
|
|
|
|
[XmlElement("tot_operations")]
|
|
public int TotalOperations { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Obj WorkstationId
|
|
/// </summary>
|
|
public class WorkstationId
|
|
{
|
|
[XmlAttribute("id")]
|
|
public string IdValue { get; set; }
|
|
}
|
|
}
|
|
}
|