| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | using Aitex.Core.Util;using MECF.Framework.Common.Equipment;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml;namespace MECF.Framework.Common.ToolLayout{    public class RinseItemManager : Singleton<RinseItemManager>    {        #region 常量        /// <summary>        /// 前缀        /// </summary>        private const string PREFIX = "Rinse";        private const string PWT = "PWT";        #endregion        #region 内部变量        /// <summary>        /// 字典         /// </summary>        private Dictionary<string, RinseItem> _moduleItemDictionary = new Dictionary<string, RinseItem>();        #endregion        #region 属性        /// <summary>        /// 已经安装模块        /// </summary>        public List<string> InstalledModules { get; private set; } = new List<string>();        #endregion        /// <summary>        /// 初始化Rinse        /// </summary>        /// <param name="rinseElement"></param>        public void InitializeRinseItem(XmlElement rinseElement)        {            RinseItem rinseItem = new RinseItem();            rinseItem.CellType = "Cell";            LayoutCellItemManager.Instance.InitializeLayoutCellItem(rinseItem, rinseElement);            rinseItem.RinseID = int.Parse(rinseElement.SelectSingleNode("RinseID").InnerText);            rinseItem.ResistivityID = rinseElement.SelectSingleNode("ResistivityID").InnerText;            string key = $"{PREFIX}{rinseItem.RinseID}";            if(rinseItem.Installed && !InstalledModules.Contains(key))            {                InstalledModules.Add(key);            }            rinseItem.ModuleName = key;            rinseItem.ModuleType = ModuleType.Rinse.ToString();            _moduleItemDictionary[key] = rinseItem;            CellItemManager.Instance.InitialLayoutCellItem(rinseItem);          }        /// <summary>        /// 获取rinse项        /// </summary>        /// <param name="rinseId"></param>        /// <returns></returns>        public RinseItem GetRinseItem(string moduleName)        {            return _moduleItemDictionary.ContainsKey(moduleName) ? _moduleItemDictionary[moduleName]:null;        }        /// <summary>        /// 获取预湿的Rinse        /// </summary>        /// <returns></returns>        public RinseItem GetPrewetRinseItem()        {            List<string> lst = _moduleItemDictionary.Keys.ToList();            foreach (var item in lst)            {                RinseItem rinseItem = _moduleItemDictionary[item];                if (rinseItem.SubType == PWT)                {                    return rinseItem;                }            }            return null;        }    }}
 |