using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Reflection; namespace TsSFCDeivceClient.Model.DeviceWarrantyRequest { /// /// 设备维修申请单 /// public class DeviceWarrantyRequestForm { /// /// 主键编号 /// public int AutoID { get; set; } /// /// 唯一编号 /// public Guid GUID { get; set; } /// /// 设备表主键编号 /// public int EquipmentPK { get; set; } /// /// 设备编号 /// public string EquipmentID { get; set; } /// /// 设备名称 /// public string EquipmentName { get; set; } /// /// 发生地点 /// public int Location { get; set; } /// /// 发生地点 /// public string LocationName { get; set; } /// /// 是否有在途生产单 /// public bool InProduction { get; set; } public string InProductionText { get { return InProduction ? "是" : "否"; } } /// /// 批次号 /// public string Batch { get; set; } /// /// 故障现象 /// public string FaultSymptoms { get; set; } /// /// 设备设施部 /// public string ReceivingDep { get; set; } /// /// 是否停机状态 /// public bool IsDown { get; set; } public string IsDownText { get { return IsDown ? "停机" : "非停机"; } } /// /// 表单编号(版本) /// public int FormVer { get; set; } /// /// 申请时间 /// public DateTime? CreatOn { get; set; } /// /// 申请人 /// public int? CreatBy { get; set; } public string CreatorName { get; set; } /// /// 申请部门 /// public int? CreatDept { get; set; } /// /// 申请部门名称 /// public string CreatDeptName { get; set; } /// /// 修改时间 /// public DateTime? ModifyOn { get; set; } /// /// 修改人 /// public int? ModifyBy { get; set; } /// /// 修改人姓名 /// public string ModifyByName { get; set; } public DeviceWarrantyRequestMaintaionInfo MaintaionItems { get; set; } public List EvaluatorItems { get; set; } [JsonIgnore] public DateTime? EvaluatorTimePE { get { return EvaluatorItems.FirstOrDefault(x => x.EvaluatorCode == "PE")?.CreatOn; } } [JsonIgnore] public DateTime? EvaluatorTimeQE { get { return EvaluatorItems.FirstOrDefault(x => x.EvaluatorCode == "QE")?.CreatOn; } } [JsonIgnore] public string EvaluatorPE { get { return EvaluatorItems.FirstOrDefault(x => x.EvaluatorCode == "PE")?.CreatorName; } } [JsonIgnore] public string EvaluatorQE { get { return EvaluatorItems.FirstOrDefault(x => x.EvaluatorCode == "QE")?.CreatorName; } } public DateTime? RestorationConfirmationOn { get; set; } public int RestorationConfirmationBy { get; set; } public string RestorationConfirmationOnName { get; set; } public DeviceWarrantyRequestFormStatus FormStatus { get { if (MaintaionItems == null || MaintaionItems.SubmitBy == 0) { return DeviceWarrantyRequestFormStatus.AwaitingRepair; } else if (MaintaionItems.SubmitBy > 0) { if (RestorationConfirmationBy > 0) { return DeviceWarrantyRequestFormStatus.BeComplate; } return DeviceWarrantyRequestFormStatus.AwaitingApproval; } return DeviceWarrantyRequestFormStatus.AwaitingRepair; } } public string FormStatusText { get { return ToDescription(FormStatus); } } public string toJson() { return JsonConvert.SerializeObject(this); } /// /// 获取枚举类型的描述 /// /// /// public string ToDescription(DeviceWarrantyRequestFormStatus enumeration) { Type type = enumeration.GetType(); MemberInfo[] memInfo = type.GetMember(enumeration.ToString()); if (null != memInfo && memInfo.Length > 0) { object[] attrs = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false); if (null != attrs && attrs.Length > 0) return ((DescriptionAttribute)attrs[0]).Description; } return enumeration.ToString(); } } }