Exemple #1
0
        /// <summary>
        /// 初始化模块状态缓存字典
        /// </summary>
        private void initCurModuelStateDic()
        {
            var bllMachine      = new MesWeb.BLL.T_Machine();
            var machList        = bllMachine.GetModelList("");
            var bllSensor       = new MesWeb.BLL.T_SensorModule();
            var bllParam        = new MesWeb.BLL.T_ParameterCode();
            var bllSensor_Param = new MesWeb.BLL.T_SensorModule_T_ParameterCode();

            //遍历所有机台
            foreach (var machine in machList)
            {
                var machineId = machine.MachineID;
                //为每个机台的所有模块生成一个字典
                var moduleDic = new ConcurrentDictionary <string, List <Param> >();
                //添加机台
                if (curModuleStateDic.TryAdd(machineId, moduleDic))
                {
                    var sensors = bllSensor.GetModelList("MachineID = " + machineId);
                    //遍历模块
                    foreach (var sensor in sensors)
                    {
                        //初始化每个模块的参数列表
                        var paramList = new List <Param>();
                        //添加模块
                        if (moduleDic.TryAdd(sensor.SerialNum, paramList))
                        {
                            var sensor_param = bllSensor_Param.GetModelList("SensorModuleID = " + sensor.SensorModuleID);
                            //遍历模块对应的参数
                            foreach (var sp in sensor_param)
                            {
                                //获得参数
                                var param = bllParam.GetModel(sp.ParameterCodeID.Value);
                                //添加参数
                                paramList.Add(new Param {
                                    ParamCodeID = param.ParameterCodeID.ToString(),
                                    ParamCode   = param.ParameterCode.ToString(),
                                    ParamName   = param.ParameterName
                                });
                            }
                        }
                    }
                }
            }
        }
        public ActionResult Machine()
        {
            var bllMachine      = new MesWeb.BLL.T_Machine();
            var machineList     = bllMachine.GetModelList("");
            var bllParam        = new MesWeb.BLL.T_ParameterCode();
            var bllSensor       = new MesWeb.BLL.T_SensorModule();
            var bllSensor_Param = new MesWeb.BLL.T_SensorModule_T_ParameterCode();

            //机台参数树状结构
            var vmJSTree = new List <VM_JSTree>();

            //遍历机台
            foreach (var machine in machineList)
            {
                var machineTreeId = "mach_" + machine.MachineID.ToString();
                var machTree      = new VM_JSTree {
                    text = machine.MachineName, id = machineTreeId
                };
                var sensorList = bllSensor.GetModelList("MachineID = " + machine.MachineID);
                machTree.children = new List <VM_JSTree>();
                foreach (var sensor in sensorList)
                {
                    var spList = bllSensor_Param.GetModelList("SensorModuleID = " + sensor.SensorModuleID);
                    //遍历参数
                    foreach (var sp in spList)
                    {
                        var param = bllParam.GetModel(sp.ParameterCodeID.Value);
                        machTree.children.Add(
                            new VM_JSTree {
                            text = param.ParameterName,
                            id   = machineTreeId + "_param_" + param.ParameterCodeID.ToString()
                        });
                    }
                }
                vmJSTree.Add(machTree);
            }
            return(View(vmJSTree));
        }