Пример #1
0
        //影响级别为2级 单个装置非计划停工、多套装置生产波动的通知单数目
        public int getNoticeYx_2(string Pq_Code)
        {
            ERP_Infos     erp     = new ERP_Infos();
            List <Notice> notices = erp.getNoticeInfos_ByNoticeType(Pq_Code, "M2", "删除");

            return(notices.Where(a => a.Notice_FaultYx == "2").Count());
        }
Пример #2
0
        //一般机泵设备平均无故障间隔周期
        public double getNonFaultInterVal(string Pq_Code)
        {
            ERP_Infos     erp          = new ERP_Infos();
            List <Notice> noticesUp    = erp.getNoticeInfos(Pq_Code, "投用");
            List <Notice> noticesDown1 = erp.getNoticeInfos_ByNoticeType(Pq_Code, "M2", "删除", "2");
            List <Notice> noticesDown2 = erp.getNoticeInfos_ByNoticeType(Pq_Code, "M2", "删除", "3");

            if (noticesDown1.Count() + noticesDown2.Count() != 0)
            {
                return((noticesUp.Count() / (noticesDown1.Count() + noticesDown2.Count())) * 100);
            }
            else
            {
                return(-1);
            }
        }
Пример #3
0
        //维修平均工时

        public double faultServiceTime_Avg(string Pq_Code)
        {
            double faultTimeSum = 0;

            DateTime      D_end, D_start;
            ERP_Infos     erp         = new ERP_Infos();
            List <Notice> noticesUp   = erp.getNoticeInfos_ByNoticeType(Pq_Code, "M2", "删除");
            List <Notice> noticesDown = erp.getNoticeInfos(Pq_Code, "投用");

            foreach (var n in noticesUp)
            {
                if (n.Notice_FaultEnd != "00000000")
                {
                    D_end        = DateTime.ParseExact(n.Notice_FaultEnd, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                    D_start      = DateTime.ParseExact(n.Notice_FaultStart, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                    faultTimeSum = faultTimeSum + (D_end - D_start).Days * 24;
                }
            }
            if (noticesDown.Count() != 0)
            {
                return(faultTimeSum / (noticesDown.Count()));
            }
            else
            {
                return(0);
            }
        }
Пример #4
0
        //故障维修率F
        public double getFaultRation(string Pq_Code)
        {
            ERP_Infos     erp         = new ERP_Infos();
            List <Notice> noticesUp   = erp.getNoticeInfos_ByNoticeType(Pq_Code, "M2", "删除", "3");
            List <Notice> noticesDown = erp.getNoticeInfos_ByNoticeTypes(Pq_Code, "删除", "3");

            if (noticesDown.Count() != 0)
            {
                return((noticesUp.Count() / noticesDown.Count()) * 100);
            }
            else
            {
                return(0);
            }
        }