#
Junjie
2025-05-28 298ccf07fc34186c690d5cee51d1c66f55e9263f
src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -7,17 +7,26 @@
import com.core.common.R;
import com.zy.asrs.domain.param.SystemSwitchParam;
import com.zy.asrs.entity.BasMap;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasMapService;
import com.zy.asrs.service.WrkMastService;
import com.zy.common.model.MapNode;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.utils.NavigateMapData;
import com.zy.common.utils.RedisUtil;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.ForkLiftSlave;
import com.zy.core.model.ShuttleSlave;
import com.zy.core.model.protocol.ForkLiftProtocol;
import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.ForkLiftThread;
import com.zy.core.thread.ShuttleThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@@ -33,15 +42,15 @@
public class ConsoleController {
    @Autowired
    private SlaveProperties slaveProperties;
    @Autowired
    private BasMapService basMapService;
    @Autowired
    private RedisUtil redisUtil;
    @Value("${super.pwd}")
    private String superPwd;
    @Autowired
    private NavigateMapData navigateMapData;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private SlaveProperties slaveProperties;
    @PostMapping("/system/running/status")
    @ManagerAuth(memo = "系统运行状态")
@@ -122,4 +131,48 @@
        return R.ok();
    }
    /**
     * 任务检测
     */
    @GetMapping("/checkTask")
    @ManagerAuth(memo = "任务检测")
    public R checkTask() {
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<>());
        if (!wrkMasts.isEmpty()) {
            return R.error("存在未结束任务");
        }
        for (ShuttleSlave slave : slaveProperties.getShuttle()) {
            ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, slave.getId());
            if (shuttleThread == null) {
                continue;
            }
            ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
            if (shuttleProtocol == null) {
                continue;
            }
            if (shuttleProtocol.getTaskNo() > 0) {
                return R.error(slave.getId() + "号小车存在工作号");
            }
        }
        for (ForkLiftSlave slave : slaveProperties.getForkLift()) {
            ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, slave.getId());
            if (forkLiftThread == null) {
                continue;
            }
            ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
            if (forkLiftProtocol == null) {
                continue;
            }
            if (forkLiftProtocol.getTaskNo() > 0) {
                return R.error(slave.getId() + "号货叉提升机存在工作号");
            }
        }
        return R.ok();
    }
}