Junjie
8 小时以前 f305e5244e059c5e43566412f69b180e2e790026
src/main/java/com/zy/asrs/controller/DualCrnController.java
@@ -5,11 +5,14 @@
import com.core.common.Cools;
import com.core.common.R;
import com.zy.asrs.domain.param.DualCrnCommandParam;
import com.zy.asrs.domain.param.DualCrnUpdateTaskNoParam;
import com.zy.asrs.domain.vo.DualCrnStateTableVo;
import com.zy.asrs.entity.BasDualCrnp;
import com.zy.asrs.service.BasDualCrnpService;
import com.zy.common.utils.RedisUtil;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.Task;
import com.zy.core.model.command.DualCrnCommand;
@@ -31,6 +34,8 @@
    @Autowired
    private BasDualCrnpService basDualCrnpService;
    @Autowired
    private RedisUtil redisUtil;
    @PostMapping("/dualcrn/table/crn/state")
    @ManagerAuth(memo = "双工位堆垛机信息表")
@@ -51,6 +56,8 @@
            }
            vo.setTaskNo(p.getTaskNo());
            vo.setTaskNoTwo(p.getTaskNoTwo());
            vo.setDeviceTaskNo(p.getDeviceTaskNo());
            vo.setDeviceTaskNoTwo(p.getDeviceTaskNoTwo());
            vo.setMode(p.getModeType() == null ? "-" : p.getModeType().desc);
            vo.setStatus(p.getStatusType() == null ? "-" : p.getStatusType().desc);
            vo.setStatusTwo(p.getStatusTypeTwo() == null ? "-" : p.getStatusTypeTwo().desc);
@@ -62,8 +69,10 @@
            vo.setForkOffsetTwo(p.getForkPosTypeTwo() == null ? "-" : p.getForkPosTypeTwo().desc);
            vo.setLiftPos(p.getLiftPosType() == null ? "-" : p.getLiftPosType().desc);
            vo.setWalkPos(p.getWalkPos() != null && p.getWalkPos() == 0 ? "在定位" : "不在定位");
            vo.setTaskReceive(p.getTaskReceive() != null && p.getTaskReceive() == 1 ? "接收" : "无任务");
            vo.setTaskReceiveTwo(p.getTaskReceiveTwo() != null && p.getTaskReceiveTwo() == 1 ? "接收" : "无任务");
            vo.setTaskReceive(String.valueOf(p.getTaskReceive()));
            vo.setTaskReceiveTwo(String.valueOf(p.getTaskReceiveTwo()));
            vo.setTaskSend(String.valueOf(p.getTaskSend()));
            vo.setTaskSendTwo(String.valueOf(p.getTaskSendTwo()));
            vo.setXspeed(String.format("%.2f", p.getXSpeed()));
            vo.setYspeed(String.format("%.2f", p.getYSpeed()));
@@ -175,8 +184,39 @@
        if (crnThread == null) {
            return R.error("线程不存在");
        }
        DualCrnCommand command = crnThread.getResetCommand(crnNo, station);
        DualCrnCommand command = crnThread.getResetCommand(9999, crnNo, station);
        MessageQueue.offer(SlaveType.DualCrn, crnNo, new Task(3, command));
        return R.ok();
    }
    @PostMapping("/dualcrn/command/updateTaskNo")
    @ManagerAuth(memo = "双工位堆垛机编辑任务号")
    public R dualCrnUpdateTaskNo(@RequestBody DualCrnUpdateTaskNoParam param) {
        if (Cools.isEmpty(param) || param.getCrnNo() == null || param.getStation() == null || param.getTaskNo() == null) {
            return R.error("缺少参数");
        }
        Integer station = param.getStation();
        if (station != 1 && station != 2) {
            return R.error("工位参数错误");
        }
        Integer taskNo = param.getTaskNo();
        if (taskNo < 0) {
            return R.error("任务号不能小于0");
        }
        Integer crnNo = param.getCrnNo();
        DualCrnThread crnThread = (DualCrnThread) SlaveConnection.get(SlaveType.DualCrn, crnNo);
        if (crnThread == null) {
            return R.error("线程不存在");
        }
        DualCrnProtocol protocol = crnThread.getStatus();
        if (protocol == null) {
            return R.error("设备状态不存在");
        }
        if (station == 1) {
            redisUtil.set(RedisKeyType.DUAL_CRN_STATION1_FLAG.key + crnNo, taskNo, 60 * 60 * 24);
        } else {
            redisUtil.set(RedisKeyType.DUAL_CRN_STATION2_FLAG.key + crnNo, taskNo, 60 * 60 * 24);
        }
        return R.ok();
    }
}