#
Junjie
2025-11-13 1b4fbdb92537036aed4d648967ef7e7ab8842aec
src/main/java/com/zy/core/thread/CrnThread.java
@@ -1,51 +1,20 @@
package com.zy.core.thread;
import com.zy.core.Slave;
import com.zy.core.ThreadHandler;
import com.zy.core.cache.MessageQueue;
import com.zy.core.model.Task;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import com.zy.core.model.CommandResponse;
import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.protocol.CrnProtocol;
/**
 * Created by vincent on 2020/8/4
 */
@Slf4j
@Data
public class CrnThread implements Runnable, ThreadHandler {
public interface CrnThread extends ThreadHandler {
    private Slave slave;
    private int distance;
    CrnProtocol getStatus();
    public CrnThread(Slave slave) {
        this.slave = slave;
    }
    CrnCommand getPickAndPutCommand(String sourceLocNo, String targetLocNo, Integer taskNo, Integer crnNo);//取放货
    @Override
    @SuppressWarnings("InfiniteLoopStatement")
    public void run() {
        while (true) {
            try {
                System.out.println("线程"+slave.getId()+"正在运行");
                Task task = MessageQueue.CRN_QUE.poll();
                if (task == null) {
                    System.out.println("无任务");
                } else {
    CrnCommand getMoveCommand(String targetLocNo, Integer taskNo, Integer crnNo);//移动
                    System.out.println("任务"+task.getId());
    CrnCommand getResetCommand(Integer crnNo);//复位
    CommandResponse sendCommand(CrnCommand command);//下发命令
                }
                Thread.sleep(3000);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public void close() {
    }
}