package com.zy.asrs.task.handler;
|
|
import com.zy.asrs.entity.Task;
|
import com.zy.asrs.entity.WrkMast;
|
import com.zy.asrs.entity.rcs.RcsTaskSubmit;
|
import com.zy.asrs.entity.rcs.RcsTaskTargetRoute;
|
import com.zy.asrs.service.RcsService;
|
import com.zy.asrs.task.AbstractHandler;
|
import com.zy.asrs.task.core.ReturnT;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
@Slf4j
|
@Service
|
@Transactional
|
public class AGVTaskReportHandler extends AbstractHandler<String> {
|
|
@Resource
|
private RcsService rcsService;
|
|
|
public ReturnT<String> start(Task task) {
|
String SourceStaNoType = "SITE";
|
String TargetStaNoType = "SITE";
|
//给agv下发的任务类型,默认站到站
|
//任务类型 4.站到区域
|
if(task.getIoType()==4){
|
TargetStaNoType = "ZONE";
|
|
//任务类型 5.区域到站
|
}else if(task.getIoType()==5){
|
SourceStaNoType = "ZONE";
|
}
|
// 下发给RCS
|
RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit();
|
rcsTaskSubmit.setRobotTaskCode(task.getTaskNo());
|
rcsTaskSubmit.setInitPriority(10); //默认10
|
List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>();
|
RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute();
|
startRoute.setSeq(0);
|
startRoute.setType(SourceStaNoType);
|
startRoute.setCode(task.getSourceStaNo());
|
startRoute.setOperation("COLLECT");
|
targetRouteList.add(startRoute);
|
RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute();
|
endRoute.setSeq(1);
|
endRoute.setType(TargetStaNoType);
|
endRoute.setCode(task.getStaNo());
|
endRoute.setOperation("DELIVERY");
|
targetRouteList.add(endRoute);
|
rcsTaskSubmit.setTargetRoute(targetRouteList);
|
|
// 转发给海康或华晓RCS
|
int success = rcsService.submitTask(rcsTaskSubmit, task.getPltType());
|
if (success == 0){
|
return FAIL;
|
}
|
return SUCCESS;
|
}
|
}
|