schangxiang@126.com
2025-06-04 3e837690e8a1d3b6e86f3db72d2d84eab1bc7114
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
using iWareCommon.Common.Entity;
using iWareCommon.Utils;
using iWareDataCore.ORM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace iWareDataCore.BASE.Entity
{
    public class PlaceEntity : ICommonEntity<BASEPlace>
    {
 
        /// <summary>
        /// 库位ID
        /// </summary>
        public int Id { get; set; }
 
        /// <summary>
        /// 库位编码
        /// </summary>
        public string Code { get; set; }
 
        /// <summary>
        /// 库位类型id
        /// </summary>
        public int TypeId { get; set; }
 
 
        /// <summary>
        /// 排
        /// </summary>
        public int Row { get; set; }
 
        /// <summary>
        /// 列
        /// </summary>
        public int Col { get; set; }
 
        /// <summary>
        /// 层
        /// </summary>
        public int Layer { get; set; }
        /// <summary>
        /// 长
        /// </summary>
        public decimal Length { get; set; }
 
        /// <summary>
        /// 宽
        /// </summary>
        public decimal Width { get; set; }
        
        /// <summary>
        /// 高 
        /// </summary>
        public decimal Height { get; set; }
        /// <summary>
        /// 最大承重
        /// </summary>
        public decimal MaxWeight { get; set; }
        /// <summary>
        /// 档位
        /// </summary>
        public int HeightLevel { get; set; }
        /// <summary>
        /// X
        /// </summary>
        public int Posx { get; set; }
        /// <summary>
        /// Y
        /// </summary>
        public int Posy { get; set; }
        /// <summary>
        /// Z
        /// </summary>
        public int Posz { get; set; }
        /// <summary>
        /// 库位状态
        /// </summary>
        public int Status { get; set; }
 
        /// <summary>
        /// 库位锁
        /// </summary>
        public int IsLock { get; set; }
 
        /// <summary>
        /// 是否执行
        /// </summary>
        public int IsExecute { get; set; }
 
 
        /// <summary>
        /// 无参构造
        /// </summary>
        public PlaceEntity() { }
 
 
        /// <summary>
        /// 有参构造
        /// </summary>
        /// <param name="place">orm映射的类</param>
        public PlaceEntity(BASEPlace place)
        {
            EntityPropHelper<PlaceEntity, BASEPlace>.CopyProp(place, this, GetColumnMap());
        }
 
        /// <summary>
        /// 将对象转换成ORM中的类型
        /// </summary>
        /// <returns>Orm中的BASEPlace类型</returns>
        public BASEPlace ToOrm()
        {
            var place = new BASEPlace();
 
            EntityPropHelper<PlaceEntity, BASEPlace>.CopyProp(this, place, GetColumnMap());
 
            return place;
        }
 
        /// <summary>
        /// 转换视图的方法
        /// </summary>
        /// <param name="place"></param>
        public PlaceEntity(PlaceViewEntity place)
        {
            var keys = GetColumnMap().Keys.ToList();
            var columnMap = new Dictionary<string, string>();
            keys.ForEach(x => columnMap.Add(x, x));
 
            EntityPropHelper<PlaceEntity, PlaceViewEntity>.CopyProp(place, this, columnMap);
 
        }
 
 
        ///<summary>
        /// 获取自定义角色类中的字段名为键,orm中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>() 
            { 
                {"Id", "id"},
                {"Code", "code"},
                {"TypeId", "typeid"},
                {"Row", "row"},
                {"Col", "col"},
                {"Layer", "layer"},
                {"Width", "width"},
                {"Length", "length"},
                {"Height", "height"},
                {"MaxWeight", "maxweight"},
                {"HeightLevel", "heightlevel"},
                {"Posx", "posx"},
                {"Posy", "posy"},
                {"Posz", "posz"},      
                {"Status", "status"},
                {"IsLock", "islock"},
                {"IsExecute", "isexecute"}
            };
        }
 
 
        /// <summary>
        /// 根据WareHouseAreaTypeEntity的字段转BASEPlace的字段
        /// </summary>
        /// <param name="name">WareHouseAreaTypeEntity的字段</param>
        /// <returns>BASEPlace</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
 
        /// <summary>
        /// 获取WareHouseAreaTypeEntity对应的表名
        /// </summary>
        /// <returns>表名</returns>
        public static string GetTableName()
        {
            return "[dbo].[BASEPlace]";
        }
 
    }
}