public ViewResult Analysis(int id) { Device device = _deviceRepository.GetDevice(id); List <DeviceDetail> deviceDetails = _deviceRepository.GetDeviceDetails(device.GUID); DeviceDetail deviceDetail = new DeviceDetail(); if (deviceDetails != null && deviceDetails.Count > 0) { deviceDetail = deviceDetails.OrderBy(c => c.CheckTime).Last(); } else { CreatShowData(deviceDetail); } if (device != null) { DeviceAnalysisViewModel deviceAnalysisViewModel = new DeviceAnalysisViewModel { Id = device.Id, //分析气密性 GasStatus = ConvertStatus(AnalysisGasStatus(deviceDetail)), //分析传感器 SensorStatus = ConvertStatus(AnalysisSensorStatus(deviceDetail)), //分析阀门 ValueStatus = ConvertStatus(AnalysisValveStatus(deviceDetail)), //分析真空泵 PumpStatus = ConvertStatus(AnalysisPumpStatus(deviceDetail)), //分析升降电机 MotorStatus = ConvertStatus(AnalysisMotorStatus(deviceDetail)), //分析加热炉 StoveStatus = ConvertStatus(AnalysisStoveStatus(deviceDetail)), }; //分析总体健康 deviceAnalysisViewModel.DeviceStatus = ConvertStatus(AnalysisDeviceStatus(deviceAnalysisViewModel)); //得出健康建议 deviceAnalysisViewModel.DeviceAdvice = AnalysisDeviceAdvice(deviceDetail); return(View(deviceAnalysisViewModel)); } throw new Exception("查询不到这个设备信息"); }
private HealthStatusEnum AnalysisDeviceStatus(DeviceAnalysisViewModel model) { HealthStatusEnum result = HealthStatusEnum.Normal; List <string> list = new List <string>(); list.Add(model.GasStatus); list.Add(model.SensorStatus); list.Add(model.PumpStatus); list.Add(model.MotorStatus); list.Add(model.ValueStatus); list.Add(model.StoveStatus); if (list.Contains(ERROR)) { result = HealthStatusEnum.Error; } else if (list.Contains(WARING)) { result = HealthStatusEnum.Warning; } return(result); }