コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }