自动化立体仓库 - WCS系统
#
lsh
2024-06-22 5a0f4ce17e31d84068bdb2f62d5bb7ef27f87d0f
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
package com.zy.core.model.protocol;
 
import com.zy.asrs.entity.BasJar;
import com.zy.core.enums.CrnModeType;
import com.zy.core.enums.JarModeType;
import com.zy.core.enums.JarStatusType;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
 
/**
 * Created by vincent on 2024/6/21
 */
@Slf4j
@Data
public class JarProtocol {
 
    /**
     * 设备号
     */
    private Integer jarNo;
 
    /**
     * 1 = 联机模式
     * 0 = 脱机模式
     */
    public Integer mode;
 
    public JarModeType modeType;
 
 
    /**
     IDLE(0, "空闲"),
     MOVING(1, "作业中"),
     SOS(2, "报警"),
     WAITING(3, "任务完成等待WCS确认"),
     */
    public Short status;
 
    public JarStatusType statusType;
 
    /*
     * 左门状态
     * */
    private boolean leftDoor;
 
    /*
     * 右门状态
     * */
    private boolean rightDoor;
 
    /*
     * 左门可开
     * */
    private boolean leftInEnable;
 
    /*
     * 左门可关
     * */
    private boolean leftOutEnable;
 
    /*
     * 右门可开
     * */
    private boolean rightInEnable;
 
    /*
     * 右门可关
     * */
    private boolean rightOutEnable;
 
    /*
     * 自动
     * */
    private boolean autoing;
 
    /*
     * open the left door
     * */
    public Integer leftDoorOpen;
 
    /*
     * close the left door
     * */
    public Integer leftDoorClose;
 
    /*
     * open the right door
     * */
    public Integer rightDoorOpen;
 
    /*
     * close the right door
     * */
    public Integer rightDoorClose;
 
 
    /**
     * 异常码
     */
    public Integer jarErr = 0;
 
    public void setStatus(Short status){
        this.status = status;
        this.statusType = JarStatusType.get(status);
    }
 
    public void setStatus(JarStatusType type){
        this.statusType = type;
        this.status = JarStatusType.get(type).id.shortValue();
    }
 
    public void setMode(Integer mode) {
        this.mode = mode;
        this.modeType = JarModeType.get(mode);
    }
 
    public void setMode(JarModeType type) {
        this.modeType = type;
        this.mode = JarModeType.get(type).id;
    }
 
    public BasJar toSqlModel(BasJar basJar){
        if (jarErr!=null) {
            basJar.setJarErr(jarErr);
        }
        basJar.setJarMode(mode);
        basJar.setJarStatus(status.intValue());
        basJar.setLeftDoor(leftDoor?"Y":"N");
        basJar.setRightDoor(rightDoor?"Y":"N");
        basJar.setLeftInEnable(leftInEnable?"Y":"N");
        basJar.setLeftOutEnable(leftOutEnable?"Y":"N");
        basJar.setRightInEnable(rightInEnable?"Y":"N");
        basJar.setRightOutEnable(rightOutEnable?"Y":"N");
        basJar.setAutoing(autoing?"Y":"N");
 
        return basJar;
    }
 
}