using Cowain.Bake.Common.Enums; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Unity; namespace Cowain.Bake.Common.Models { public class MESModel { //static IUnityContainer _unityContainer; public MESModel(IUnityContainer unityContainer) { //_unityContainer = unityContainer; } public class MesBase { public string Cmd { get; set; } } public class MESReturnCmdModel : MesBase { public MESReturnModelWithKeyFlag Info { get; set; } } public class MESReturnModel { public string Key { get; set; } public string ResultFlag { get; set; } public string MOMMessage { get; set; } } public class MESReturnModelWithKeyFlag : MESReturnModel { public string KeyFlag { get; set; } } #region 出站 public class MESReturnOutputModel : MesBase { public MESReturnCellModel Info { get; set; } } public class MESReturnCellModel : MESReturnModel { public List Cells { get; set; } = new List(); } public class CellsMode { public string CellNo { get; set; } = ""; public string CellInfo { get; set; } = ""; } #endregion //每个接口都有Key和设备编号,所以都从这里继承 public class EqptParameter : MesBase { public EqptParameter() { Cmd = "EqptParameter"; } public EqptModel Info { get; set; } = new EqptModel(); } public class EqptModel { public string Key { get; set; }=Guid.NewGuid().ToString(); public string EquipmentCode { get; set; } = "HCHK0010"; //要从数据库中获取 } public class EqptAlive : MesBase { public EqptAlive() { Cmd = "EqptAlive"; } public EqptAliveModel Info { get; set; } = new EqptAliveModel(); } public class EqptAliveModel: EqptModel { public string PPM { get; set; } = ""; //设备PPM(单台设备需要提供的PPM) public List PPMs { get; set; } = new List(); //2子设备PPM(多台设备共用一个心跳时,需要用这个字段) } public class ModePPMs { public string SubEqCode { get; set; } = ""; //子设备编码 public string PPM { get; set; } = ""; //设备PPM(单台设备需要提供的PPM } public class EqptStatus : MesBase { public EqptStatus() { Cmd = "EqptStatus"; } public EqptStatusModel Info { get; set; } = new EqptStatusModel(); } public class EqptStatusModel: EqptModel { public string LocationID { get; set; } = ""; public string StatusCode { get; set; } = ""; public List AlertInfo { get; set; } = new List(); } public class AlerInfoModel { public string AlertCode { get; set; } = ""; public string AlertMessage { get; set; } = ""; } public class EqptAlert : MesBase { public EqptAlert() { Cmd = "EqptAlert"; } public EqptAlertModel Info { get; set; } = new EqptAlertModel(); } public class EqptAlertModel: EqptModel { public List AlertInfo { get; set; } = new List(); } public class AlertInfoModel { public string AlertCode { get; set; } = ""; public string AlertReset { get; set; } = ""; public string AlertMessage { get; set; } = ""; } public class EqptParameterReturnCmd : MesBase { public Data Info { get; set; } = new Data(); } public class Data : MESReturnModel { public List ParameterInfo { get; set; } = new List(); } public class EqptParameterModel { public string ParameterCode { get; set; } = ""; public string ParameterType { get; set; } = ""; public string TargetValue { get; set; } = ""; public string UOMCode { get; set; } = ""; public string UpperLimit { get; set; } = ""; public string LowerLimit { get; set; } = ""; public string Description { get; set; } = ""; } public class ParameterChangeCmd : MesBase { public ParameterChangeCmd() { Cmd = "ParameterChange"; } public ParameterChange Info { get; set; } = new ParameterChange(); } public class ParameterChange: EqptModel { public string EmployeeNo { get; set; } = ""; public List ParameterInfo { get; set; } = new List(); } public class EqptRunCmd : MesBase { public EqptRunCmd() { Cmd = "EqptRun"; } public EqptRun Info { get; set; } = new EqptRun(); } public class EqptRun: EqptModel { public string EmployeeNo { get; set; } = ""; public string Password { get; set; } = ""; public string EquipmentModel { get; set; } = ""; } //7. 16.电芯状态获取 public class CellStateCmd : MesBase { public CellStateCmd() { Cmd = "CellState"; } public CellState Info { get; set; } = new CellState(); } public class CellState: EqptModel { public string CellNo { get; set; } = ""; } public class BakingInputCmd : MesBase { public BakingInputCmd() { Cmd = "BakingInput"; } public BakingInput Info { get; set; } = new BakingInput(); } public class BakingInput : EqptModel { public string TrayNo { get; set; } = ""; public string RecipeName { get; set; } = ""; public string LocationID { get; set; } = ""; public List Cells { get; set; } = new List(); //是电芯组 } public class CellModel { public string CellNo { get; set; } = ""; //电芯号 电芯号才是具体的电芯条码 } public class BakingParameterCmd : MesBase { public BakingParameterCmd() { Cmd = "BakingParameter"; } public BakingParameter Info { get; set; } = new BakingParameter(); } public class BakingParameter:EqptModel { public string LocationID { get; set; } = ""; public string LocalTime { get; set; } = ""; public List ParameterInfo { get; set; } = new List(); } public class ProcessData : EqptParameterModel { public string Value { get; set; } = ""; } public class CellOutputCmd : MesBase { public CellOutputCmd() { Cmd = "CellOutput"; } public InfoModel Info { get; set; } = new InfoModel(); } public class InfoModel : EqptModel { public CellsModel Cells { get; set; } = new CellsModel(); } public class CellsModel { public string CellNo { get; set; } = ""; public string PassFlag { get; set; } = ""; public string NGCode { get; set; } = ""; public string NGMessage { get; set; } = ""; public List Parameters { get; set; } = new List(); public List MaterialInfo { get; set; } = new List(); } public class MaterialInfoModel { public string MaterialCode { get; set; } = ""; public string MaterialLoc { get; set; } = ""; public string Quantity { get; set; } = ""; } public class ParametersModel { public string ParameterCode { get; set; } = ""; public string ParameterDesc { get; set; } = ""; public string Value { get; set; } = ""; public string UpperLimit { get; set; } = ""; public string LowerLimit { get; set; } = ""; public string TargetValue { get; set; } = ""; public string ParameterResult { get; set; } = ""; } public class BakingOutputCmd : MesBase { public BakingOutputCmd() { Cmd = "BakingOutput"; } public BakingOutput Info { get; set; } = new BakingOutput(); } public class BakingOutput : EqptModel { public string TrayNo { get; set; } = ""; public string LocationID { get; set; } = ""; public string OutFlag { get; set; } = "";// 是否出站(Y或空表示出站,N单纯的上传水含量数据) //public string Passflag { get; set; } //public string NGCode { get; set; } public List Cells { get; set; } = new List(); public List Parameters { get; set; } = new List(); } } }