package com.algo.model;
|
|
import java.util.Objects;
|
|
/**
|
* 背篓数据模型
|
* 包含背篓的状态信息
|
*/
|
public class BackpackData {
|
|
/**
|
* 背篓编号
|
*/
|
private int index;
|
|
/**
|
* 是否载货
|
*/
|
private boolean loaded;
|
|
/**
|
* 对应的任务编号
|
*/
|
private String taskId;
|
|
private boolean execute;
|
|
// 构造函数
|
public BackpackData() {
|
}
|
|
public BackpackData(int index, boolean loaded, String taskId) {
|
this.index = index;
|
this.loaded = loaded;
|
this.taskId = taskId;
|
}
|
|
// Getter和Setter方法
|
public int getIndex() {
|
return index;
|
}
|
|
public void setIndex(int index) {
|
this.index = index;
|
}
|
|
public boolean isLoaded() {
|
return loaded;
|
}
|
|
public void setLoaded(boolean loaded) {
|
this.loaded = loaded;
|
}
|
|
public String getTaskId() {
|
return taskId;
|
}
|
|
public void setTaskId(String taskId) {
|
this.taskId = taskId;
|
}
|
|
public boolean isExecute() {
|
return execute;
|
}
|
|
public void setExecute(boolean execute) {
|
this.execute = execute;
|
}
|
|
/**
|
* 检查背篓是否可用(未载货且无任务)
|
*
|
* @return true如果背篓可用
|
*/
|
public boolean isAvailable() {
|
return !loaded && (taskId == null || taskId.trim().isEmpty());
|
}
|
|
/**
|
* 分配任务到背篓
|
*
|
* @param taskId 任务ID
|
* @return true如果分配成功
|
*/
|
public boolean assignTask(String taskId) {
|
if (isAvailable()) {
|
this.taskId = taskId;
|
return true;
|
}
|
return false;
|
}
|
|
/**
|
* 清空背篓任务
|
*/
|
public void clearTask() {
|
this.taskId = null;
|
this.loaded = false;
|
}
|
|
@Override
|
public boolean equals(Object o) {
|
if (this == o) return true;
|
if (o == null || getClass() != o.getClass()) return false;
|
BackpackData that = (BackpackData) o;
|
return index == that.index;
|
}
|
|
@Override
|
public int hashCode() {
|
return Objects.hash(index);
|
}
|
|
@Override
|
public String toString() {
|
return "BackpackData{" +
|
"index=" + index +
|
", loaded=" + loaded +
|
", taskId='" + taskId + '\'' +
|
'}';
|
}
|
}
|