/// <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)); }