#
Administrator
2026-04-25 83d4b701a5df0db075d895bf59bdd66b4e1e321d
src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -66,6 +66,20 @@
    }
    public void submitStationEnableInTasks(MainProcessLane lane, long minIntervalMs) {
        mainProcessTaskSubmitter.submitSerialTask(
                MainProcessLane.STATION_SCAN,
                "submitStationEnableInTasks",
                minIntervalMs,
                new Runnable() {
                    @Override
                    public void run() {
                        submitStationEnableInTasksInternal(lane, minIntervalMs);
                    }
                }
        );
    }
    private void submitStationEnableInTasksInternal(MainProcessLane lane, long minIntervalMs) {
        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>());
        for (final BasDevp basDevp : basDevps) {
            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
@@ -141,6 +155,20 @@
    }
    public void submitDualCrnStationOutTasks(MainProcessLane lane, long minIntervalMs) {
        mainProcessTaskSubmitter.submitSerialTask(
                MainProcessLane.STATION_SCAN,
                "submitDualCrnStationOutTasks",
                minIntervalMs,
                new Runnable() {
                    @Override
                    public void run() {
                        submitDualCrnStationOutTasksInternal(lane, minIntervalMs);
                    }
                }
        );
    }
    private void submitDualCrnStationOutTasksInternal(MainProcessLane lane, long minIntervalMs) {
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                .eq("wrk_sts", WrkStsType.OUTBOUND_RUN_COMPLETE.sts)
                .isNotNull("dual_crn_no")
@@ -170,6 +198,20 @@
    }
    public void submitStationOutExecuteFinishTasks(MainProcessLane lane, long minIntervalMs) {
        mainProcessTaskSubmitter.submitSerialTask(
                MainProcessLane.STATION_SCAN,
                "submitStationOutExecuteFinishTasks",
                minIntervalMs,
                new Runnable() {
                    @Override
                    public void run() {
                        submitStationOutExecuteFinishTasksInternal(lane, minIntervalMs);
                    }
                }
        );
    }
    private void submitStationOutExecuteFinishTasksInternal(MainProcessLane lane, long minIntervalMs) {
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN.sts));
        for (final WrkMast wrkMast : wrkMasts) {
            Integer laneKey = wrkMast == null ? null : wrkMast.getStaNo();
@@ -196,6 +238,20 @@
    }
    public void submitCheckTaskToCompleteTasks(MainProcessLane lane, long minIntervalMs) {
        mainProcessTaskSubmitter.submitSerialTask(
                MainProcessLane.STATION_SCAN,
                "submitCheckTaskToCompleteTasks",
                minIntervalMs,
                new Runnable() {
                    @Override
                    public void run() {
                        submitCheckTaskToCompleteTasksInternal(lane, minIntervalMs);
                    }
                }
        );
    }
    private void submitCheckTaskToCompleteTasksInternal(MainProcessLane lane, long minIntervalMs) {
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN_COMPLETE.sts));
        for (final WrkMast wrkMast : wrkMasts) {
            Integer laneKey = wrkMast == null ? null : wrkMast.getStaNo();
@@ -222,6 +278,20 @@
    }
    public void submitCheckStationRunBlockTasks(MainProcessLane lane, long minIntervalMs) {
        mainProcessTaskSubmitter.submitSerialTask(
                MainProcessLane.STATION_SCAN,
                "submitCheckStationRunBlockTasks",
                minIntervalMs,
                new Runnable() {
                    @Override
                    public void run() {
                        submitCheckStationRunBlockTasksInternal(lane, minIntervalMs);
                    }
                }
        );
    }
    private void submitCheckStationRunBlockTasksInternal(MainProcessLane lane, long minIntervalMs) {
        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>());
        for (final BasDevp basDevp : basDevps) {
            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
@@ -257,7 +327,7 @@
    }
    //执行输送站点入库任务
    public synchronized void stationInExecute() {
    public void stationInExecute() {
        try {
            DispatchLimitConfig limitConfig = getDispatchLimitConfig();
            int[] currentStationTaskCountRef = new int[]{countCurrentStationTask()};
@@ -436,7 +506,7 @@
    }
    //执行堆垛机输送站点出库任务
    public synchronized void crnStationOutExecute() {
    public void crnStationOutExecute() {
        try {
            DispatchLimitConfig limitConfig = getDispatchLimitConfig();
            int[] currentStationTaskCountRef = new int[]{countCurrentStationTask()};
@@ -556,7 +626,7 @@
    }
    //执行双工位堆垛机输送站点出库任务
    public synchronized void dualCrnStationOutExecute() {
    public void dualCrnStationOutExecute() {
        try {
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                    .eq("wrk_sts", WrkStsType.OUTBOUND_RUN_COMPLETE.sts)
@@ -630,7 +700,7 @@
    }
    //检测输送站点出库任务执行完成
    public synchronized void stationOutExecuteFinish() {
    public void stationOutExecuteFinish() {
        try {
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN.sts));
            for (WrkMast wrkMast : wrkMasts) {
@@ -683,7 +753,7 @@
    }
    // 检测任务转完成
    public synchronized void checkTaskToComplete() {
    public void checkTaskToComplete() {
        try {
            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN_COMPLETE.sts));
            for (WrkMast wrkMast : wrkMasts) {
@@ -739,7 +809,7 @@
    }
    //检测输送站点是否运行堵塞
    public synchronized void checkStationRunBlock() {
    public void checkStationRunBlock() {
        try {
            List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
            for (BasDevp basDevp : basDevps) {
@@ -1017,12 +1087,12 @@
    }
    //获取输送线任务数量
    public synchronized int getCurrentStationTaskCount() {
    public int getCurrentStationTaskCount() {
        return countCurrentStationTask();
    }
    // 检测出库排序
    public synchronized void checkStationOutOrder() {
    public void checkStationOutOrder() {
        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>());
        for (BasDevp basDevp : basDevps) {
            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getId());
@@ -1142,7 +1212,7 @@
    }
    // 监控绕圈站点
    public synchronized void watchCircleStation() {
    public void watchCircleStation() {
        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>());
        for (BasDevp basDevp : basDevps) {
            StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getId());