| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | using System;using System.Collections.Generic;using MECF.Framework.Common.DataCenter;using OpenSEMI.ClientBase;using Venus_Core;using Venus_Themes.Unity;namespace Venus_MainPages.Unity{    public static class ModuleManager    {        public static PressureType ModulePressureType= (PressureType)Convert.ToInt32(QueryDataClient.Instance.Service.GetConfig("System.PressureUnitType"));        public static event Action<FlashWaferInformation> FlashWaferEvent;        public static void OnFlashWafer(FlashWaferInformation para)        {            FlashWaferEvent?.Invoke(para);        }        /// <summary>        /// all module need init        /// </summary>        public static readonly List<string> ModulesID = new List<string>()        {             "LLA","LLB","TMRobot","LP1","LP2","LP3","EfemRobot","Aligner1"        };        public static Dictionary<string, ModuleInfo> ModuleInfos { get; private set; } = new Dictionary<string, ModuleInfo>();        static ModuleManager()        {            string installModules = (string)QueryDataClient.Instance.Service.GetConfig("System.InstalledModules");            if (installModules.Contains("PMA"))                ModulesID.Add("PMA");            if (installModules.Contains("PMB"))                ModulesID.Add("PMB");            if (installModules.Contains("PMC"))                ModulesID.Add("PMC");            if (installModules.Contains("PMD"))                ModulesID.Add("PMD");            if (installModules.Contains("VCE1"))                ModulesID.Add("VCE1");            if (installModules.Contains("VPA"))                ModulesID.Add("VPA");            FlashWaferEvent += ModuleManager_FlashWaferEvent;        }        private static void ModuleManager_FlashWaferEvent(FlashWaferInformation obj)        {        }        public static void Initialize()        {            ModuleInfos.Clear();            foreach (string moduleID in ModulesID)            {                ModuleInfo modInfo = CreateModule(moduleID, true);                ModuleInfos.Add(moduleID, modInfo);            }        }        public static WaferStatusHandler CreateWaferStatusManager()        {            WaferStatusHandler WaferStatusManager;            WaferStatusImp waferStatusImp = new WaferStatusImp(QueryDataClient.Instance.Service);            WaferStatusManager = new WaferStatusHandler(waferStatusImp.GetWaferStatus, ModuleManager.ModulesID);            WaferStatusManager.Handle();            return WaferStatusManager;        }        private static ModuleInfo CreateModule(string p_modid, bool p_install)        {            ModuleInfo m_data;            if (p_install)                m_data = new ModuleInfo(p_modid, p_install, CreateWaferStatusManager().WaferStatusDic[p_modid], false);            else                m_data = new ModuleInfo(p_modid, p_install, null, false);            return m_data;        }    }    public class FlashWaferInformation    {        public string ModuleName { get; set; }        public int SoltId { get; set; }    }}
 |