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; namespace PunkHPX8_RT.Modules { public class ModuleMatcherManager : Singleton { #region 常量 private Dictionary _matcher =new Dictionary { { ModuleName.PlatingCell1.ToString(),ModuleName.PlatingCell2.ToString()}, { ModuleName.PlatingCell2.ToString(),ModuleName.PlatingCell1.ToString()}, { ModuleName.PlatingCell3.ToString(),ModuleName.PlatingCell4.ToString()}, { ModuleName.PlatingCell4.ToString(),ModuleName.PlatingCell3.ToString()}, { ModuleName.PlatingCell5.ToString(),ModuleName.PlatingCell6.ToString()}, { ModuleName.PlatingCell6.ToString(),ModuleName.PlatingCell5.ToString()}, { ModuleName.PlatingCell7.ToString(),ModuleName.PlatingCell8.ToString()}, { ModuleName.PlatingCell8.ToString(),ModuleName.PlatingCell7.ToString()}, { ModuleName.PlatingCell9.ToString(),ModuleName.PlatingCell10.ToString()}, { ModuleName.PlatingCell10.ToString(),ModuleName.PlatingCell9.ToString()}, { ModuleName.VPW1.ToString(),ModuleName.VPW2.ToString()}, { ModuleName.VPW2.ToString(),ModuleName.VPW1.ToString()}, }; private Dictionary _platingCellVerticalMatcher = new Dictionary(); /// /// 垂直电机Matcher集合字典 /// private Dictionary> _verticalMatcherListDic = new Dictionary>(); #endregion /// /// 获取配对模块 /// /// /// public string GetMatcherByModule(string module) { if (_matcher.ContainsKey(module)){ return _matcher[module]; } else { return ""; } } /// /// 初始化PlatingCell和垂直电机ID /// /// /// public void InitialPlatingCellVerticalID(string platingCellId,string verticalId) { _platingCellVerticalMatcher[platingCellId] = verticalId; List list = null; if (_verticalMatcherListDic.ContainsKey(verticalId)) { list= _verticalMatcherListDic[verticalId]; } else { list = new List(); _verticalMatcherListDic[verticalId] = list; } if (!list.Contains(platingCellId)) { list.Add(platingCellId); } } /// /// 获取所有的PlatingCell的垂直电机集合 /// /// public List GetAllPlatingCellVertialList() { return _platingCellVerticalMatcher.Values.Distinct().ToList(); } /// /// 根据Plating获取Vertical /// /// /// public string GetPlatingVerticalByCell(string cell) { if (_platingCellVerticalMatcher.ContainsKey(cell)) { return _platingCellVerticalMatcher[cell]; } else { return ""; } } /// /// 获取垂直电机的Mathcer集合 /// /// /// public List GetMatcherListByVertical(string vertical) { if (_verticalMatcherListDic.ContainsKey(vertical)) { return _verticalMatcherListDic[vertical]; } else { return null; } } } }