lixiaojun
2024-12-20 6f8d3598e6b3777f45d0a8c1551a845e70d37fb6
WinFrmUI/Yw.WinFrmUI.Hydro.Core/10-working/00-core/HydroWorkingExtensions.cs
@@ -5,6 +5,15 @@
    /// </summary>
    public static class HydroWorkingExtensions
    {
        /// <summary>
        /// 更新工况信息
        /// </summary>
        public static void UpdateWorkingInfo(this Yw.Model.HydroModelInfo hydroInfo, string workingInfo)
        {
            hydroInfo.UpdateWorkingInfo(JsonHelper.Json2Object<HydroWorkingInfoViewModel>(workingInfo));
        }
        /// <summary>
        /// 更新工况信息
        /// </summary>
@@ -37,27 +46,12 @@
            #region 水池
            if (hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0)
            var tanks = hydroInfo.GetAllTanks();
            if (tanks != null && tanks.Count > 0)
            {
                foreach (var visual in hydroInfo.Tanks)
                foreach (var visual in tanks)
                {
                    var visualWorkingInfo = workingInfo.Tanks?.Find(x => x.Code == visual.Code);
                    if (visualWorkingInfo != null)
                    {
                        visual.InitLevel = visualWorkingInfo.InitLevel;
                    }
                }
            }
            #endregion
            #region 水箱
            if (hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0)
            {
                foreach (var visual in hydroInfo.Waterboxs)
                {
                    var visualWorkingInfo = workingInfo.Waterboxs?.Find(x => x.Code == visual.Code);
                    if (visualWorkingInfo != null)
                    {
                        visual.InitLevel = visualWorkingInfo.InitLevel;
@@ -101,10 +95,55 @@
            #endregion
            #region 阻件
            var resistances = hydroInfo.GetAllResistances();
            if (resistances != null && resistances.Count > 0)
            {
                foreach (var visual in resistances)
                {
                    var visualWorkingInfo = workingInfo.Resistances?.Find(x => x.Code == visual.Code);
                    if (visualWorkingInfo != null)
                    {
                        visual.LinkStatus = visualWorkingInfo.LinkStatus;
                    }
                }
            }
            #endregion
        }
        /// <summary>
        /// 更新工况信息
        /// </summary>
        public static void UpdateWorkingInfo(this Yw.Model.HydroPumpInfo pumpInfo, HydroWorkingPumpViewModel pumpWorkingInfo)
        {
            if (pumpInfo == null)
            {
                return;
            }
            if (pumpWorkingInfo == null)
            {
                return;
            }
            pumpInfo.LinkStatus = pumpWorkingInfo.LinkStatus;
            pumpInfo.SpeedRatio = pumpWorkingInfo.CurrentHz / pumpInfo.RatedHz;
        }
        /// <summary>
        /// 更新工况信息
        /// </summary>
        public static void UpdateWorkingInfo(this Yw.Model.HydroPumpInfo pumpInfo, List<HydroWorkingPumpViewModel> allWorkingList)
        {
            if (pumpInfo == null)
            {
                return;
            }
            var workingInfo = allWorkingList?.Find(x => x.Code == pumpInfo.Code);
            pumpInfo.UpdateWorkingInfo(workingInfo);
        }
    }