Files
6098/Cowain.Bake.Common/Models/MESModel.cs

297 lines
9.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<CellsMode> Cells { get; set; } = new List<CellsMode>();
}
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<ModePPMs> PPMs { get; set; } = new List<ModePPMs>(); //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<AlerInfoModel> AlertInfo { get; set; } = new List<AlerInfoModel>();
}
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<AlertInfoModel> AlertInfo { get; set; } = new List<AlertInfoModel>();
}
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<EqptParameterModel> ParameterInfo { get; set; } = new List<EqptParameterModel>();
}
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<EqptParameterModel> ParameterInfo { get; set; } = new List<EqptParameterModel>();
}
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<CellModel> Cells { get; set; } = new List<CellModel>(); //是电芯组
}
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<ProcessData> ParameterInfo { get; set; } = new List<ProcessData>();
}
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<ParametersModel> Parameters { get; set; } = new List<ParametersModel>();
public List<MaterialInfoModel> MaterialInfo { get; set; } = new List<MaterialInfoModel>();
}
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<CellModel> Cells { get; set; } = new List<CellModel>();
public List<ParametersModel> Parameters { get; set; } = new List<ParametersModel>();
}
}
}