public JsonResult GetODCPKChartDataAction(int layoutID) { log = LogFactory.GetLogger(MethodBase.GetCurrentMethod().DeclaringType.FullName + ":" + MethodBase.GetCurrentMethod().Name); var retData = new VM_Result_Data(); VM_Fusioncharts_MSLine vmCharts = new VM_Fusioncharts_MSLine(); int machineID = 0; try { machineID = getTableRowID(layoutID); if (machineID == 0) { retData.Content = "机台号出错"; log.Warning("机台号出错"); } else { vmCharts = getMachineCPKMSLineData(machineID, (int)SPEC_PARAM_CODE.OUTTER_OD); } } catch (Exception e) { log.Error("OD的CPK出错", e); retData.Content = "OD值CPK计算出错"; } if (vmCharts.dataset.Count > 0) { retData.Code = RESULT_CODE.OK; retData.Content = "加载OD CPK成功"; retData.Appendix = vmCharts; // retData.Appendix.CPK = cpk; } return(Json(retData)); }
protected VM_Fusioncharts_MSLine getMachineCPKMSLineData(int machineID, MesWeb.Model.T_ParameterCode code, int dataCount = 12) { var msLine = new VM_Fusioncharts_MSLine(); var bllParamData = new MesWeb.BLL.T_CollectedDataParameters(); var bllSensorParamCode = new MesWeb.BLL.T_SensorModule_T_ParameterCode(); var bllParamUnit = new MesWeb.BLL.T_ParameterUnit(); var bllParamSet = new MesWeb.BLL.T_ParametersCol(); var dataList = bllParamData.GetModelList("MachineID = " + machineID + "and ParameterCodeID = " + code.ParameterCodeID); var paramSetting = bllParamSet.GetModelList("ParameterCodeID = " + (int)code.ParameterCodeID).FirstOrDefault(); var paramUnit = bllParamUnit.GetModel((int)code.ParameterUnitID); var chart = new FusionChart { caption = code.ParameterName, numberSuffix = paramUnit.ParameterUnitSymbol, yAxisName = paramUnit.ParameterUnitName, xAxisName = "时间" }; var maxLine = new FusionLine { startvalue = paramSetting.ParametersColMaxiumValue, displayvalue = "最大值", }; var minLine = new FusionLine { startvalue = paramSetting.ParametersColMiniumValue, displayvalue = "最小值", }; var maxCPKLine = new FusionLine { startvalue = "2.0", displayvalue = "CPK最大值" }; var minCPKLine = new FusionLine { startvalue = "0.2", displayvalue = "CPK最小值" }; var trendline = new FusionTrendLine(); trendline.line.Add(maxLine); trendline.line.Add(minLine); trendline.line.Add(maxCPKLine); trendline.line.Add(minCPKLine); var cpkDataSet = new FusionMSDataset(); var sensorDataSet = new FusionMSDataset(); cpkDataSet.seriesname = "CPK"; sensorDataSet.seriesname = code.ParameterName; var categories = new FusionMSCategories(); for (int i = 0; i < dataList.Count; i++) { var data = dataList[i]; categories.category.Add(new FusionMSCategorie { label = data.CollectedTime.ToString().Split(' ')[1] }); sensorDataSet.data.Add(new MSlineValue { value = float.Parse(data.CollectedValue).ToString("0.00") }); cpkDataSet.data.Add(new MSlineValue { value = GetCPKValue(code.ParameterCodeID, machineID).ToString("0.00") }); } msLine.categories.Add(categories); msLine.chart = chart; msLine.trendlines.Add(trendline); msLine.dataset.Add(sensorDataSet); msLine.dataset.Add(cpkDataSet); return(msLine); }