using iWare.Wms.Core;
using iWare.Wms.Core.Util.LowCode.Dto;
using System;
namespace iWare.Wms.Application
{
///
/// 产线产量统计输出参数
///
public class YieldAnalysisOutput
{
///
/// 工件号
///
public string WorkPieceID { get; set; }
///
/// 工件状态
///
public int WorkPieceState { get; set; }
///
/// 工件当前位置序号
///
public int WorkPieceCurrentPositionOrder { get; set; }
///
/// 工件当前位置
///
public string WorkPieceCurrentPosition { get; set; }
///
/// 当前设备
///
public string EquipmentID { get; set; }
///
/// 当前已完成工序流程
///
public string WorkingProcedureCompleted { get; set; }
///
/// 计划工序流程
///
public string WorkingProcedurePlan { get; set; }
///
/// 当前工序
///
public string WorkingProcedureCurrent { get; set; }
///
/// 工序开始时间
///
public DateTime WorkingProcedureStartTime { get; set; }
///
/// 当前工序加工时长
///
public int ProcessingDurationForCurrent { get; set; }
///
/// 总加工时长
///
public int ProcessingDurationTotal { get; set; }
///
/// 首工序上线时间
///
public DateTime WorkPieceinitOnlineTime { get; set; }
///
/// 工序下线时间
///
public DateTime WorkPieceLastOfflineTime { get; set; }
///
/// 数量
///
public int Number { get; set; }
///
/// 供应商
///
public string WorkPieceIDTo1 { get; set; }
///
/// 零件设计尾号
///
public string WorkPieceIDTo2 { get; set; }
///
/// 年月日
///
public string WorkPieceIDTo3 { get; set; }
///
/// 班次
///
public string WorkPieceIDTo4 { get; set; }
///
/// 流水号
///
public string WorkPieceIDTo5 { get; set; }
///
/// 模具号
///
public string WorkPieceIDTo6 { get; set; }
///
/// 炉号
///
public string WorkPieceIDTo7 { get; set; }
///
/// 质量状态
///
public int QualityState { get; set; }
///
/// 质量状态变更人
///
public string QualityStateUpdateUser { get; set; }
///
/// 质量状态变更时间
///
public DateTime QualityStateUpdateTime { get; set; }
///
/// 质量状态变更方式
///
public string QualityStateUpdateMode { get; set; }
///
/// 告警类型
///
public int AlertType { get; set; }
///
/// 告警内容
///
public string AlertMsg { get; set; }
///
/// 备注
///
public string Remarks { get; set; }
///
/// Log添加时间
///
public DateTime LogAddTime { get; set; }
///
/// Log新增备注
///
public string LogAddRemark { get; set; }
///
/// Id主键
///
public long Id { get; set; }
}
///
/// 获取产能分析汇总输出参数
///
public class GetYieldAnalysisInfoOutput
{
///
/// 当前年月份
///
public string CurrentYearMonth { get; set; }
///
/// 报警次数
///
public int AlertNumber { get; set; }
///
/// 报警持续时长
///
public string AlertDuration { get; set; }
///
/// 产能统计
///
public int YieldCount { get; set; }
///
/// 合格统计
///
public int OKCount { get; set; }
}
///
/// 设备状态分析
///
public class GetEquipmentStateAnalysisInfo
{
///
/// 当前年月份
///
public string Month { get; set; }
///
/// 报警次数
///
public int AlarmNum { get; set; }
///
/// 报警持续时长
///
public double Duration { get; set; }
///
/// 产能统计
///
public int YieldCount { get; set; }
public List StatusRatiio{ get;set;}
}
public class EquipmentStateInfo
{
public string EquipmentStateName { get; set; }
public string count { get; set; }//小时
}
public class GetMTBFOutput
{//平均无故障时间MTBF = 总运行时间 / 发生故障次数
///
/// 设备编号
///
public string Code { get; set; }
///
/// 设备名称
///
public string Name { get; set; }
///
/// Alert次数
///
public int AlertCount { get; set; }
///
/// 总运行时间(小时)
///
public double WorkTimeSum { get; set; }
///
/// MTBF
///
public string MTBF
{
get
{
if (WorkTimeSum == 0 || AlertCount == 0)
{
return "0";
}
return (WorkTimeSum * 1.0 / AlertCount).ToString("f2");
}
}
}
public class GetPerformanceOutput
{//设备性能率(%)=(实际产量 ÷ 理论产量)×(生产时间 ÷ 计划时间)×100%
///
/// 设备编号
///
public string Code { get; set; }
///
/// 设备名称
///
public string Name { get; set; }
///
/// 实际产量
///
public int 实际产量 { get; set; }
///
/// 理论产量
///
public int 理论产量 { get; set; }
///
/// 运行时间(小时)
///
public double WorkTimeSum { get; set; }
///
/// 计划时间(小时)
///
public double PlanWorkTimeSum { get; set; }
///
/// Performance
///
public string Performance
{
get
{
if (WorkTimeSum == 0 || PlanWorkTimeSum == 0 || 实际产量 == 0 || 理论产量 == 0)
{
return "0";
}
return (((实际产量 * 1.0 / 理论产量)*(WorkTimeSum*1.0/ PlanWorkTimeSum))*100).ToString("f2");
}
}
}
public class GetOEEOutput
{
//OEE=可利用率* 性能率*质量率
//可利用率 = 设备正常运行时间 / 总运行时间
//性能率=设备实际产能/设备理论产能
//质量率 = 合格产品数量 / 实际产出产品数量
///
/// 设备编号
///
public string Code { get; set; }
///
/// 设备名称
///
public string Name { get; set; }
///
/// 实际产量
///
public int 实际产量 { get; set; }
///
/// 理论产量
///
public int 理论产量 { get; set; }
///
/// 实际运行时间(小时)
///
public double WorkTimeSum { get; set; }
///
/// 计划运行时间(小时)
///
public double PlanWorkTimeSum { get; set; }
///
/// 正常时间(小时)正常运行时间指设备处于开机状态且能够正常运行的时间,
///
public double NormalTimeSum { get; set; }
///
/// 合格产品数量
///
public int 合格产品数量 { get; set; }
///
/// 总运行时间(小时) 而总运行时间则是设备运行的总时间
///
public double AllTimeSum { get; set; }
///
/// Performance 性能率 =设备实际产能/设备理论产能
///
public double Performance
{
get
{
if (实际产量 == 0 || 理论产量 == 0)
{
return 0;
}
return double.Parse(((实际产量 * 1.0 / 理论产量)).ToString("f2"));
}
}
///
/// 可利用率=设备正常运行时间 / 总运行时间
///
public double Availability
{
get
{
if (NormalTimeSum == 0 || AllTimeSum == 0)
{
return 0;
}
return double.Parse(((NormalTimeSum * 1.0 / AllTimeSum) ).ToString("f2"));
}
}
///
/// 质量率=合格产品数量 / 实际产出产品数量
///
public double Quality
{
get
{
if (合格产品数量 == 0 || 实际产量 == 0)
{
return 0;
}
return double.Parse(((合格产品数量 * 1.0 / 实际产量)).ToString("f2"));
}
}
public string OEE { get { return (Performance * Availability * Quality * 100).ToString("f2"); } }
}
public class GetKnifeToolAnalysisOutput
{
public List KnifeToolList;
public List KnifeToolLoad;
}
public class KnifeToolLoad
{
public string Name { get; set; }
public double[] Data { get; set; }
}
}