自动化立体仓库 - WCS系统
#
vincent
2020-06-03 4c82a8e7f607ebbb82a8d9c44e5ea08e1c8b0419
src/main/java/com/zy/client/controller/CrnController.java
@@ -1,7 +1,21 @@
package com.zy.client.controller;
import com.core.annotations.ManagerAuth;
import com.core.common.R;
import com.zy.client.domain.enums.CrnStatusType;
import com.zy.client.domain.param.CrnOperatorParam;
import com.zy.client.domain.vo.CommandLogVo;
import com.zy.client.domain.vo.CrnMsgTableVo;
import com.zy.client.domain.vo.CrnStateTableVo;
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.Date;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
/**
 * 堆垛机接口
@@ -11,5 +25,134 @@
@RequestMapping("/crn")
public class CrnController {
    public static AtomicInteger integer = new AtomicInteger();
    @ManagerAuth(memo = "进行中的命令")
    @PostMapping("/command/ongoing")
    public R ongoingCommand(){
        List<CommandLogVo> list = new ArrayList<>();
        for (int i=1;i<=4;i++){
            CommandLogVo vo = new CommandLogVo();
            vo.setCrnNo(String.valueOf(i));
            vo.setStatus(1);
            vo.setCommand(UUID.randomUUID().toString());
            list.add(vo);
        }
        return R.ok().add(list);
    }
    @PostMapping("/table/crn/state")
    @ManagerAuth(memo = "堆垛机信息表")
    public R crnStateTable(){
        List<CrnStateTableVo> list = new ArrayList<>();
        for (int i=1;i<=4;i++){
            CrnStateTableVo vo = new CrnStateTableVo(String.valueOf(i), CrnStatusType.AUTO, "正常", "有物", "99", "3", "中位", "18233", "422", "0", "1204", "关闭", "0");
            if (integer.get()%5 == 0) {
                vo.setWorkNo("0000");
            } else {
                vo.setWorkNo("9998");
            }
            list.add(vo);
        }
        integer.getAndIncrement();
        return R.ok().add(list);
    }
    @PostMapping("/table/crn/msg")
    @ManagerAuth(memo = "堆垛机数据表")
    public R crnMsgTable(){
        List<CrnMsgTableVo> list = new ArrayList<>();
        for (int i=1;i<=4;i++){
            CrnMsgTableVo vo = new CrnMsgTableVo();
            vo.setCrnNo(String.valueOf(i));
            vo.setCommand("28283E23132D23");
            vo.setError("");
            vo.setLocNo("0601812");
            vo.setOrigin("0");
            vo.setSourceLocNo("");
            vo.setSourceStaNo("0");
            vo.setStaNo("2112");
            vo.setStatus("空闲");
            if (integer.get()%5 == 0) {
                vo.setWorkNo("0000");
            } else {
                vo.setWorkNo("9998");
            }
            list.add(vo);
        }
        integer.getAndIncrement();
        return R.ok().add(list);
    }
    @PostMapping("/output/site")
    @ManagerAuth(memo = "堆垛机报文日志输出")
    public R crnOutput(){
        String str = "\n" +new Date().toLocaleString() + "【2020-5-29 13:14:22】扫描plcA 目标站--273283723728327636432343234323422732837237283276364323432343234227328372372832763643234323432342";
        return R.ok().add(str);
    }
    /****************************************************************/
    /************************** 手动操作 ******************************/
    /****************************************************************/
    @ManagerAuth(memo = "入库")
    @PostMapping("/operator/put")
    public R crnPut(CrnOperatorParam param){
        return R.ok("入库成功");
    }
    @ManagerAuth(memo = "出库")
    @PostMapping("/operator/take")
    public R crnTake(CrnOperatorParam param){
        return R.ok("出库成功");
    }
    @ManagerAuth(memo = "库位转移")
    @PostMapping("/operator/stockMove")
    public R crnStockMove(CrnOperatorParam param){
        return R.ok("库位转移成功");
    }
    @ManagerAuth(memo = "站到站")
    @PostMapping("/operator/siteMove")
    public R crnSiteMove(CrnOperatorParam param){
        return R.ok("站到站成功");
    }
    @ManagerAuth(memo = "坐标移动")
    @PostMapping("/operator/coorMove")
    public R crnCoorMove(CrnOperatorParam param){
        return R.ok("坐标移动成功");
    }
    @ManagerAuth(memo = "回原点")
    @PostMapping("/operator/bacOrigin")
    public R crnBacOrigin(CrnOperatorParam param){
        return R.ok("回原点成功");
    }
    @ManagerAuth(memo = "任务完成")
    @PostMapping("/operator/taskComplete")
    public R crnTaskComplete(CrnOperatorParam param){
        return R.ok("任务完成");
    }
    @ManagerAuth(memo = "暂停")
    @PostMapping("/operator/pause")
    public R crnPause(CrnOperatorParam param){
        return R.ok("暂停成功");
    }
    @ManagerAuth(memo = "启动")
    @PostMapping("/operator/boot")
    public R crnBoot(CrnOperatorParam param){
        return R.ok("启动成功");
    }
    @ManagerAuth(memo = "清除命令")
    @PostMapping("/operator/clearCommand")
    public R crnClearCommand(CrnOperatorParam param){
        return R.ok("清除命令成功");
    }
}