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; } }
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"; }