using FineUIPro.iWareWms.PrintWcfService; using iWareCommon.Common.Entity; using iWareDataCore.DEV.Entity; using iWareDataCore.DEV.Service; using iWareExcel.EXCEL.Entity; using iWareExcel.EXCEL.Service; using System.Collections.Generic; namespace FineUIPro.iWareWms.Code.Entity { /// /// 系统缓存类 /// public class CacheEntity { private static object FactoryLock = new object(); private static object WorkShopLock = new object(); private static object WorkCenterLock = new object(); private static object CellLock = new object(); private static object UnitLock = new object(); private static object OpcWcfServiceLock = new object(); private static object RedisWcfServiceLock = new object(); private static object ContentLock = new object(); private static object ShiftLock = new object(); private static object ProcessRoutingLock = new object(); private static object WorkBookLock = new object(); private static object EquipmentLock = new object(); private static object ControlCenterWcfServiceLock = new object(); private static object printWcfServiceClientLock = new object(); private static PrintWcfServiceClient printWcfServiceClient = null; public static PrintWcfServiceClient PrintWcfServiceClient { get { if (printWcfServiceClient == null) { lock (printWcfServiceClientLock) { if (printWcfServiceClient == null) { printWcfServiceClient = new PrintWcfServiceClient(); } } } return CacheEntity.printWcfServiceClient; } set { CacheEntity.printWcfServiceClient = value; } } /// /// 以工作簿的名称为键,工作簿为值的字典 /// private static Dictionary workBookDict = null; public static Dictionary WorkBookDict { get { if (workBookDict == null) { lock (WorkBookLock) { if (workBookDict == null) { string msg; var workBooks = WorkBookService.GetInstance().QueryByParam(new QueryParam(), out msg); workBookDict = new Dictionary(); workBooks.ForEach(x => workBookDict.Add(x.Name, x)); } } } return CacheEntity.workBookDict; } set { CacheEntity.workBookDict = value; } } /// /// 设备 /// private static Dictionary equipmentDict = null; public static Dictionary EquipmentDict { get { if (equipmentDict == null) { lock (EquipmentLock) { if (equipmentDict == null) { string msg; equipmentDict = EquipmentService.GetInstance().ToDictionary(new QueryParam(), out msg); } } } return equipmentDict; } set { CacheEntity.equipmentDict = value; } } //private static ControlCenterWcfServiceClient controlCenterWcfServiceClient = null; //public static ControlCenterWcfServiceClient ControlCenterWcfServiceClient //{ // get // { // if (controlCenterWcfServiceClient == null) // { // lock (ControlCenterWcfServiceLock) // { // if (controlCenterWcfServiceClient == null) // { // controlCenterWcfServiceClient = new ControlCenterWcfServiceClient(); // } // } // } // return CacheEntity.controlCenterWcfServiceClient; // } // set { CacheEntity.controlCenterWcfServiceClient = value; } //} } }