public JsonResult GetHistoryData(string axisNumStr) { log = LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.FullName + ":" + MethodBase.GetCurrentMethod().Name); var retData = new VM_Result_Data(); if (HisMain.IsAxisNum(axisNumStr)) { var axisNum = new HisData(axisNumStr); var bllHisData = new MesWeb.BLL.T_HisData(axisNum.TableName); try { var hisDataList = bllHisData.GetModelList("machineID = " + axisNum.MachineId); var sensorDataList = new List <VM_Sensor_Online>(); foreach (var item in ParamCodeDic) { //找出映射的数据 var data = (from s in hisDataList where s.ParameterCodeID == item.Key select s).ToList(); if (data.Count > 0) { //生成传感器的数据结构 var sensorData = new VM_Sensor_Online { ParamCodeId = item.Value }; sensorData.SeriesData = new List <VM_Sensor_Data>(); foreach (var d in data) { try { var seriesData = new VM_Sensor_Data { X = ((DateTime)(d.CollectedTime)).AddHours(8).ToUniversalTime().ToString(), Y = float.Parse(d.CollectedValue) }; sensorData.SeriesData.Add(seriesData); } catch (Exception e) { log.Error(e); continue; } } sensorDataList.Add(sensorData); } } retData.Appendix = sensorDataList; retData.Content = "加载机台历史数据成功"; retData.Code = RESULT_CODE.OK; } catch (Exception e) { log.Error(e); retData.Content = "加载机台历史数据失败"; } } return(Json(retData)); }
public static string GetHisMainTableName(string axisNumStr) { var axisNum = new HisMain(axisNumStr); return("HISMAIN" + axisNum.Year + axisNum.Month + axisNum.MachineTypeID.Trim()); }
public VM_JSMind genMindStruct(string axisNumStr, string id, ref VM_JSMind mind, string parentId = "", bool isRoot = false) { if (string.IsNullOrEmpty(axisNumStr) || !HisMain.IsAxisNum(axisNumStr)) { return(null); } var bllMachine = new MesWeb.BLL.T_Machine(); var bllMachineType = new MesWeb.BLL.T_MachineType(); var bllEmployee = new MesWeb.BLL.T_Employee(); var bllMaterial = new MesWeb.BLL.T_MaterialOutput(); HisMain axisNum = new HisMain(); if (axisNumStr.StartsWith("ZD")) { axisNum.Year = axisNumStr.Substring(2, 4); axisNum.Month = axisNumStr.Substring(6, 2); axisNum.MachineTypeID = "5"; } else if (axisNumStr.StartsWith("CP")) { axisNum = new HisMain(axisNumStr); } var hisTabName = "HISMAIN" + axisNum.Year + axisNum.Month + axisNum.MachineTypeID.Trim(); var bllHisMain = new MesWeb.BLL.T_HisMain(hisTabName); var hisMain = bllHisMain.GetModelList("Axis_No like '%" + axisNumStr + "%'").FirstOrDefault(); if (hisMain == null) { return(null); } var machineType = bllMachineType.GetModel(int.Parse(axisNum.MachineTypeID)); MesWeb.Model.T_MaterialOutput material = null; if (hisMain != null) { material = bllMaterial.GetModelList("MaterialRFID = '" + hisMain.MaterialRFID + "'").FirstOrDefault(); } if (material != null) { hisMain.SpecColor = material.Color; hisMain.SpecName = material.MaterialType; hisMain.Supplier = material.SupplyCompany; hisMain.BatchNo = material.BatchNo; } var employeeCode = hisMain.EmployeeID_Main; var employee = bllEmployee.GetModelList("EmployeeCode = '" + employeeCode + "'").FirstOrDefault(); if (employee != null) { hisMain.EmployeeID_Main = employee.EmployeeName; } var machine = bllMachine.GetModel(hisMain.MachineID.Value); var node = new JSMind_Data(); node.topic = machineType.MachineType + machine.MachineName; node.id = id; node.parentid = parentId; node.isroot = isRoot; node.data = hisMain; mind.data.Add(node); if (hisMain != null) { var startAxisNums = ("" + hisMain.Start_Axis_No).Split(','); foreach (var stNum in startAxisNums) { genMindStruct(stNum, stNum, ref mind, id); } } return(mind); }
public JsonResult GetProcDetail(VM_ProcDetail procDetail) { var retData = new VM_Result_Data(); if (procDetail == null) { procDetail = new VM_ProcDetail(); } //procDetail.CertProduct = "<a href='javascript:void(0)' onclick='showCertProduct()'>成品证书</a> <a href='javascript:void(0)' onclick='showCertPlastic()'>塑料证书</a>"; var procDetailList = new List <VM_ProcDetail>(); var bllMachine = new MesWeb.BLL.T_Machine(); var bllEmp = new MesWeb.BLL.T_Employee(); var bllSpec = new MesWeb.BLL.T_Specification(); var bllAxis = new MesWeb.BLL.T_Axis(); try { if (!string.IsNullOrEmpty(procDetail.BatchNo)) { var searchCond = new List <string>(); searchCond.Add(procDetail.BatchNo); try { var gumId = MaterialController.SearchReportId(searchCond, MaterialController.gumReportType); procDetail.CertPlastic = "<a href='javascript: void(0)' onclick='showReportPlastic(this)' id='" + gumId + "'>胶料表</a>"; } catch { } } try { //找到历史数据表 HisData hisData = new HisData(procDetail.Axis_No); //查询OD的最值 var hisDs = DbHelperSQL.Query("SELECT MAX(CollectedValue) AS Max,MIN(CollectedValue) AS Min" + " FROM " + hisData.TableName + " WHERE(ParameterCodeID = " + (int)SPEC_PARAM_CODE.OUTTER_OD + ") AND(Axis_No = '" + hisData.AxisNumStr + "')" + " GROUP BY Axis_No"); var hisRow = hisDs.Tables[0].Rows[0]; var odMax = hisRow["max"].ToString(); var odMin = hisRow["min"].ToString(); procDetail.ODMax = odMax; procDetail.ODMin = odMin; var axis = new HisMain(procDetail.Axis_No); procDetail.GeneratorTime = axis.Year + "-" + axis.Month + "-" + axis.Day; } catch { } //获取回溯信息 var axisInfo = bllAxis.GetModelList("Axis_No = '" + procDetail.Axis_No + "'").FirstOrDefault(); if (axisInfo != null) { procDetail.Comment = axisInfo.comment; } //机台 var machine = bllMachine.GetModel((int)procDetail.MachineID); if (machine != null) { //只有挤绝缘和挤护套有数据 if (machine.MachineTypeID == 2 || machine.MachineTypeID == 5) { var machineName = machine.MachineName ?? ""; var axisColor = procDetail.SpecColor ?? ""; var printCode = procDetail.Printcode ?? ""; procDetail.MachineName = "<a href='javascript: void(0)' machineType='" + machine.MachineTypeID + "' employee='" + procDetail.EmployeeName + "' printCode='" + printCode + "' axisColor='" + axisColor + "' machineName='" + machineName + "' axisNum='" + procDetail.Axis_No + "' onclick='viewHisMachine(this)' machineId='" + machine.MachineID + "'>" + machine.MachineName + "</a>"; } else { procDetail.MachineName = machine.MachineName; } } retData.Code = RESULT_CODE.OK; TempData[SERACH_ASIX] = procDetail.Axis_No; } catch (Exception e) { retData.Content = "查询失败,请联系管理员"; retData.Code = RESULT_CODE.OK; retData.Appendix = procDetail; } procDetailList.Add(procDetail); retData.Appendix = procDetailList; return(Json(retData)); }
public JsonResult SearchTraceBrefAction(VM_Trace_Search_Cond cond) { var retData = new VM_Result_Data(); retData.Content = "查询失败"; if (string.IsNullOrEmpty(cond.MachineType)) { cond.MachineType = "5"; } var brefList = new List <VM_Trace_Bref>(); try { var isFirstSearch = true; List <MesWeb.Model.T_HisMain> hisMainListArray = new List <MesWeb.Model.T_HisMain>(); if (cond.StartTime.HasValue && cond.EndTime.HasValue && cond.StartTime < cond.EndTime) { isFirstSearch = false; List <List <MesWeb.Model.T_HisMain> > listArray = null; //同一年 if (cond.StartTime.Value.Year == cond.EndTime.Value.Year) { listArray = getSameYearData(cond.StartTime, cond.EndTime, cond.MachineType); filterListMainArrary(hisMainListArray, listArray, cond.AxisNum); } //不是同一年 else { for (var y = cond.StartTime.Value.Year; y <= cond.EndTime.Value.Year; ++y) { if (y == cond.StartTime.Value.Year) { listArray = getSameYearData(cond.StartTime, new DateTime(y, 12, 31), cond.MachineType); } else if (y == cond.EndTime.Value.Year) { listArray = getSameYearData(new DateTime(y, 1, 1), cond.EndTime, cond.MachineType); } else { listArray = getSameYearData(new DateTime(y, 1, 1), new DateTime(y, 12, 31), cond.MachineType); } filterListMainArrary(hisMainListArray, listArray, cond.AxisNum); } } } if (!string.IsNullOrEmpty(cond.AxisNum) && isFirstSearch) { var axisNum = new HisMain(cond.AxisNum); var hisTabName = "HISMAIN" + axisNum.Year + axisNum.Month + axisNum.MachineTypeID.Trim(); var bllHisMain = new MesWeb.BLL.T_HisMain(hisTabName); var hisMainList = bllHisMain.GetModelList("Axis_No like '%" + cond.AxisNum + "%'"); hisMainListArray.AddRange(hisMainList); } hisMainListArray.ForEach(h => { //生成结果 try { var bref = new VM_Trace_Bref(); bref.SpecNum = "未录入"; bref.Axis_No = h.Axis_No.Replace(",", ""); var axisNum = new HisMain(h.Axis_No); bref.Date = axisNum.Year + "-" + axisNum.Month + "-" + axisNum.Day; bref.PrintCode = string.IsNullOrEmpty(h.Printcode) ? "未录入" : h.Printcode; bref.Detail = "<a tabId=" + h.CurrentDataID + " tabName = '" + axisNum.GetHisDataTableName() + "' axisNum='" + axisNum.AxisNumStr + "' onclick='showTraceDetail(this)'>详情</a>"; brefList.Add(bref); } catch { } }); if (brefList.Count > 0) { retData.Code = RESULT_CODE.OK; retData.Appendix = brefList; retData.Content = "查询成功"; } } catch (Exception e) { Console.WriteLine(e.ToString()); } return(Json(retData)); }
public JsonResult GetAxisDetailAction(string axisNumStr) { log = LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.FullName + ":" + MethodBase.GetCurrentMethod().Name); var retData = new VM_Result_Data(); var procDetailList = new List <VM_ProcDetail>(); var hisData = new VM_ProcDetail(); axisNumStr = axisNumStr.Trim(); HisMain axisNum = new HisMain(axisNumStr); var tabName = axisNum.GetHisDataTableName(); if (string.IsNullOrEmpty(tabName)) { retData.Content = "轴号有误"; return(Json(retData)); } try { var bllHisData = new MesWeb.BLL.T_HisMain(tabName); var findData = bllHisData.GetModelList("Axis_No = '" + axisNumStr + "'").FirstOrDefault(); hisData = new VM_ProcDetail { Axis_No = findData.Axis_No, CurrentDataID = findData.CurrentDataID, SpecificationID = findData.SpecificationID, MachineID = findData.MachineID, MachineTypeID = findData.MachineTypeID, EmployeeID_Main = findData.EmployeeID_Main, EmployeeID_Assistant = findData.EmployeeID_Assistant, Start_Axis_No = findData.Start_Axis_No, Printcode = findData.Printcode }; var specID = hisData.SpecificationID; var bllMachine = new MesWeb.BLL.T_Machine(); var bllEmp = new MesWeb.BLL.T_Employee(); var bllSpec = new MesWeb.BLL.T_Specification(); var bllCodeUsed = new MesWeb.BLL.T_CodeUsed(); var bllLayout = new MesWeb.BLL.T_LayoutPicture(); var spec = bllSpec.GetModel((int)specID); hisData.SpecName = spec.SpecificationName; hisData.ODMax = spec.ODMax.ToString(); hisData.ODMin = spec.ODMin.ToString(); hisData.SpecColor = spec.SpecificationColor; hisData.RolledYield = "100%"; hisData.GeneratorTime = bllCodeUsed.GetModelList("Axis_No = '" + hisData.Axis_No + "'").FirstOrDefault().GeneratorTime.Value.ToShortDateString(); var machine = bllMachine.GetModel((int)hisData.MachineID); var machineLayout = bllLayout.GetModelList("LayoutTypeID = " + 1).Find(s => { return(s.TableRowID == machine.MachineID); }); // hisData.EmployeeName = bllEmp.GetModel((int)hisData.EmployeeID_Main).EmployeeName; hisData.EmployeeName = hisData.EmployeeID_Main; var tableName = axisNum.Year + axisNum.Month + ((int)(machine.MachineTypeID)).ToString("00"); hisData.MachineName = "<a href='/HistoryQuery/HistoryMachine/" + tableName + "," + axisNumStr + "'>" + machine.MachineName + "</a>"; retData.Code = RESULT_CODE.OK; } catch (Exception e) { log.Error("查询轴号信息失败", e); retData.Content = "查询失败,请联系管理员"; } procDetailList.Add(hisData); retData.Appendix = procDetailList; return(Json(retData)); }