自动化立体仓库 - WCS系统
#
Junjie
2023-10-20 16bb4a6e5bf59c308ff351c5060875629f93291c
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
package com.zy.common.utils;
 
import com.core.common.SpringUtils;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.LiftSlave;
import com.zy.core.model.command.NyLiftCommand;
import com.zy.core.model.protocol.LiftStaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.LiftThread;
 
import javax.swing.*;
 
/**
 * 牛眼提升机工具类
 */
public class NyLiftUtils {
 
    /**
     * 获取提升机命令
     */
    public static NyLiftCommand getLiftCommand(Integer liftNo, Integer taskModel, Integer sourceSta, Integer targetSta, Integer taskNo) {
        NyLiftCommand command = new NyLiftCommand();
        command.setLiftNo(liftNo.shortValue());
        command.setTaskNo(taskNo.shortValue());
        command.setTaskModel(taskModel.shortValue());
        command.setSourceSta(sourceSta.shortValue());
        command.setTargetSta(targetSta.shortValue());
        return command;
    }
 
    /**
     * 获取提升机复位命令
     */
    public static NyLiftCommand getLiftResetCommand(Integer liftNo) {
        NyLiftCommand command = new NyLiftCommand();
        command.setLiftNo(liftNo.shortValue());
        command.setTaskNo((short) 0);
        command.setTaskModel((short) 0);
        command.setSourceSta((short) 0);
        command.setTargetSta((short) 0);
        return command;
    }
 
    //获取提升机站点
    public static LiftStaProtocol getLiftStaByStaNo(Integer staNo) {
        SlaveProperties slaveProperties = SpringUtils.getBean(SlaveProperties.class);
        for (LiftSlave liftSlave : slaveProperties.getLift()) {
            LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftSlave.getId());
            if (liftThread == null) {
                return null;
            }
 
            for (LiftStaProtocol liftStaProtocol : liftThread.getLiftStaProtocols()) {
                if (liftStaProtocol.getStaNo().equals(staNo)) {
                    return liftStaProtocol;
                }
            }
        }
 
        return null;
    }
 
    //获取提升机站点
    public static LiftStaProtocol getLiftStaByStaNo(Integer liftNo, Integer staNo) {
        LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftNo);
        if (liftThread == null) {
            return null;
        }
 
        for (LiftStaProtocol liftStaProtocol : liftThread.getLiftStaProtocols()) {
            if (liftStaProtocol.getStaNo().equals(staNo)) {
                return liftStaProtocol;
            }
        }
 
        return null;
    }
 
    //获取提升机站点
    public static LiftStaProtocol getLiftStaByLev(Integer liftNo, Integer lev) {
        LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftNo);
        if (liftThread == null) {
            return null;
        }
 
        for (LiftStaProtocol liftStaProtocol : liftThread.getLiftStaProtocols()) {
            if (liftStaProtocol.getLev().equals(lev)) {
                return liftStaProtocol;
            }
        }
 
        return null;
    }
 
}