schangxiang@126.com
2025-08-20 b7bb4bf8ee6d007e0e7c3cacfc4fab77049beb58
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
 
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
{
    /// <summary>
    /// 系统缓存类
    /// </summary>
    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; }
        }
 
        /// <summary>
        /// 以工作簿的名称为键,工作簿为值的字典
        /// </summary>
        private static Dictionary<string, WorkBookEntity> workBookDict = null;
 
 
        public static Dictionary<string, WorkBookEntity> WorkBookDict
        {
            get
            {
                if (workBookDict == null)
                {
                    lock (WorkBookLock)
                    {
                        if (workBookDict == null)
                        {
                            string msg;
                            var workBooks = WorkBookService.GetInstance().QueryByParam(new QueryParam(), out msg);
                            workBookDict = new Dictionary<string, WorkBookEntity>();
                            workBooks.ForEach(x => workBookDict.Add(x.Name, x));
                        }
                    }
                }
                return CacheEntity.workBookDict;
            }
            set { CacheEntity.workBookDict = value; }
        }
 
        /// <summary>
        /// 设备
        /// </summary>
        private static Dictionary<int, EquipmentEntity> equipmentDict = null;
 
        public static Dictionary<int, EquipmentEntity> 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; }
        //}
        
 
    }
}