コード例 #1
0
        public void ProcessRequest(HttpContext context)
        {
            int workId = 0;

            if (Int32.TryParse(context.Request["workId"], out workId))
            {
                {
                    int    LocationID = workId;
                    double TimeC      = 0;
                    double xingnnegC  = 0;
                    {
                        //稼动率评估

                        DateTime nowTime        = DateTime.Now;
                        DateTime toDayTimeBegin = DateTime.Now.AddDays(-1);

                        double runTime   = 0;
                        double openTime  = 0;
                        double lilunTime = 0;
                        double shijiTime = 0;
                        using (JDJS_WMS_DB_USEREntities wms = new JDJS_WMS_DB_USEREntities())
                        {
                            var works   = wms.JDJS_WMS_Location_Info.ToList();
                            var devices = wms.JDJS_WMS_Device_Info.ToList();
                            List <WebApplication2.Kanban.现场.CncRead> objs = new List <WebApplication2.Kanban.现场.CncRead>();
                            List <int> workIds = new List <int>();
                            WebApplication2.Kanban.现场.机台状态 funs = new 现场.机台状态();
                            var Devices = funs.fun(workId, works, devices, objs, workIds);

                            //var Devices = wms.JDJS_WMS_Device_Info.Where(r => r.Position == LocationID);
                            foreach (var item in Devices)
                            {
                                int cncID  = Convert.ToInt32(item.ID);
                                var states = wms.JDJS_WMS_Device_ProgState_Info.Where(r => r.CncID == cncID && (r.StartTime > toDayTimeBegin || r.EndTime > toDayTimeBegin || r.EndTime == null));
                                List <progState> progStates = new List <progState>();
                                foreach (var real in states)
                                {
                                    progState progState = new progState();
                                    progState.ProgState = Convert.ToInt32(real.ProgState);
                                    progState.startTime = Convert.ToDateTime(real.StartTime);
                                    if (Convert.ToDateTime(real.StartTime) < toDayTimeBegin)
                                    {
                                        progState.startTime = toDayTimeBegin;
                                    }
                                    if (real.EndTime == null)
                                    {
                                        progState.EndTime = nowTime;
                                    }
                                    else
                                    {
                                        progState.EndTime = Convert.ToDateTime(real.EndTime);
                                    }
                                    progStates.Add(progState);
                                }

                                foreach (var real in progStates)
                                {
                                    if (real.ProgState != -1)
                                    {
                                        openTime += Convert.ToDouble((real.EndTime - real.startTime).TotalMinutes);
                                    }
                                    if (real.ProgState == 1)
                                    {
                                        runTime += Convert.ToDouble((real.EndTime - real.startTime).TotalMinutes);
                                    }
                                }
                            }
                            if (openTime != 0)
                            {
                                TimeC = runTime / openTime;
                            }
                            else
                            {
                                TimeC = 0;
                            }
                            foreach (var item in Devices)
                            {
                                int cncID = Convert.ToInt32(item.ID);

                                var processes = wms.JDJS_WMS_Order_Process_Scheduling_Table.Where(r => r.CncID == cncID && r.EndTime > toDayTimeBegin && r.isFlag == 3);
                                foreach (var real in processes)
                                {
                                    int    processID   = Convert.ToInt32(real.ProcessID);
                                    var    processInfo = wms.JDJS_WMS_Order_Process_Info_Table.Where(r => r.ID == processID).FirstOrDefault();
                                    double processTime = Convert.ToDouble(processInfo.ProcessTime);
                                    lilunTime += processTime;
                                    double processTimeLilun = (Convert.ToDateTime(real.EndTime) - Convert.ToDateTime(real.StartTime)).TotalMinutes;
                                    shijiTime += processTimeLilun;
                                }
                            }
                            if (shijiTime == 0)
                            {
                                xingnnegC = 0;
                            }
                            else
                            {
                                xingnnegC = lilunTime / shijiTime;
                            }
                        }
                    }

                    System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                    var model = new { TimeC = TimeC, xingnnegC = xingnnegC };
                    var json  = serializer.Serialize(model);

                    context.Response.Write("data:" + json + "\n\n");
                    context.Response.ContentType = "text/event-stream";
                }
            }
            else
            {
                return;
            }
        }
コード例 #2
0
        public void ProcessRequest(HttpContext context)
        {
            Int32 workId = int.Parse(context.Request["workId"]);

            if (Int32.TryParse(context.Request["workId"], out workId))
            {
            }
            else
            {
                return;
            }

            int locationID = workId;
            //车间机台状态
            int deviceAllNum = 0;
            int RunNum       = 0;
            int yellow       = 0;
            int AlarmNum     = 0;
            int RepairNum    = 0;
            int StopNum      = 0;
            int xianzhi      = 0;

            using (JDJS_WMS_DB_USEREntities wms = new JDJS_WMS_DB_USEREntities())
            {
                现场.机台状态           state    = new 现场.机台状态();
                var               works    = wms.JDJS_WMS_Location_Info.ToList();
                var               devicess = wms.JDJS_WMS_Device_Info.ToList();
                List <现场.CncRead> objs     = new List <现场.CncRead>();
                List <int>        workIds  = new List <int>();
                var               devices  = state.fun(workId, works, devicess, objs, workIds);


                // var devices = wms.JDJS_WMS_Device_Info.Where(r => r.Position == locationID);
                deviceAllNum = devices.Count();
                foreach (var item in devices)
                {
                    int cncID    = Convert.ToInt32(item.ID);
                    var realData = wms.JDJS_WMS_Device_RealTime_Data.Where(r => r.CncID == cncID).FirstOrDefault();
                    if (realData != null)
                    {
                        if (realData.ProgState == 1 || realData.ProgState == 2)
                        {
                            RunNum++;
                        }
                        else if (realData.ProgState == 4)
                        {
                            AlarmNum++;
                        }
                        else if (realData.ProgState == -1)
                        {
                            xianzhi++;
                        }

                        else
                        {
                            yellow++;
                            var cncdo = wms.JDJS_WMS_Order_Process_Scheduling_Table.Where(r => r.CncID == cncID && r.isFlag == 1);
                            if (cncdo.Count() > 0)
                            {
                                StopNum++;
                                var repair = wms.JDJS_WMS_Device_Alarm_Repair.Where(r => r.CncID == cncID && r.AlarmStateID != 4);
                                if (repair.Count() > 0)
                                {
                                    RepairNum++;
                                    StopNum--;
                                }
                            }
                            else
                            {
                                xianzhi++;
                                var repair = wms.JDJS_WMS_Device_Alarm_Repair.Where(r => r.CncID == cncID && r.AlarmStateID != 4);
                                if (repair.Count() > 0)
                                {
                                    RepairNum++;
                                }
                            }
                        }
                    }
                }
            }
            var model = new
            {
                deviceAllNum = deviceAllNum,
                RunNum       = RunNum,
                AlarmNum     = AlarmNum,
                RepairNum    = RepairNum,
                StopNum      = StopNum,
                xianzhi      = xianzhi,
                yellow       = yellow
            };

            System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            var json = serializer.Serialize(model);

            context.Response.Write("data:" + json + "\n\n");
            context.Response.ContentType = "text/event-stream";
        }