| | |
| | | Failed = false, |
| | | Reason = "至少包含一座水库或水池(水箱)" |
| | | }; |
| | | var allSourceList = hydroInfo.GetAllSources(); |
| | | result.Items.Add(checkItemLackSource); |
| | | var allSourceList = hydroInfo.GetAllSources(); |
| | | if (allSourceList == null || allSourceList.Count < 1) |
| | | { |
| | | checkItemLackSource.Failed = true; |
| | |
| | | } |
| | | |
| | | //验证水泵 |
| | | var allPumpList = hydroInfo.Pumps; |
| | | if (allPumpList == null) |
| | | { |
| | | allPumpList = new List<Model.HydroPumpInfo>(); |
| | | } |
| | | var checkItemLackPump = new HydroCheckItem() |
| | | { |
| | | Mode = HydroCheckMode.Global, |
| | |
| | | Reason = "至少包含一台水泵" |
| | | }; |
| | | result.Items.Add(checkItemLackPump); |
| | | if (allPumpList.Count < 1) |
| | | var allPumpList = hydroInfo.Pumps; |
| | | if (allPumpList == null || allPumpList.Count < 1) |
| | | { |
| | | checkItemLackPump.Failed = true; |
| | | } |
| | |
| | | |
| | | //验证水库 |
| | | //验证水池 |
| | | var allTankList = hydroInfo.GetAllTanks(); |
| | | if (allTankList != null && allTankList.Count > 0) |
| | | { |
| | | foreach (var tank in allTankList) |
| | | { |
| | | //初始水位 |
| | | var checkItemInitLevel = new HydroCheckItem() |
| | | { |
| | | Mode = HydroCheckMode.Item, |
| | | Type = HydroCheckType.AbnormalProp, |
| | | Code = tank.Code, |
| | | Failed = false, |
| | | Reason = "判断初始水位" |
| | | }; |
| | | result.Items.Add(checkItemInitLevel); |
| | | if (tank.InitLevel <= 0) |
| | | { |
| | | checkItemInitLevel.Failed = true; |
| | | checkItemInitLevel.Reason = "初始水位设置错误"; |
| | | } |
| | | |
| | | var checkItemMinMaxLevel = new HydroCheckItem |
| | | { |
| | | Mode = HydroCheckMode.Item, |
| | | Type = HydroCheckType.AbnormalProp, |
| | | Code = tank.Code, |
| | | Failed = false, |
| | | Reason = "判断最小最大水位" |
| | | }; |
| | | result.Items.Add(checkItemMinMaxLevel); |
| | | if (tank.MinLevel >= tank.MaxLevel) |
| | | { |
| | | checkItemMinMaxLevel.Failed = true; |
| | | checkItemMinMaxLevel.Reason = "最小水位必须低于最大水位"; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | //验证水箱 |
| | | //验证水泵 |
| | | foreach (var pump in allPumpList) |
| | |
| | | } |
| | | } |
| | | |
| | | #region 验证阻件 |
| | | |
| | | //当成GPV阀门处理的 |
| | | var allResistanceList = hydroInfo.GetAllResistances(); |
| | | if (allResistanceList != null && allResistanceList.Count > 0) |
| | | { |
| | | foreach (var resistance in allResistanceList) |
| | | { |
| | | //直径 |
| | | var checkItemDiameter = new HydroCheckItem() |
| | | { |
| | | Mode = HydroCheckMode.Item, |
| | | Type = HydroCheckType.AbnormalProp, |
| | | Code = resistance.Code, |
| | | Failed = false, |
| | | Reason = "判断管道直径" |
| | | }; |
| | | result.Items.Add(checkItemDiameter); |
| | | if (resistance.Diameter <= 10 || resistance.Diameter > 10000) |
| | | { |
| | | checkItemDiameter.Failed = true; |
| | | checkItemDiameter.Reason = "水力组件直径区间(10,10000]"; |
| | | } |
| | | var checkItemCurveQL = new HydroCheckItem() |
| | | { |
| | | Mode = HydroCheckMode.Item, |
| | | Type = HydroCheckType.AbnormalProp, |
| | | Code = resistance.Code, |
| | | Failed = false, |
| | | Reason = "判断水头损失曲线" |
| | | }; |
| | | result.Items.Add(checkItemCurveQL); |
| | | if (resistance.LinkStatus == Yw.Hydro.ResistanceStatus.None) |
| | | { |
| | | if (string.IsNullOrEmpty(resistance.CurveQL)) |
| | | { |
| | | checkItemCurveQL.Failed = true; |
| | | checkItemCurveQL.Reason = "缺少水头损失曲线"; |
| | | } |
| | | else |
| | | { |
| | | if (hydroInfo.Curves == null || !hydroInfo.Curves.Exists(t => t.Code == resistance.CurveQL)) |
| | | { |
| | | checkItemCurveQL.Failed = true; |
| | | checkItemCurveQL.Reason = "缺少水头损失曲线"; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | if (result.Items.Exists(x => x.Failed)) |
| | | { |
| | | result.Succeed = false; |