cpT
2025-07-03 c2f21a3a34b76e1bd90aed3e2ebb394df57123cc
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
package com.zy.core.model.command;
 
import com.alibaba.fastjson.annotation.JSONField;
import com.zy.core.enums.CrnTaskModeType;
import lombok.Data;
 
import java.util.Calendar;
import java.util.Date;
 
/**
 * 堆垛机命令报文
 * Created by vincent on 2020/8/11
 */
@Data
public class CrnCommand {
 
    // 堆垛机号
    private Integer crnNo = 0;
    private Integer laneNo = 0;
 
    // 任务完成确认位
    private Short ackFinish = 0;
 
    // 任务号
    private Short taskNo = 0;
 
    /**
     * 任务模式:
     * 0 = 无
     * 1 = 入库   源和目标都发
     * 2 = 出库   源和目标都发
     * 3 = 库位移转 源和目标都发
     * 4 = 站位移转 源和目标都发
     * 5 = 回原点  不用发
     * 6 = 去反原点 目标发
     * 7 = 坐标移行 目标发
     * 90 = 设置时间
     * 99 = 取消当前任务
     */
    private Short taskMode = 0;
 
    @JSONField(serialize = false)
    private CrnTaskModeType taskModeType;
 
    // 源位置列号
    private Short sourcePosX = 0;
 
    // 源位置层号
    private Short sourcePosY = 0;
 
    // 源位置排号
    private Short sourcePosZ = 0;
 
    // 源站
    private Short sourceStaNo = 0;
 
    // 源巷道
    private Short sourceLane = 0;
 
    // 目标位置排号
    private Short destinationPosX = 0;
 
    // 目标位置列号
    private Short destinationPosY = 0;
 
    // 目标位置层号
    private Short destinationPosZ = 0;
 
    // 目标站
    private Short destinationStaNo = 0;
 
    // 目标巷道
    private Short destinationLane = 0;
 
    //联机模式
    private Short auto = 0;
 
    //申请完成任务
    private Short onlineWrk1 = 0;
    //申请取消任务
    private Short onlineWrk2 = 0;
    //清除联机任务
    private Short onlineWrk3 = 0;
    //恢复联机任务
    private Short onlineWrk4 = 0;
    private  Short reset = 0;
 
    // 任务确认 0:未确认 1:已确认
    private Short command = 0;
 
    //指令ID
    private Integer commandId;
 
    public void setTaskMode(Short taskMode){
        this.taskMode = taskMode;
        this.taskModeType = CrnTaskModeType.get(taskModeType);
    }
 
    public void setTaskMode(CrnTaskModeType type) {
        this.taskModeType = type;
        this.taskMode = CrnTaskModeType.get(type).id.shortValue();
    }
 
    public static void main(String[] args) {
        Date date = new Date();
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
 
        System.out.println(cal.get(Calendar.YEAR));
        //默认从0-11
        System.out.println(cal.get(Calendar.MONTH)+1);
        System.out.println(cal.get(Calendar.DATE));
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        System.out.println("时");
        System.out.println(hour);
        int minute = cal.get(Calendar.MINUTE);
        System.out.println("分");
        System.out.println(minute);
        int second = cal.get(Calendar.SECOND);
        System.out.println("秒");
        System.out.println(second);
        int mm = cal.get(Calendar.DAY_OF_WEEK) - 1; // 星期:0(日)~6(六)
        System.out.println("礼拜");
        System.out.println(mm);
    }
 
    public String getNowTask() {
        String souLoc = this.getSourcePosX() + "排" + this.getSourcePosY() + "列" + this.getSourcePosZ() + "层";
        String endLoc = this.getDestinationPosX() + "排" + this.getDestinationPosY() + "列" + this.getDestinationPosY() + "层";
 
        return "任务号:"+this.taskNo+";起点:"+souLoc+";终点:"+endLoc+";模式:"+this.taskModeType.name();
    }
 
 
}