示例#1
0
        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);
                    }
                }
            }
        }
示例#2
0
        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);
        }
示例#3
0
 /// <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"]);
 }
示例#4
0
        /// <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"]);
        }
示例#5
0
 /// <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"]);
 }