#
Junjie
41 分钟以前 02102ac00315201ab957b135eeaa0b6c1045c314
src/main/java/com/zy/asrs/controller/ShuttleController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -10,8 +11,10 @@
import com.zy.asrs.domain.param.ShuttleOperatorParam;
import com.zy.asrs.domain.vo.*;
import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.DeviceConfig;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.DeviceConfigService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.Utils;
@@ -51,8 +54,6 @@
public class ShuttleController {
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
    private BasShuttleService basShuttleService;
    @Autowired
    private WrkMastService wrkMastService;
@@ -70,18 +71,23 @@
    private ShuttleAction shuttleAction;
    @Autowired
    private NavigateMapUtils navigateMapUtils;
    @Autowired
    private DeviceConfigService deviceConfigService;
    @PostMapping("/table/shuttle/state")
    @ManagerAuth(memo = "四向穿梭车信息表")
    public R shuttleStateTable(){
        ArrayList<JSONObject> list = new ArrayList<>();
        for (ShuttleSlave slave : slaveProperties.getShuttle()) {
        List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
                .eq("device_type", String.valueOf(SlaveType.Shuttle)));
        for (DeviceConfig deviceConfig : shuttleList) {
            // 表格行
            JSONObject baseObj = new JSONObject();
            baseObj.put("shuttleNo", slave.getId());
            baseObj.put("shuttleNo", deviceConfig.getDeviceNo());
            list.add(baseObj);
            // 获取四向穿梭车信息
            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, deviceConfig.getDeviceNo());
            if (shuttleThread == null) {
                continue;
            }
@@ -104,7 +110,7 @@
                }
            }
            Integer chargeLine = basShuttleService.selectById(slave.getId()).getChargeLine();
            Integer chargeLine = basShuttleService.selectById(deviceConfig.getDeviceNo()).getChargeLine();
            String lowerPower = "N";
            if (chargeLine != null && shuttleProtocol.getBatteryPower() != null) {
                lowerPower = Integer.parseInt(shuttleProtocol.getBatteryPower()) <= chargeLine ? "Y" : "N";
@@ -119,13 +125,16 @@
    @ManagerAuth(memo = "四向穿梭车数据表")
    public R steMsgTable(){
        List<ShuttleMsgTableVo> list = new ArrayList<>();
        for (ShuttleSlave slave : slaveProperties.getShuttle()) {
        List<DeviceConfig> shuttleList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
                .eq("device_type", String.valueOf(SlaveType.Shuttle)));
        for (DeviceConfig deviceConfig : shuttleList) {
            // 表格行
            ShuttleMsgTableVo vo = new ShuttleMsgTableVo();
            vo.setShuttleNo(slave.getId());   //  四向穿梭车号
            vo.setShuttleNo(deviceConfig.getDeviceNo());   //  四向穿梭车号
            list.add(vo);
            // 获取穿梭车信息
            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, deviceConfig.getDeviceNo());
            if (shuttleThread == null) {
                continue;
            }
@@ -152,7 +161,7 @@
            vo.setLocNo(shuttleProtocol.getLocNo());//四向穿梭车当前库位号
            vo.setLev(shuttleProtocol.getLocNo() == null ? 0 : Utils.getLev(shuttleProtocol.getLocNo()));//四向穿梭车当前层高
            BasShuttle basShuttle = basShuttleService.selectById(slave.getId());
            BasShuttle basShuttle = basShuttleService.selectById(deviceConfig.getDeviceNo());
            if (basShuttle != null) {
                vo.setChargeLine(basShuttle.getChargeLine());//充电阈值
            }
@@ -329,17 +338,13 @@
            //托盘下降
            List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleLiftCommand(assignCommand, shuttleThread, false);
            assignCommand.setCommands(commands);
        } else if (shuttleTaskModeType == ShuttleTaskModeType.CHARGE) {
            //充电开关
            boolean charge = false;
            if (shuttleProtocol.getHasCharge()) {
                //已充电,关闭充电
                charge = false;
            }else {
                //开启充电
                charge = true;
            }
            List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, charge);
        } else if (shuttleTaskModeType == ShuttleTaskModeType.CHARGE_ON) {
            //充电开
            List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, true);
            assignCommand.setCommands(commands);
        } else if (shuttleTaskModeType == ShuttleTaskModeType.CHARGE_OFF) {
            //充电关
            List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, false);
            assignCommand.setCommands(commands);
        } else if (shuttleTaskModeType == ShuttleTaskModeType.RESET) {
            //复位
@@ -351,7 +356,7 @@
            return R.ok();
        } else if (shuttleTaskModeType == ShuttleTaskModeType.MOVE_LOC_NO_TASK) {
            //移动到目标库位(生成移动任务)
            shuttleDispatchUtils.dispatchShuttle(commonService.getWorkNo(3), param.getDistLocNo(), param.getShuttleNo());
            shuttleDispatchUtils.dispatchShuttle(commonService.getWorkNo(WrkIoType.LOC_MOVE.id), param.getDistLocNo(), param.getShuttleNo());
            return R.ok();
        } else if (shuttleTaskModeType == ShuttleTaskModeType.SHUTTLE_DEMO_OPEN) {
            //演示模式-开