自动化立体仓库 - WCS系统
#
vincent
2020-06-03 45e4c1543eaacc87ccf67a7ae91d2a8bb5b82ddc
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
package com.zy.client.controller;
 
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.client.constant.WcsSystemPropety;
import com.zy.client.domain.enums.SiteStatusType;
import com.zy.client.domain.param.SystemSwitchParam;
import com.zy.client.domain.vo.CrnLatestDataVo;
import com.zy.client.domain.vo.SiteLatestDataVo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
 
/**
 * 主控图接口
 * Created by vincent on 2020-06-01
 */
@RestController
@RequestMapping("/console")
public class ConsoleController {
 
    @PostMapping("/system/running/status")
    @ManagerAuth(memo = "系统运行状态")
    public R systemRunningStatus(){
        return R.ok().add(Cools.add("status", WcsSystemPropety.WCS_RUNNING_STATUS.get()));
    }
 
    @PostMapping("/system/switch")
    @ManagerAuth(memo = "系统运行开关操作")
    public R systemSwitch(SystemSwitchParam param) throws InterruptedException {
        if (Cools.isEmpty(param.getOperatorType())){
            return R.error();
        }
        if (param.getOperatorType() == 0) {
            if (Cools.isEmpty(param.getPassword())){
                return R.error("请输入口令");
            }
            if (!param.getPassword().equals(WcsSystemPropety.WCS_PASSWORD)){
                return R.error("口令错误");
            }
        }
        Thread.sleep(2000L);
        WcsSystemPropety.WCS_RUNNING_STATUS.set(param.getOperatorType()==1?Boolean.TRUE:Boolean.FALSE);
        return R.ok().add(Cools.add("status", WcsSystemPropety.WCS_RUNNING_STATUS.get()));
    }
 
    @PostMapping("/site/detail")
    @ManagerAuth(memo = "输送设备数据详情")
    public R siteDetail(){
        return R.ok();
    }
 
    @PostMapping("/crn/detail")
    @ManagerAuth(memo = "堆垛机设备数据详情")
    public R crnDetail(){
        return R.ok();
    }
 
    @PostMapping("/site/update")
    @ManagerAuth(memo = "输送设备数据修改")
    public R updateSite(){
        return R.ok();
    }
 
    @PostMapping("/crn/update")
    @ManagerAuth(memo = "堆垛机数据修改")
    public R updateCrn(){
        return R.ok();
    }
 
    /****************************************************************/
    /************************** 实时数据 ******************************/
    /****************************************************************/
 
    @PostMapping("/latest/data/site")
    @ManagerAuth(memo = "站点实时数据")
    public R siteLatestData(){
        List<SiteLatestDataVo> vos = new ArrayList<>();
        for (int i = 1; i<=32; i++){
            SiteLatestDataVo vo = new SiteLatestDataVo();
            vo.setSiteId(String.valueOf(i));
            vo.setWorkNo("9998");
            SiteStatusType type = SiteStatusType.values()[new Random().nextInt(SiteStatusType.values().length)];
            vo.setSiteStatus(type);
            vos.add(vo);
        }
        return R.ok().add(vos);
    }
 
    @PostMapping("/latest/data/crn")
    @ManagerAuth(memo = "堆垛机实时数据")
    public R crnLatestData(){
        List<CrnLatestDataVo> vos = new ArrayList<>();
        for (int i =1; i<=2; i++){
            CrnLatestDataVo vo = new CrnLatestDataVo();
            vo.setCrnId(i);
            vo.setOffset((double) new Random().nextInt(560));
            vos.add(vo);
        }
        return R.ok().add(vos);
    }
 
    @PostMapping("/latest/data/barcode")
    @ManagerAuth(memo = "条码扫描仪实时数据")
    public R barcodeLatestData(){
 
        return R.ok();
    }
 
}