Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
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);
        }