protected VM_Fusioncharts_Line getSensorLineChart <T>(int machineID, int paramCodeID, int top = 12) where T : MesWeb.BLL.T_CollectedDataParameters, new() { var vmChart = new VM_Fusioncharts_Line(); // var bllParamData = new MesWeb.BLL.T_CollectedDataParameters(); var bllParamData = new T(); var bllParamUnit = new MesWeb.BLL.T_ParameterUnit(); var bllParamSetting = new MesWeb.BLL.T_ParametersCol(); var bllParamCode = new MesWeb.BLL.T_ParameterCode(); var paramCode = bllParamCode.GetModel(paramCodeID); // var dataList = bllParamData.GetModelList(top,"MachineID = " + machineID + "and ParameterCodeID = " + paramCode.ParameterCodeID,"ParameterCodeID Desc"); var dataList = bllParamData.GetModelList("MachineID = " + machineID + "and ParameterCodeID = " + paramCode.ParameterCodeID); var paramSetting = bllParamSetting.GetModelList("ParameterCodeID = " + (int)paramCode.ParameterCodeID).FirstOrDefault(); var paramUnit = bllParamUnit.GetModel((int)paramCode.ParameterUnitID); var chart = new FusionChart { caption = paramCode.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 trendline = new FusionTrendLine(); trendline.line.Add(maxLine); trendline.line.Add(minLine); vmChart.chart = chart; vmChart.trendlines.Add(trendline); for (int i = 0; i < dataList.Count; i++) { vmChart.data.Add(new FusionData { // label = ((DateTime)dataList[i].CollectedTime).ToUniversalTime().Subtract( // // new DateTime(1969,12,30,16,0,0,DateTimeKind.Utc) label = dataList[i].CollectedTime.ToString(), value = dataList[i].CollectedValue.ToString() }); } ; return(vmChart); }
protected List <VM_Fusioncharts_Line> getParamsChartList(int machineID, params MesWeb.Model.T_ParameterCode[] paramCodeIDList) { List <VM_Fusioncharts_Line> vmChartsList = new List <VM_Fusioncharts_Line>(); 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(); foreach (var code in paramCodeIDList) { 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 vmFusion = new VM_Fusioncharts_Line(); 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 trendline = new FusionTrendLine(); trendline.line.Add(maxLine); trendline.line.Add(minLine); vmFusion.chart = chart; vmFusion.trendlines.Add(trendline); for (int i = 0; i < dataList.Count; i++) { vmFusion.data.Add(new FusionData { // label = ((DateTime)dataList[i].CollectedTime).ToUniversalTime().Subtract( // // new DateTime(1969,12,30,16,0,0,DateTimeKind.Utc) label = dataList[i].CollectedTime.ToString(), value = dataList[i].CollectedValue.ToString() }); } ; vmChartsList.Add(vmFusion); } return(vmChartsList); }