自动化立体仓库 - WCS系统
#
Junjie
2025-01-08 97821c4acc241cd65fd4ae890a44201df065c590
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
package com.zy.asrs.service.impl;
 
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.WrkMastService;
import com.zy.core.enums.WrkStsType;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service("wrkMastService")
public class WrkMastServiceImpl extends ServiceImpl<WrkMastMapper, WrkMast> implements WrkMastService {
 
    @Override
    public WrkMast selectByWorkNo(Integer workNo) {
        return this.baseMapper.selectByWorkNo(workNo);
    }
 
    @Override
    public Boolean judgeInbound(WrkMast wrkMast) {
        switch (WrkStsType.query(wrkMast.getWrkSts())) {
            case NEW_INBOUND:
            case INBOUND_DEVICE_RUN:
            case INBOUND_LIFT_RUN:
            case INBOUND_LIFT_RUN_COMPLETE:
            case INBOUND_SHUTTLE_RUN:
            case INBOUND_SHUTTLE_RUN_COMPLETE:
            case COMPLETE_INBOUND:
            case SETTLE_INBOUND:
                return Boolean.TRUE;
            case NEW_OUTBOUND:
            case OUTBOUND_SHUTTLE_RUN:
            case OUTBOUND_SHUTTLE_RUN_COMPLETE:
            case OUTBOUND_LIFT_RUN:
            case OUTBOUND_LIFT_RUN_COMPLETE:
            case COMPLETE_OUTBOUND:
            case SETTLE_OUTBOUND:
                return Boolean.FALSE;
        }
        return Boolean.TRUE;
    }
 
    @Override
    public List<WrkMast> selectNoShuttleWrkByLev(Integer lev) {
        return this.baseMapper.selectNoShuttleWrkByLev("%" + lev);
    }
 
    @Override
    public List<WrkMast> selectShuttleWrkByLev(Integer lev) {
        return this.baseMapper.selectShuttleWrkByLev("%" + lev);
    }
 
    @Override
    public List<WrkMast> selectShuttleOutWrkByLev(Integer lev) {
        return this.baseMapper.selectShuttleOutWrkByLev("%" + lev);
    }
 
    @Override
    public WrkMast selectChargeWorking(Integer shuttleNo) {
        return this.baseMapper.selectChargeWorking(shuttleNo);
    }
 
    @Override
    public WrkMast selectChargeWorkingByChargeSta(Integer chargeSta) {
        return this.baseMapper.selectChargeWorkingByChargeSta(chargeSta);
    }
 
    @Override
    public Boolean hasBusyByShuttle(Integer shuttleNo) {
        List<WrkMast> wrkMasts = this.selectList(new EntityWrapper<WrkMast>().in("wrk_sts"
                , WrkStsType.NEW_INBOUND.sts
                , WrkStsType.INBOUND_DEVICE_RUN.sts
                , WrkStsType.INBOUND_LIFT_RUN.sts
                , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts
                , WrkStsType.INBOUND_SHUTTLE_RUN.sts
                , WrkStsType.INBOUND_SHUTTLE_RUN_COMPLETE.sts
 
                , WrkStsType.NEW_OUTBOUND.sts
                , WrkStsType.OUTBOUND_SHUTTLE_RUN.sts
                , WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts
                , WrkStsType.OUTBOUND_LIFT_RUN.sts
                , WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts
 
                , WrkStsType.NEW_MOVE.sts
                , WrkStsType.MOVE_SITE.sts
                , WrkStsType.MOVE_SITE_COMPLETE.sts
                , WrkStsType.MOVE_IN_LIFT.sts
                , WrkStsType.MOVE_IN_LIFT_COMPLETE.sts
                , WrkStsType.MOVE_LIFT_RUN.sts
                , WrkStsType.MOVE_LIFT_RUN_COMPLETE.sts
                , WrkStsType.MOVE_OUT_LIFT.sts
                , WrkStsType.MOVE_OUT_LIFT_COMPLETE.sts
                , WrkStsType.MOVE_SHUTTLE.sts
 
                , WrkStsType.NEW_CHARGE.sts
                , WrkStsType.CHARGE_SHUTTLE_RUN.sts
                , WrkStsType.CHARGE_SHUTTLE_WORKING.sts
                , WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts
        ).eq("shuttle_no", shuttleNo));
        if (Cools.isEmpty(wrkMasts)) {
            return false;
        }
        return true;
    }
 
    @Override
    public WrkMast selectShuttleHasMoveWorking(Integer shuttleNo) {
        return this.baseMapper.selectShuttleHasMoveWorking(shuttleNo);
    }
 
    @Override
    public WrkMast selectShuttleWorking(Integer shuttleNo) {
        return this.baseMapper.selectShuttleWorking(shuttleNo);
    }
 
    @Override
    public List<WrkMast> selectShuttleMoveWrk() {
        return this.baseMapper.selectShuttleMoveWrk();
    }
 
    @Override
    public WrkMast selectLiftWrkMast(Integer liftNo) {
        return this.baseMapper.selectLiftWrkMast(liftNo);
    }
}