AGV任务执行通知请求接口
This commit is contained in:
@@ -7,6 +7,7 @@ import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.ruoyi.common.Constant;
|
||||
import com.ruoyi.common.TaskStatusCode;
|
||||
import com.ruoyi.common.TaskType;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.uuid.UUID;
|
||||
import com.ruoyi.device.agv.domain.ResponseBase;
|
||||
@@ -64,33 +65,67 @@ public class Execution {
|
||||
//无【待执行】任务
|
||||
if (tasks.size() == 0) return;
|
||||
|
||||
//请求agv/ctu下发指令
|
||||
GenAgvSchedulingTaskRequest request = new GenAgvSchedulingTaskRequest();
|
||||
|
||||
for (int i = 0; i < tasks.size(); i++) {
|
||||
|
||||
//请求agv/ctu下发指令
|
||||
GenAgvSchedulingTaskRequest request = new GenAgvSchedulingTaskRequest();
|
||||
request.setReqCode(UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
//入库类型
|
||||
//判断任务类型
|
||||
switch (tasks.get(i).getTaskType()) {
|
||||
case "1":
|
||||
request.setTaskTyp("F12");
|
||||
case TaskType.CONV_STOCKIN:
|
||||
//todo 是否要处理输送线取货工位有多个料箱的情况
|
||||
//todo 是否要处理输送线取货工位有多个料箱的情况
|
||||
|
||||
|
||||
request.setReqCode(UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
//设备执行任务内置任务类型初始化
|
||||
switch (tasks.get(i).getTaskType()) {
|
||||
case "1":
|
||||
request.setTaskTyp("F12");
|
||||
break;
|
||||
case "2":
|
||||
request.setTaskTyp("F11");
|
||||
break;
|
||||
default:
|
||||
log.warn("【向设备下发任务请求】TaskTyp:{},生成任务的请求参数错误,异常的任务类型!", request.getTaskTyp());
|
||||
return;
|
||||
}
|
||||
|
||||
//todo 了解CTU货架与工作台输送过程中是否需要另外下发取放料箱的任务
|
||||
//todo 了解CTU货架与工作台输送过程中是否需要另外下发取放料箱的任务
|
||||
|
||||
//添加路径(未测试)
|
||||
//todo 了解AGV/CTU路径的格式/规则
|
||||
//todo 了解AGV/CTU路径的格式/规则
|
||||
List<PositionCodeData> path = new ArrayList<>();
|
||||
path.add(new PositionCodeData(tasks.get(i).getSourceLocation(),"05"));
|
||||
path.add(new PositionCodeData(tasks.get(i).getTargetLocation(),"05"));
|
||||
request.setPositionCodePath(path);
|
||||
|
||||
//wcs任务号---设备任务编号
|
||||
request.setTaskCode(tasks.get(i).getTaskId());
|
||||
|
||||
|
||||
//todo 上层平台是否有【校验料箱是否可入库】接口可用
|
||||
//todo 上层平台是否有【校验料箱是否可入库】接口可用
|
||||
|
||||
|
||||
//todo 是否需要单独请求取放料箱接口
|
||||
//todo 是否需要单独请求取放料箱接口
|
||||
|
||||
break;
|
||||
case "2":
|
||||
request.setTaskTyp("F11");
|
||||
case TaskType.CONV_STOCKOUT_SINGLE_GROUP:
|
||||
|
||||
break;
|
||||
case TaskType.CONV_STOCKOUT_SEQUENCE:
|
||||
|
||||
break;
|
||||
case TaskType.AGV_MOVE:
|
||||
|
||||
break;
|
||||
default:
|
||||
log.warn("【向设备下发任务请求】TaskTyp:{},生成任务的请求参数错误,异常的任务类型!", request.getTaskTyp());
|
||||
return;
|
||||
}
|
||||
|
||||
//添加路径(未测试)
|
||||
List<PositionCodeData> path = new ArrayList<>();
|
||||
path.add(new PositionCodeData(tasks.get(i).getSourceLocation(),"05"));
|
||||
path.add(new PositionCodeData(tasks.get(i).getTargetLocation(),"05"));
|
||||
request.setPositionCodePath(path);
|
||||
|
||||
//wcs任务号---设备任务编号
|
||||
request.setTaskCode(tasks.get(i).getTaskId());
|
||||
|
||||
//下发成功---更新【任务状态】为下发成功
|
||||
if (sendCommand(request)){
|
||||
|
||||
@@ -13,7 +13,6 @@ import com.ruoyi.schedule.task.domain.WcsTask;
|
||||
import com.ruoyi.schedule.task.mapper.WcsTaskMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@@ -34,8 +34,8 @@ public class Timer {
|
||||
execution.executeTask();
|
||||
Thread.sleep(200);
|
||||
|
||||
statusUpdate.statusUpdate();
|
||||
Thread.sleep(200);
|
||||
//statusUpdate.statusUpdate();
|
||||
//Thread.sleep(200);
|
||||
|
||||
taskFinish.taskFinish();
|
||||
Thread.sleep(200);
|
||||
|
||||
Reference in New Issue
Block a user