Junjie
2023-03-27 eb5eb35a7ef56a01a4c788a8c2efef9fc7b823e7
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -6,13 +6,9 @@
import com.core.common.Cools;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.CrnStatusType;
import com.zy.asrs.domain.param.ShuttleOperatorParam;
import com.zy.asrs.domain.param.SteModeParam;
import com.zy.asrs.domain.param.SteOperatorParam;
import com.zy.asrs.domain.vo.*;
import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.BasSte;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.WrkMastService;
@@ -21,16 +17,12 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.*;
import com.zy.core.model.ShuttleSlave;
import com.zy.core.model.SteSlave;
import com.zy.core.model.Task;
import com.zy.core.model.command.ShuttleAssignCommand;
import com.zy.core.model.command.ShuttleCommand;
import com.zy.core.model.command.SteCommand;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.model.protocol.SteProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.ShuttleThread;
import com.zy.core.thread.SteThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -38,6 +30,7 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
/**
 * 四向穿梭车接口
@@ -77,9 +70,6 @@
            if (!Cools.isEmpty(shuttleProtocol.getBusyStatus())) {
                vo.setStatus(shuttleProtocol.getBusyStatusType().desc); //  状态
            }
            vo.setRow(shuttleProtocol.getRow());
            vo.setBay(shuttleProtocol.getBay());
            vo.setLev(shuttleProtocol.getLev());
            vo.setBatteryPower(shuttleProtocol.getBatteryPower() + "%");
            vo.setSpeed(shuttleProtocol.getCurrentMoveServoSpeed());
            if (!Cools.isEmpty(shuttleProtocol.getErrorCode())) {
@@ -124,9 +114,15 @@
                }
            }
            vo.setSpeed(shuttleProtocol.getCurrentMoveServoSpeed());  // 速度
            vo.setPakMk(shuttleProtocol.getPakMk());    // 作业标记
            vo.setPakMk(shuttleProtocol.getPakMk().toString());    // 作业标记
        }
        return R.ok().add(list);
    }
    @PostMapping("/latest/data/shuttle")
    @ManagerAuth(memo = "四向穿梭车实时数据")
    public R shuttleLatestData(){
        return R.ok();
    }
    @PostMapping("/output/shuttle")
@@ -226,7 +222,7 @@
//            }
//        }
        ShuttleCommand shuttleCommand = new ShuttleCommand();
        shuttleCommand.setTaskNo(vo.getWorkNo());
        shuttleCommand.setTaskNo(vo.getWorkNo().shortValue());
        if (MessageQueue.offer(SlaveType.Shuttle, vo.getShuttleNo(), new Task(2, shuttleCommand))) {
        } else {
            throw new CoolException("命令下发失败");
@@ -265,23 +261,16 @@
                if (shuttleProtocol == null) {
                    throw new CoolException("四向穿梭车不在线");
                }
                ShuttleTaskModeType shuttleTaskModeType = ShuttleTaskModeType.get(param.getShuttleTaskMode());
                ShuttleCommand shuttleCommand = new ShuttleCommand();
                shuttleCommand.setShuttleNo(shuttleSlave.getId()); // 四向穿梭车编号
//                if (param.getShuttleTaskMode() == 16) {
//                    steCommand.setComplete(true);
//                } else if (param.getSteTaskMode() == 99) {
//                    steCommand.setControlMode((short) 1);
//                } else if (param.getSteTaskMode() == 100) {
//                    steCommand.setControlMode((short) 0);
//                } else {
//                    if (steTaskModeType == null) {
//                        throw new CoolException("任务类型错误");
//                    }
//                    steCommand.setTaskNo(param.getTaskNo()); // 工作号
//                    steCommand.setTaskMode(steTaskModeType);
//                }
                if (MessageQueue.offer(SlaveType.Shuttle, shuttleSlave.getId(), new Task(2, shuttleCommand))) {
                ShuttleAssignCommand command = new ShuttleAssignCommand();
                command.setShuttleNo(shuttleSlave.getId().shortValue()); // 四向穿梭车编号
                command.setTaskMode(shuttleTaskModeType.id.shortValue());
                command.setSourceLocNo(param.getSourceLocNo());
                command.setDistLocNo(param.getDistLocNo());
                command.setTaskNo((short) 9999);
                if (MessageQueue.offer(SlaveType.Shuttle, shuttleSlave.getId(), new Task(3, command))) {
                    return R.ok();
                } else {
                    throw new CoolException("命令下发失败");