private void GetRateList(int objectID, FaultRateInfo.ObjectType objectType, Dictionary <int, int> eqptContractCount, Dictionary <int, int> eqptRepairCount, int months, out List <FaultRateInfo> RateList, out List <FaultRateInfo> RateList1) { RateList = new List <FaultRateInfo>(); RateList1 = new List <FaultRateInfo>(); for (int i = 0; i < 120; i++) { int eqptCount = (from eqpt in eqptContractCount where eqpt.Value >= i select eqpt).Count(); int repairCount = (from repair in eqptRepairCount where repair.Value == i select repair).Count(); if (eqptCount > 0 && repairCount > 0) { double rate = Math.Round(repairCount * 100.0 / eqptCount, 2); FaultRateInfo item = new FaultRateInfo(); item.Year = SQLUtil.ConvertInt(i / 12 + 1); item.Month = SQLUtil.ConvertEnum <FaultRateInfo.DateTimeMonth>(i % 12 + 1); item.ObjectID = objectID; item.ObjectTypeID = objectType; item.Rate = rate; if (i < months) { RateList.Add(item); } else { RateList1.Add(item); } } } }
public List <FaultRateInfo> GetForecastRate(int objectID, FaultRateInfo.ObjectType objectType, double slope, double intercept, double slope1, double intercept1, int month = 0) { List <FaultRateInfo> ForecastRate = new List <FaultRateInfo>(); for (int i = 0; i < 120; i++) { FaultRateInfo item = new FaultRateInfo(); item.Year = SQLUtil.ConvertInt(i / 12 + 1); item.Month = SQLUtil.ConvertEnum <FaultRateInfo.DateTimeMonth>(i % 12 + 1); item.ObjectID = objectID; item.ObjectTypeID = objectType; if (i > month) { double rate = Math.Round((((i + 1) * slope1 + intercept1) * 100.0), 2); item.Rate = rate; ForecastRate.Add(item); } else { double rate = Math.Round((((i + 1) * slope + intercept) * 100.0), 2); item.Rate = rate; ForecastRate.Add(item); } } return(ForecastRate); }
/// <summary> /// 故障率Info /// </summary> /// <param name="dr">dr</param> public FaultRateInfo(DataRow dr) : this() { this.ObjectTypeID = SQLUtil.ConvertEnum <ObjectType>(dr["ObjectTypeID"]); this.ObjectID = SQLUtil.ConvertInt(dr["ObjectID"]); this.Year = SQLUtil.ConvertInt(dr["Year"]); this.Month = SQLUtil.ConvertEnum <DateTimeMonth>(dr["Month"]); this.Rate = SQLUtil.ConvertDouble(dr["Rate"]); }
/// <summary> /// 富士II类info /// </summary> /// <param name="dr">dr</param> public FujiClass2Info(DataRow dr) : this() { this.ID = SQLUtil.ConvertInt(dr["ID"]); this.Name = SQLUtil.TrimNull(dr["Name"]); this.Description = SQLUtil.TrimNull(dr["Description"]); this.FujiClass1.ID = SQLUtil.ConvertInt(dr["FujiClass1ID"]); if (dr.Table.Columns.Contains("FujiClass1Name")) { this.FujiClass1.Name = SQLUtil.TrimNull(dr["FujiClass1Name"]); } this.IncludeLabour = SQLUtil.ConvertBoolean(dr["IncludeLabour"]); this.PatrolTimes = SQLUtil.ConvertDouble(dr["PatrolTimes"]); this.PatrolHours = SQLUtil.ConvertDouble(dr["PatrolHours"]); this.MaintenanceTimes = SQLUtil.ConvertDouble(dr["MaintenanceTimes"]); this.MaintenanceHours = SQLUtil.ConvertDouble(dr["MaintenanceHours"]); this.RepairHours = SQLUtil.ConvertDouble(dr["RepairHours"]); this.IncludeContract = SQLUtil.ConvertBoolean(dr["IncludeContract"]); this.FullCoveragePtg = SQLUtil.ConvertDouble(dr["FullCoveragePtg"]); this.TechCoveragePtg = SQLUtil.ConvertDouble(dr["TechCoveragePtg"]); this.IncludeSpare = SQLUtil.ConvertBoolean(dr["IncludeSpare"]); this.SparePrice = SQLUtil.ConvertDouble(dr["SparePrice"]); this.SpareRentPtg = SQLUtil.ConvertDouble(dr["SpareRentPtg"]); this.IncludeRepair = SQLUtil.ConvertBoolean(dr["IncludeRepair"]); this.Usage = SQLUtil.ConvertInt(dr["Usage"]); this.EquipmentType.ID = SQLUtil.ConvertInt(dr["EquipmentType"]); this.EquipmentType.Name = LookupManager.GetEquipmentTypeDesc(this.EquipmentType.ID); this.RepairComponentCost = SQLUtil.ConvertDouble(dr["RepairComponentCost"]); this.Repair3partyRatio = SQLUtil.ConvertDouble(dr["Repair3partyRatio"]); this.Repair3partyCost = SQLUtil.ConvertDouble(dr["Repair3partyCost"]); this.RepairCostRatio = SQLUtil.ConvertDouble(dr["RepairCostRatio"]); this.MethodID = SQLUtil.ConvertEnum <Method>(dr["MethodID"]); this.AddDate = SQLUtil.ConvertDateTime(dr["AddDate"]); this.UpdateDate = SQLUtil.ConvertDateTime(dr["UpdateDate"]); }
/// <summary> /// 零件info /// </summary> /// <param name="dr">dr</param> public ComponentInfo(DataRow dr) : this() { this.ID = SQLUtil.ConvertInt(dr["ID"]); this.FujiClass2.ID = SQLUtil.ConvertInt(dr["FujiClass2ID"]); this.FujiClass2.Name = SQLUtil.TrimNull(dr["FujiClass2Name"]); this.Name = SQLUtil.TrimNull(dr["Name"]); this.Description = SQLUtil.TrimNull(dr["Description"]); this.Type.ID = SQLUtil.ConvertInt(dr["TypeID"]); this.Type.Name = LookupManager.GetComponentTypeDesc(this.Type.ID); this.StdPrice = SQLUtil.ConvertDouble(dr["StdPrice"]); this.Usage = SQLUtil.ConvertInt(dr["Usage"]); this.TotalSeconds = SQLUtil.ConvertInt(dr["TotalSeconds"]); this.SecondsPer = SQLUtil.ConvertDouble(dr["SecondsPer"]); this.IsIncluded = SQLUtil.ConvertBoolean(dr["IsIncluded"]); this.IncludeContract = SQLUtil.ConvertBoolean(dr["IncludeContract"]); this.Method = SQLUtil.ConvertEnum <FujiClass2Info.Method>(dr["MethodID"]); this.LifeTime = SQLUtil.ConvertInt(dr["LifeTime"]); this.IsActive = SQLUtil.ConvertBoolean(dr["IsActive"]); this.AddDate = SQLUtil.ConvertDateTime(dr["AddDate"]); this.UpdateDate = SQLUtil.ConvertDateTime(dr["UpdateDate"]); }