RinseItemManager.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using Aitex.Core.Util;
  2. using MECF.Framework.Common.Equipment;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Xml;
  9. namespace MECF.Framework.Common.ToolLayout
  10. {
  11. public class RinseItemManager : Singleton<RinseItemManager>
  12. {
  13. #region 常量
  14. /// <summary>
  15. /// 前缀
  16. /// </summary>
  17. private const string PREFIX = "Rinse";
  18. #endregion
  19. #region 内部变量
  20. /// <summary>
  21. /// 字典
  22. /// </summary>
  23. private Dictionary<string, RinseItem> _moduleItemDictionary = new Dictionary<string, RinseItem>();
  24. #endregion
  25. #region 属性
  26. /// <summary>
  27. /// 已经安装模块
  28. /// </summary>
  29. public List<string> InstalledModules { get; private set; } = new List<string>();
  30. #endregion
  31. /// <summary>
  32. /// 初始化Rinse
  33. /// </summary>
  34. /// <param name="rinseElement"></param>
  35. public void InitializeRinseItem(XmlElement rinseElement)
  36. {
  37. RinseItem rinseItem = new RinseItem();
  38. rinseItem.CellType = "Cell";
  39. LayoutCellItemManager.Instance.InitializeLayoutCellItem(rinseItem, rinseElement);
  40. rinseItem.RinseID = int.Parse(rinseElement.SelectSingleNode("RinseID").InnerText);
  41. rinseItem.ResistivityID = rinseElement.SelectSingleNode("ResistivityID").InnerText;
  42. string key = $"{PREFIX}{rinseItem.RinseID}";
  43. if(rinseItem.Installed && !InstalledModules.Contains(key))
  44. {
  45. InstalledModules.Add(key);
  46. }
  47. rinseItem.ModuleName = key;
  48. rinseItem.ModuleType = ModuleType.Rinse.ToString();
  49. _moduleItemDictionary[key] = rinseItem;
  50. CellItemManager.Instance.InitialLayoutCellItem(rinseItem);
  51. }
  52. /// <summary>
  53. /// 获取rinse项
  54. /// </summary>
  55. /// <param name="rinseId"></param>
  56. /// <returns></returns>
  57. public RinseItem GetRinseItem(string moduleName)
  58. {
  59. return _moduleItemDictionary.ContainsKey(moduleName) ? _moduleItemDictionary[moduleName]:null;
  60. }
  61. }
  62. }