啊鑫
2024-07-11 afbf8700d137710713db61955879d0f5acb73738
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
///*************************************************************************/
///*
///* 文件名    :ButtonAuthority.cs                                      
///* 程序说明  : 系统权限功能点定义
///* 原创作者  :孙中吕 
///* 
///* Copyright 2006-2021 C/S框架网 www.csframework.com
///**************************************************************************/
 
namespace CSFrameworkV5.Core
{
    /// <summary>    
    ///定义每个功能按钮的权限值,权限值为2^n次方(n>0), 对应系统数据库的tb_MyActions表
    ///开发框架默认提供26个功能按钮(权限按钮)的权限值。
    ///基于32位的PC机,所有权限值相加必须<=Int32最大值<=2147483647
    /// </summary>
    public class ButtonAuthority
    {
        /// <summary>
        /// 未定义权限
        /// </summary>
        public const int NONE = 0;
 
        /// <summary>
        /// 1-新增
        /// </summary>
        public const int ADD = 1;
 
        /// <summary>
        /// 2-删除
        /// </summary>
        public const int DELETE = 2;
 
        /// <summary>
        /// 3-修改
        /// </summary>
        public const int EDIT = 4;
 
        /// <summary>
        /// 4-查看
        /// </summary>
        public const int VIEW = 8;
 
        /// <summary>
        /// 5-批准(审核)
        /// </summary>
        public const int APPROVAL = 16;
 
        /// <summary>
        /// 6-打印
        /// </summary>
        public const int PRINT = 32;
 
        /// <summary>
        /// 7-打印预览
        /// </summary>
        public const int PREVIEW = 64;
 
        /// <summary>
        /// 8-作废单据
        /// </summary>
        public const int VOID = 128;
 
        /// <summary>
        /// 9-生成单据
        /// </summary>
        public const int GENERATE = 256;
 
        /// <summary>
        /// 10-复制单据
        /// </summary>
        public const int CLONE = 512;
 
        /// <summary>
        /// 11-导出数据,如:Excel,PDF文件
        /// </summary>
        public const int EXPORT = 1024;
 
        /// <summary>
        /// 12-锁定 
        /// </summary>
        public const int LOCK = 2048;
 
        /// <summary>
        /// 13-修改日志(单据修改历史记录)
        /// </summary>
        public const int SHOW_MOD_HISTORY = 4096;
 
        /// <summary>
        /// 14-预留权限1
        /// </summary>
        public const int RESERVED1 = 8192;
 
        /// <summary>
        /// 15-预留权限2
        /// </summary>
        public const int RESERVED2 = 16384;
 
        /// <summary>
        /// 16-预留权限3
        /// </summary>
        public const int RESERVED3 = 32768;
 
        /// <summary>
        /// 17-扩展权限EX_01:65536
        /// </summary>
        public const int EX_01 = 65536;
 
        /// <summary>
        /// 18-扩展权限EX_02:131072
        /// </summary>
        public const int EX_02 = 131072;
 
        /// <summary>
        /// 19-扩展权限EX_03:262144
        /// </summary>
        public const int EX_03 = 262144;
 
        /// <summary>
        /// 20-扩展权限EX_04:524288
        /// </summary>
        public const int EX_04 = 524288;
 
        /// <summary>
        /// 21-扩展权限EX_05:1048576
        /// </summary>
        public const int EX_05 = 1048576;
 
        /// <summary>
        /// 22-扩展权限EX_06:2097152
        /// </summary>
        public const int EX_06 = 2097152;
 
        /// <summary>
        /// 23-扩展权限EX_07:4194304
        /// </summary>
        public const int EX_07 = 4194304;
 
        /// <summary>
        /// 24-扩展权限EX_08:8388608
        /// </summary>
        public const int EX_08 = 8388608;
 
        /// <summary>
        /// 25-扩展权限EX_09:16777216
        /// </summary>
        public const int EX_09 = 16777216;
 
        /// <summary>
        /// 26-扩展权限EX_10:33554432
        /// </summary>
        public const int EX_10 = 33554432;
    }
 
    /// <summary>
    /// 数据窗体的权限值(多个功能按钮的权限值相加)
    /// </summary>
    public class AuthorityCategory
    {
        /// <summary>
        /// 无权限
        /// </summary>
        public const int NONE = 0;
 
        /// <summary>
        /// 数据操作基类窗体:拥有的基本功能(增、删、改、查)
        /// </summary>
        public const int DATA_ACTION_VALUE = ButtonAuthority.ADD +
                                             ButtonAuthority.EDIT +
                                             ButtonAuthority.DELETE +
                                             ButtonAuthority.VIEW +
                                             ButtonAuthority.EXPORT;
 
        /// <summary>
        /// 报表窗体:拥有的功能(打印、预览)
        /// </summary>
        public const int REPORT_ACTION_VALUE =
            ButtonAuthority.PREVIEW + ButtonAuthority.PRINT;
 
        /// <summary>
        /// 业务单据窗体:拥有的功能(增、删、改、查、打印、预览、审核、修改历史记录查询)
        /// </summary>
        public const int BUSINESS_ACTION_VALUE =
            DATA_ACTION_VALUE + REPORT_ACTION_VALUE +
            ButtonAuthority.APPROVAL +
            ButtonAuthority.SHOW_MOD_HISTORY;
 
        /// <summary>
        /// 数据字典窗体:拥有的功能(增、删、改、查、导出、打印、预览)
        /// </summary>
        public const int MASTER_ACTION =
            DATA_ACTION_VALUE + REPORT_ACTION_VALUE;
 
        /// <summary>
        /// 所有功能权限(对应ButtonAuthority类所有成员的值相加)
        /// 慎用!
        /// </summary>
        public const int ALL_ACTION_VALUE =
            DATA_ACTION_VALUE +
            REPORT_ACTION_VALUE +
            ButtonAuthority.APPROVAL +
            ButtonAuthority.SHOW_MOD_HISTORY +
            ButtonAuthority.CLONE +
            ButtonAuthority.GENERATE +
            ButtonAuthority.LOCK +
            ButtonAuthority.VOID +
            ButtonAuthority.RESERVED1 +
            ButtonAuthority.RESERVED2 +
            ButtonAuthority.RESERVED3 +
            ButtonAuthority.EX_01 +
            ButtonAuthority.EX_02 +
            ButtonAuthority.EX_03 +
            ButtonAuthority.EX_04 +
            ButtonAuthority.EX_05 +
            ButtonAuthority.EX_06 +
            ButtonAuthority.EX_07 +
            ButtonAuthority.EX_08 +
            ButtonAuthority.EX_09 +
            ButtonAuthority.EX_10;
    }
}