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