| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | using Aitex.Common.Util;using Aitex.Core.Common;using Aitex.Core.RT.Log;using Aitex.Core.Util;using MECF.Framework.Common.Equipment;using MECF.Framework.Common.Utilities;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MECF.Framework.Common.ToolLayout{    public class CellItemRecipeTimeManager : Singleton<CellItemRecipeTimeManager>       {        #region 内部变量        /// <summary>        /// Recipe时间字典(key-recipe ppid,value-时间总和)        /// </summary>        private Dictionary<string, int> _recipeTimeDictionary = new Dictionary<string, int>();        #endregion        /// <summary>        /// 初始化        /// </summary>        public void Initialize()        {            _recipeTimeDictionary = BinarySerializer<Dictionary<string,int>>.FromStream("RecipeTimeManager");        }        /// <summary>        /// 是否包含        /// </summary>        /// <param name="ppid"></param>        /// <returns></returns>        public bool ContainRecipe(string ppid)        {            return _recipeTimeDictionary.ContainsKey(ppid);        }        /// <summary>        /// 获取recipe时间总和        /// </summary>        /// <param name="ppid"></param>        /// <returns></returns>        public int GetRecipeTotalTime(string ppid)        {            return _recipeTimeDictionary.ContainsKey(ppid) ? _recipeTimeDictionary[ppid] : int.MaxValue;        }        /// <summary>        /// 更新Recipe时长        /// </summary>        /// <param name="ppid"></param>        /// <param name="time"></param>        public void UpdateRecipeTime(string ppid,int time)        {            _recipeTimeDictionary[ppid] = time;            Serialize();        }        /// <summary>        /// 序列化        /// </summary>        private async void Serialize()        {            await Task.Run(() =>            {                try                {                    BinarySerializer<Dictionary<string,int>>.ToStream(_recipeTimeDictionary, "RecipeTimeManager");                                    }                catch (Exception ex)                {                    LOG.WriteExeption(ex);                }            });        }    }}
 |