#
Junjie
2025-04-22 5cef428c0019b6455e35807a617f648840e9c65d
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/TaskCacheTimer.java
@@ -5,10 +5,13 @@
import com.zy.asrs.framework.exception.CoolException;
import com.zy.asrs.wcs.core.domain.param.CreateWcsTaskParam;
import com.zy.asrs.wcs.core.entity.BasConveyorSta;
import com.zy.asrs.wcs.core.entity.Task;
import com.zy.asrs.wcs.core.entity.TaskCache;
import com.zy.asrs.wcs.core.model.enums.TaskStsType;
import com.zy.asrs.wcs.core.service.BasConveyorStaService;
import com.zy.asrs.wcs.core.service.OpenService;
import com.zy.asrs.wcs.core.service.TaskCacheService;
import com.zy.asrs.wcs.core.service.TaskService;
import com.zy.asrs.wcs.rcs.model.enums.WorkModeType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -24,6 +27,8 @@
public class TaskCacheTimer {
    @Autowired
    private TaskService taskService;
    @Autowired
    private TaskCacheService taskCacheService;
    @Autowired
    private BasConveyorStaService basConveyorStaService;
@@ -38,6 +43,13 @@
                .eq(BasConveyorSta::getSiteNo, 101));
        if (basConveyorSta == null) {
            return;
        }
        int count = taskService.count(new LambdaQueryWrapper<Task>()
                .in(Task::getTaskSts, TaskStsType.NEW_INBOUND.sts, TaskStsType.ANALYZE_INBOUND.sts, TaskStsType.EXECUTE_INBOUND.sts, TaskStsType.COMPLETE_INBOUND.sts
                        , TaskStsType.NEW_OUTBOUND.sts, TaskStsType.ANALYZE_OUTBOUND.sts, TaskStsType.EXECUTE_OUTBOUND.sts, TaskStsType.COMPLETE_OUTBOUND.sts));
        if (count > 0) {
            return;//存在任务正在执行,等待执行完成后再解析队列
        }
        List<TaskCache> taskInCaches = taskCacheService.list(new LambdaQueryWrapper<TaskCache>().eq(TaskCache::getTaskType, 1));//入库缓存
@@ -79,6 +91,12 @@
                    throw new CoolException("缓存删除失败");
                }
            }
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }