自动化立体仓库 - WCS系统
#
luxiaotao1123
2020-08-04 6abc20e29568c129f4ca71eccec9310534a8c779
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
package com.zy.common.HslCommunication.BasicFramework;
 
/**
 * 系统的版本类
 */
public class SystemVersion {
 
    /**
     * 根据格式化字符串的版本号初始化
     * @param VersionString 格式化的字符串,例如:1.0.0或1.0.0.0503
     */
    public SystemVersion(String VersionString)
    {
        String[] temp = VersionString.split("\\.");
        if (temp.length >= 3)
        {
            m_MainVersion = Integer.parseInt(temp[0]);
            m_SecondaryVersion = Integer.parseInt(temp[1]);
            m_EditVersion = Integer.parseInt(temp[2]);
 
            if (temp.length >= 4)
            {
                m_InnerVersion = Integer.parseInt(temp[3]);
            }
        }
    }
 
 
    /**
     * 根据指定的数字实例化一个对象
     * @param main 主版本
     * @param sec 次版本
     * @param edit 修订版
     */
    public SystemVersion(int main, int sec, int edit)
    {
        m_MainVersion = main;
        m_SecondaryVersion = sec;
        m_EditVersion = edit;
    }
 
    /**
     * 根据指定的数字实例化一个对象
     * @param main 主版本
     * @param sec 次版本
     * @param edit 修订版
     * @param inner 内部版本号
     */
    public SystemVersion(int main, int sec, int edit, int inner)
    {
        m_MainVersion = main;
        m_SecondaryVersion = sec;
        m_EditVersion = edit;
        m_InnerVersion = inner;
    }
    private int m_MainVersion = 2;
 
 
 
    /**
     * 主版本
     * @return int数据
     */
    public int MainVersion()
    {
        return m_MainVersion;
    }
 
    private int m_SecondaryVersion = 0;
 
 
 
    /**
     * 次版本
     * @return int数据
     */
    public int SecondaryVersion() {
        return m_SecondaryVersion;
    }
 
    private int m_EditVersion = 0;
 
    /**
     * 修订版
     * @return int数据
     */
    public int EditVersion() {
        return m_EditVersion;
    }
    private int m_InnerVersion = 0;
 
 
 
    /**
     * 内部版本号,或者是版本号表示为年月份+内部版本的表示方式
     * @return int数据
     */
    public int InnerVersion()
    {
        return m_InnerVersion;
    }
 
 
 
    /**
     * 根据格式化为支持返回的不同信息的版本号
     * C返回1.0.0.0
     * N返回1.0.0
     * S返回1.0
     * @param format 格式化信息
     * @return 字符串数据
     */
    public String toString(String format)
    {
        if(format == "C")
        {
            return MainVersion()+"."+SecondaryVersion()+"."+EditVersion()+"."+InnerVersion();
        }
 
        if(format == "N")
        {
            return MainVersion()+"."+SecondaryVersion()+"."+EditVersion();
        }
 
        if(format == "S")
        {
            return MainVersion()+"."+SecondaryVersion();
        }
 
        return toString();
    }
 
 
    /**
     * 版本信息
     * @return 字符串数据
     */
    @Override
    public String toString() {
        if(InnerVersion() == 0)
        {
            return MainVersion()+"."+SecondaryVersion()+"."+EditVersion();
        }
        else
        {
            return MainVersion()+"."+SecondaryVersion()+"."+EditVersion()+"."+InnerVersion();
        }
    }
 
 
    /**
     * 判断版本是否一致
     * @param sv 对比的版本
     * @return 是否一致
     */
    public boolean IsSameVersion(SystemVersion sv) {
        if (this.m_MainVersion != sv.m_MainVersion) {
            return false;
        }
 
        if (this.m_SecondaryVersion != sv.m_SecondaryVersion) {
            return false;
        }
 
        if (this.m_EditVersion != sv.m_EditVersion) {
            return false;
        }
 
        if (this.m_InnerVersion != sv.m_InnerVersion) {
            return false;
        }
 
        return true;
    }
 
    /**
     * 判断是不是小于指定的版本
     * @param sv 对比的版本
     * @return 是否小于
     */
    public boolean IsSmallerThan(SystemVersion sv) {
        if (this.m_MainVersion < sv.m_MainVersion) {
            return true;
        }
        else if(this.m_MainVersion > sv.m_MainVersion) {
            return false;
        }
 
        if (this.m_SecondaryVersion < sv.m_SecondaryVersion) {
            return true;
        }
        else if (this.m_SecondaryVersion > sv.m_SecondaryVersion) {
            return false;
 
        }
 
        if (this.m_EditVersion < sv.m_EditVersion) {
            return true;
        }
        else if (this.m_EditVersion > sv.m_EditVersion) {
            return false;
        }
 
        if (this.m_InnerVersion < sv.m_InnerVersion) {
            return true;
        }
        else if (this.m_InnerVersion > sv.m_InnerVersion) {
            return false;
        }
 
        return false;
    }
 
}